Subject: Linux-Development Digest #938
From: Digestifier <Linux-Development-Request@senator-bedfellow.MIT.EDU>
To: Linux-Development@senator-bedfellow.MIT.EDU
Reply-To: Linux-Development@senator-bedfellow.MIT.EDU
Date:     Sat, 23 Jul 94 03:13:10 EDT

Linux-Development Digest #938, Volume #1         Sat, 23 Jul 94 03:13:10 EDT

Contents:
  Re: Project: Wine or SCSI-PCI (Drew Eckhardt)
  Re: buffer cache or isofs bug? (Eberhard Moenkeberg)
  Re: QMAGIC is nice, but impure ZMAGIC is smaller (Eric Youngdale)
  drivers for Iomega/Bernoulli PC2/PC2B adapter (Siddhartha Mukherjee)
  Testing Simms in Linux? (Bill Broadley)
  Quotas and Accounting in Kernel? (Lee J. Silverman)
  Re: link() system call (Michael Edward Chastain)
  Mitsumi CDROM off of ProAudioSpectrum (Armin Kittel)
  Friendly PCMCIA Card Manufacturer: I/O Magic (Barak Pearlmutter)
  Re: GOTO haters ..Re: Linux Performance En (Bill C. Riemers)
  Re: GOTO haters ..Re: Linux Performance Enhance ? (Hanks Bryan)
  Re: New Linux kernels won't boot (Sam Oscar Lantinga)
  1.1.34 won't compile (Slackware 1.1.1) (Vince Skahan)

----------------------------------------------------------------------------

From: drew@kinglear.cs.colorado.edu (Drew Eckhardt)
Subject: Re: Project: Wine or SCSI-PCI
Date: 23 Jul 1994 00:51:44 GMT

In article <CtAn0y.AtM@discus.technion.ac.il>,
Michael Veksler <s1678223@techst02.technion.ac.il> wrote:
>I am going to do a project under Linux for my B.Sc. degree.
>I am thinking of two options:
>
>  1. Write SCSI-PCI driver for Linux
>  2. Enhance "Wine" (windows emulator).
>
>I was thinking of investing 100-200 hours.
>What will be my best choice ?
>What is more interesting ?

These are questions you'll have to answer for yourself.  

>What is more urgent to the Linux community ?

It depends on who you refer to as the Linux community.  Some of the 
Unix users couldn't care less if Microsoft Windows applications ran under 
Linux or not.

For Linux users migrating over from Windows+DOS, Linux being able 
to run their windows applications would be a big plus.

For Linux users with a PCI SCSI controller that's not supported,
it's completely irrelevant how well WINE, XFree86, or any other 
Linux applications work since they can't run them.

>Is there a SCSI-PCI driver being written these days?

Yes.  The NCR53c810 driver is currently in ALPHA testing, an
interim AIC-7770 driver is available (supposedly, the 7870
PCI equivalent is very close and would work with minor 
modifications), and the Buslogic BT-946 works on most systems.


>Any suggestions will be appreciated.

You might want to consider other projects.  We've got drivers for 
virtually all of the PCI SCSI controllers in various degrees of 
development, and you might fine WINE somewhat nasty since 
you have to implement undocumented interfaces.

Various projects that would interest me if I had time would be 
- Seeing why we can't seem to get over 70% of head rate on 
    reads through an ext2 filesystem on SCSI disks (although
    writes of 100% are possible)

- Implementing stackable filesystems (Aka BSD4.4)

- Implementing RAID-5 in software

- Implementing SMP support

etc.


-- 
Drew Eckhardt drew@Colorado.EDU
1970 Landcruiser FJ40 w/350 Chevy power
1982 Yamaha XV920J Virago

------------------------------

From: emoenke@gwdu03.gwdg.de (Eberhard Moenkeberg)
Subject: Re: buffer cache or isofs bug?
Date: Fri, 22 Jul 1994 20:30:08 GMT

Eberhard Moenkeberg (emoenke@gwdu03.gwdg.de) wrote:
: Eberhard Moenkeberg (emoenke@gwdu03.gwdg.de) wrote:

: : mount -t iso9660 /dev/sbpcd2 /CD1
: Sorry - since 1.1.33, you must not omit the "ro" option (crazy!), so read:
:   mount -t iso9660 -o ro /dev/sbpcd2 /CD1

To be more exact,

:   mount -t iso9660 -o ro,block=2048 /dev/sbpcd2 /CD1

leads to my errors, and with the default "block=1024" everything runs fine.

Cheers, -e-
-- 
Eberhard Moenkeberg                                GGG   W   W  DDDD    GGG
                                                  G      W   W  D   D  G
E-Mail:   emoenke@gwdg.de                         G GGG  W   W  D   D  G GGG
Phone: +49 551 201551  Fax: +49 551 21119         G   G  W W W  D   D  G   G
Mail:                                              GGG   WW WW  DDDD    GGG
Ges. fuer wissenschaftliche Datenverarbeitung mbH
Am Fassberg
D-37077 Goettingen           GERMANY
Private Email: Eberhard_Moenkeberg@rollo.central.de (FIDO: 2:2437/210.27)


------------------------------

From: ericy@cais.cais.com (Eric Youngdale)
Subject: Re: QMAGIC is nice, but impure ZMAGIC is smaller
Date: 22 Jul 1994 22:17:10 GMT

In article <u7y22ab.774891547@sun4>,
Wolfram Gloger <u7y22ab@sun4.lrz-muenchen.de> wrote:
>Hi,
>
>In a recent note on the kernel channel, Eric Youngdale has announced
>that a future version of binutils will only support QMAGIC binaries.
>While I am very happy with this type of format for demand paged
>executables, so far I haven't been able to generate an impure QMAGIC
>binary, i.e. combine the -qmagic and -N linker switches.  I always
>seemed to end up with a ZMAGIC impure executable.  These are really
>small and IMHO useful e.g. for root disks (where every byte counts)
>
>Am I missing something ?

        Yes.  There is no such thing as impure ZMAGIC.  The format is 
called NMAGIC as I recall.  Just as there is no such thing as impure 
ZMAGIC, there is no such thing as impure QMAGIC.  In principle you could 
invent an impure format which loads at 0x1000, but nobody really cares 
enough to take the effort.



-- 
"The woods are lovely, dark and deep.  But I have promises to keep,
And lines to code before I sleep, And lines to code before I sleep."

------------------------------

Crossposted-To: comp.os.linux.misc,comp.os.linux.help
From: sidd@pacific.mps.ohio-state.edu (Siddhartha Mukherjee)
Subject: drivers for Iomega/Bernoulli PC2/PC2B adapter
Date: Fri, 22 Jul 1994 23:35:36 GMT

Hi,

Somebody posted the location of a patch to the kernel to include
support for Iomega's PC2/PC2B adapter boards for Bernoulli drives--
Could someone who retains the ftp site address email me with it ?

Thanx,

sidd@ohstpy.mps.ohio-state.edu



------------------------------

From: broadley@neurocog.lrdc.pitt.edu (Bill Broadley)
Subject: Testing Simms in Linux?
Date: 22 Jul 1994 23:49:42 GMT

I've recently purchased 32 MB ram for use in a linux box.  I'd like
to test it upon receipt.  Ideally I could tell linux to ignore the
new memory and access it directly, similiar to how XFree86 can linearly
map video ram in high memory.  This way I know exactly what addresses to
use and don't have to worry about vritual memory, buffer caches etc.
Anyone done something like this?

Ideally I'd modify the kernel plug the 32 MB into an 8 MB system
telling the kernel to not use the 32 MB.  Then directly access the
memory first writing a random sequence, then reading it to
verify, then write a random sequence in a random order and read the
result etc.

Any ideas on how to get linux to ignore the 32 MB ram?  How to
access it afterwards?

P.S. Yes I know there are ms-dos ram testers.  I suspect they
won't handle 32 MB's well, and I don't want to run dos anyways.

--
Bill                    Broadley@neurocog.lrdc.pitt.edu 
Linux is great.         Bike to live, live to bike.                      PGP-ok

------------------------------

From: lee@netspace.students.brown.edu (Lee J. Silverman)
Subject: Quotas and Accounting in Kernel?
Date: 23 Jul 1994 02:07:05 GMT


        Just a quickie: why is it that the code for quotas and
accounting can't be made a standard part of the Kernel, with an option
in the Makefile to turn it on or off?  This would be much nicer that
creating a patch against some kernel version of Linux, only to have to
apply several more patches to get to the current level, and dealing
with rejects because of the quota patches.  

        Any comments?


--
Lee Silverman, Brown class of '94, Brown GeoPhysics ScM '95
Email to: Lee_Silverman@brown.edu
Phish-Net Archivist: phish-archives@phish.net
"Nonsense - you only say it's impossible because nobody's ever done it."

------------------------------

From: mec@shell.portal.com (Michael Edward Chastain)
Subject: Re: link() system call
Date: 22 Jul 1994 20:24:15 GMT

In article <1994Jul21.114313.5383@kf8nh.wariat.org>,
Brandon S. Allbery <bsa@kf8nh.wariat.org> wrote:
> The reason is quite simple:  it's a lot easier to verify the structure of a
> tree than a dag.

(BTW 'dag' is not correct, a file system with links to directories can
 have cycles in it.)

I agree.  A long time ago I read an article (I think written by Dennis
Ritchie), saying that some very old (pre-V7) Unix allowed links to
directories, but use of this feature lead to unmanageable chaos.  I am
reminded of this whenever I see a sloppy NFS configuration.  :(

ObLinux: I'm running Slackware 2.0 and there is a loopback symbolic
link in /etc: '/etc/inet' -> '.'.  Argh!

Michael Chastain
mec@shell.portal.com

------------------------------

From: awk0@newshost.gte.com (Armin Kittel)
Subject: Mitsumi CDROM off of ProAudioSpectrum
Date: 20 Jul 1994 20:48:26 GMT

I have a 486 machine with a standard Multimedia Pack installed.
This has a Mitsumi CD ROM drive hanging of the ProAudioSpectrum
card. I had to change the BASE_ADDR and INTR_NR in the device driver
for Linux to properly find the drive.

I would like to share this information with the community / developers,
but am not quite sure what the proper channel is.

Anyway, here are my changes to mcd.h.

Regards,
Armin

=============================================================================
/*
 * Definitions for a Mitsumi CD-ROM interface
 *
 *      Copyright (C) 1992  Martin Harriss
 *
 *      martin@bdsi.com
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */
 
#define AUDIOSPECTRUM
 
/* *** change this to set the I/O port address */
#ifdef AUDIOSPECTRUM
#define MCD_BASE_ADDR           0x340
#else
#define MCD_BASE_ADDR           0x300
#endif
 
/* *** change this to set the interrupt number */
#ifdef AUDIOSPECTRUM
#define MCD_INTR_NR             5
#else
#define MCD_INTR_NR             11
#endif

-- 
____________________________________________________________________
Armin W. Kittel                                 awk0@bunny.gte.com
GTE Laboratories M/S 40                         phone: (617)466-4232
40 Sylvan Road                                  fax:   (617)890-9320
Waltham, MA 02254

------------------------------

From: bap@gull.scr.siemens.com (Barak Pearlmutter)
Subject: Friendly PCMCIA Card Manufacturer: I/O Magic
Reply-To: Barak Pearlmutter <bap@learning.scr.siemens.com>
Date: Fri, 22 Jul 1994 05:30:51 GMT

I have just had some very positive contacts with I/O Magic, a PCMCIA
card company, so I thought I might bring it to the attention of the
linux development community.

We are in the market for a PCMCIA video frame grabber card.  Our big
concern, aside from specs, was getting adequate docs.

I/O Magic is starting to ship a suitable card, and we got in touch
with them.  To date, all of our contacts with I/O Magic have been most
positive.  They are bringing out SCSI, video capture, ethernet, fax
modem, and sound PCMCIA cards.  They seem quite willing to send docs
for everything, and are happy about the prospect of having people
write software of all sorts for their hardware.  Including linux
drivers.  We discussed in particular their video capture and their
SCSI (NCR chipset) cards.

To my knowledge, I/O Magic is the only PCMCIA SCSI card manufacturer
that is happy to document.

I/O Magic can be reached at 714 727-7466 (voice) and -7467 (fax).

------------------------------

From: bcr@k9.via.term.none (Bill C. Riemers)
Subject: Re: GOTO haters ..Re: Linux Performance En
Date: 23 Jul 94 00:19:18 GMT
Reply-To: bcr@physics.purdue.edu

In article <30n92c$8kc@picasso.cssc-syd.tansu.com.au> chrisb@tansu.com.au (Chris Bitmead) writes:

 
   In article 94Jul21100358@k9.via.term.none,  bcr@k9.via.term.none (Bill C. Riemers) writes:
   >> Not that I hate goto's, but in general I would consider both of these
   >> examples bad programming?  Why?  Because a goto loop, or a while()
   >> loop should only be used when you are willing to face the possability
   >> of an infinite loop.  (Very rarely the case.)  Otherwise you should
   >> use a for() loop (or the equivlent of it) so you have a counter to 
                        ^^^^^^^^^^^^^^^^^^^^^^
   >> insure even if something in your code is broken, eventually the
   >> program will exit the loop.

   I don't buy this argument at all. Here's a piece of code from a version of the unix "cat" program. How is using a for loop going to be better than while?

   while (0 < (size = read(in, buf, sizeof(buf))))
           if (write(STDOUT_FILENO, buf, size) != size)
                   {
                   fprintf(stderr, "Write Error\n");
                   rtn = 1;
                   }

It isn't any better than a for() loop.  But in this case you have a
counter of the file size, so this is the equivilent of a for() loop!!!
Sorry to waist more bandwidth on this, but it seems a # of people
where confused by my comment.


   I hardly consider code like the above "rare".

No, but it is rare that you really want to use something like:

  while ( x < 5. ) {
   x = f(x);
  }

The point is the original example, just had some arbitray condition
in a while() or goto loop.  Yours has something that is almost
definitely finite.  If not, it is almost certain you intended it
to loop until you kill it.  Although, I would add a break when there is
a write error.

                                  Bill

              



------------------------------

From: hanks891@raven.csrv.uidaho.edu (Hanks Bryan)
Subject: Re: GOTO haters ..Re: Linux Performance Enhance ?
Date: 23 Jul 1994 04:15:45 GMT

Ulrich Kunitz (kunitz@informatik.hu-berlin.de) wrote:
: bsa@kf8nh.wariat.org (Brandon S. Allbery) writes:

: >(consider when part of "stmt" either is, or is a precursor of, "cond") which
: >can be "safer" with the while loop than with the explicit goto because the
: >compiler knows more about the intent of the code.

: That's alright. Here are two examples compiled with gcc -O2

        Same examples but from Borland 3.1 with optimization on fastest code.
These are not quite real ASM, since I erased some stuff at the beginning
and end, plus the debug info for readability.   :)

: -- goto.c
: int main()
: {
:   int l =  1000000;
:   int n;

:   start:
:     n = l * 2;
:     if (n <= 0) goto end;
:     l--;
:     goto start;
:   end:
:     exit(0);
: }

: -- from goto.s
: _main:
:         pushl %ebp
:         movl %esp,%ebp
:         call ___main
:         movl $1000000,%edx
: L2:
:         movl %edx,%eax
:         addl %edx,%eax
:         testl %eax,%eax
:         jle L4
:         decl %edx
:         jmp L2
:         .align 4,0x90
: L4:
:         pushl $0
:         call _exit
:         .align 4,0x90

_main   proc        near
        push        bp
        mov        bp,sp
        sub        sp,2
        mov        dx,16960
@1@58:
        mov        ax,dx
        shl        ax,1
        mov        word ptr [bp-2],ax
        cmp        word ptr [bp-2],0
        jle        short @1@114
        dec        dx
        jmp        short @1@58
@1@114:
        push        0
        call        near ptr _exit
        add        sp,2
        leave
        ret
_main        endp


: -- while.c
: int main()
: {
:   int l =  1000000;
:   int n;

:   while(1)
:   {
:     n = l * 2;
:     if (n <= 0) break;
:     l--;
:   }
:   exit(0);
: }

: -- from while.s
: _main:
:         pushl %ebp
:         movl %esp,%ebp
:         call ___main
:         movl $1000000,%edx
:         .align 2,0x90
: L4:
:         decl %edx
:         movl %edx,%eax
:         addl %edx,%eax
:         testl %eax,%eax
:         jg L4
:         pushl $0
:         call _exit
:         .align 4,0x90

_main   proc        near
        mov        dx,16960
@1@30:
        mov        bx,dx
        shl        bx,1
        or        bx,bx
        jle        short @1@86
        dec        dx
        jmp        short @1@30
@1@86:
        push        0
        call        near ptr _exit
        add        sp,2
        ret
_main        endp

        It appears that in Borland 3.1 you don't gain anything by way of
jump reduction.  Just proves that GCC is a better compiler.  Also, I
ran each of these on fastest and smallest code optimazation.  For the
While.c the fastest version was actually shorter than the smaller version.
I know that this dosen't really add to this thread, but I was curious to
see what was produced when I first read this thread...

        Bryan


------------------------------

From: slouken@cs.ucdavis.edu (Sam Oscar Lantinga)
Subject: Re: New Linux kernels won't boot
Date: Wed, 20 Jul 1994 20:42:20 GMT

: move_to_user_mode() is what is making my machine hang. However, 1.1.23's
: include/asm/system.h, where move_to_user_mode() is located, is identical to
: the system.h found in 1.0.8, which works perfect for me. So the way I see it,
: move_to_user_mode() is hanging my machine but is NOT the problem, seeing that
: the same code works for me in 1.0.8. Is there some kernel hacker out there
: that has any idea what is going on here??? I barely know C or assembler, so I
: can't really rip apart the kernel myself.

        I had the same problem myself, but when I did 'make clean; make dep'
and then remade the kernel, it worked fine.  It seems that 'make clean'
is a vital step with the new kernel patches coming out.  

Good luck,

        -Sam


------------------------------

From: vince@coho.halcyon.com (Vince Skahan)
Subject: 1.1.34 won't compile (Slackware 1.1.1)
Date: 23 Jul 1994 05:51:28 GMT
Reply-To: poster


Has there been a major change in 'ld' that I have missed in the recent
past ? I'm running Slackware 1.1.1 with a 1.1.23 kernel (which is nice and stable),
gcc2.4.5, shlibs 4.5.24.

In trying to keep semi-current with the new kernels, I grabbed
1.1.34 and got the following problem :

ld -qmagic -Ttext 0xfffe0 boot/head.o init/main.o tools/version.o \
        kernel/kernel.o mm/mm.o fs/fs.o net/net.o ipc/ipc.o \
        fs/filesystems.a \
        drivers/block/block.a drivers/char/char.a drivers/net/net.a ibcs/ibcs.o drivers/FPU-emu/math.a \
        lib/lib.a \
        -o tools/zSystem
ld: unrecognized option `-qmagic'
Usage: ld [-d] [-dc] [-dp] [-e symbol] [-l lib] [-n] [-noinhibit-exec]
       [-nostdlib] [-o file] [-r] [-s] [-t] [-u symbol] [-x] [-y symbol]
       [-z] [-A file] [-Bstatic] [-D size] [-L libdir] [-M] [-N]
       [-static] [-nojump] [-dll-verbose] [-S] [-T[{text,data}] addr]
       [-V prefix] [-X] [file...]
make: *** [tools/zSystem] Error 1



--
   ------------------- Vince Skahan ------ vince@halcyon.com ----------------
   I need facts even if they have to be fabricated.  You know you're gonna 
   find something wrong down there because if you don't you're going back.
                                      - former supervisor at Sunoco (1983)

------------------------------


** FOR YOUR REFERENCE **

The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:

    Internet: Linux-Development-Request@NEWS-DIGESTS.MIT.EDU

You can send mail to the entire list (and comp.os.linux.development) via:

    Internet: Linux-Development@NEWS-DIGESTS.MIT.EDU

Linux may be obtained via one of these FTP sites:
    nic.funet.fi				pub/OS/Linux
    tsx-11.mit.edu				pub/linux
    sunsite.unc.edu				pub/Linux

End of Linux-Development Digest
******************************
