*BSD News Article 2844


Return to BSD News archive

Newsgroups: comp.unix.bsd
Path: sserve!manuel!munnari.oz.au!sgiblab!darwin.sura.net!europa.asd.contel.com!uunet!mcsun!sunic!aun.uninett.no!barsoom!barsoom!tih
From: tih@barsoom.nhh.no (Tom Ivar Helbekkmo)
Subject: PATCHES: Multiple WD drives and the config program.
Message-ID: <tih.712580920@barsoom>
Sender: news@barsoom.nhh.no (USENET News System)
Organization: Norwegian School of Economics
Date: Fri, 31 Jul 1992 11:08:40 GMT
Lines: 240

There's been a bit of discussion, and some suggested patches,
for the problem of having more than one disk drive with the
MFM/RLL winchester driver.  Having studied it a bit, I've come
to the conclusion that changes are needed in both the wd and
fd drivers, as well as in the config program.

I've modified config to output specifics about the individual
wd and fd drives to the ioconf.c file, and also modified wd.c
and fd.c to take advantage of this.  Specifically, this:

controller	isa0
controller	wd0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wd0 drive 0
disk		wd1	at wd0 drive 1

would cause NWD to be defined as 3, which is wrong; there is
one controller and two drives.  Further, only the first drive
would be attached in the driver.  Actually, drive 1 would work
fine, but wd1b couldn't be swapped to, since it wasn't properly
attached at boot.  Part of the trouble is, of course, that the
same name is used for the controller and the drives.

With my changes, the following works very well for me:

controller	isa0
controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
disk		wd0	at wdc0 drive 0
disk		wd1	at wdc0 drive 1

This way, I get NWD = 2, and NWDC = 1, which makes sense.  With
the modifications I've made to config, details about the two
wd drives are put in ioconf.c along with the specs for wdc0, and
my modified wd.c makes use of this info.  Thus, I *believe* the
following should also work great:

controller	isa0
controller	wdc0	at isa? port "IO_WD1" bio irq 14 vector wdintr
controller	wdc1	at isa? port "IO_WD2" bio irq 15 vector wdintr
disk		wd0	at wdc0 drive 0
disk		wd1	at wdc1 drive 1
disk		wd2	at wdc1 drive 0
disk		wd3	at wdc0 drive 1

Note that I've changed the sequence of the different drives here,
which is one of the features my version permits.  Note also that
I have no idea what IRQ the second controller should have, so I
just put 15 in there to have a complete example...  :-)

I've done the modifications in parallell for the fd driver, but
that driver will *not* work with more than one controller and
two drives, since I haven't changed the bits that are hard-coded
to think that only one floppy controller exists.

Note also that this is a first approximation.  As I get to know
these drivers better, I expect to do quite a bit more work with
them.  There's also a need for more sanity checking; for instance,
the current scheme demands, without enforcing it, that if drive
2 is defined, then drives 1 and 0 must also be defined, and so
forth.  I also haven't looked into the consequences of using
question marks for the unit numbers in the names -- I suspect
something bad would happen!  :-)

Patches follow below as a compressed and uuencoded tar file.  I'd
really like to see something like this become official -- maybe
not in the exact way I've done it here, as I freely admit to not
knowing much about how the autoconfig stuff works yet, but still.
Also, it would be great if someone other than myself could test
this, especially with two hard disk controllers and the various
combinations of disks that can be added to them.

I *may* be able to get hold of a second controller sometime soon,
and *if* I do, I'll be testing that setup myself, of course!  :-)

As I said, this works fine for me -- it may very well totally
mess up the hard disks of any other machine but mine, so read
before using!  :-)

Whoops -- file names in the tar file are without paths.  Anyway,
it's /usr/src/usr.sbin/config/mkioconf.c, and the other patches
all go in the /sys/i386/isa directory.  The CONFIG.SAMPLE file
is the one currently being used on my machine.

-tih

begin 644 drivepatch.tar.Z
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
?,3NFQ_R8(#-DBLR123)+ILD\F2@S9:K,E<DR6^;*!$DQ
 
end
--
Tom Ivar Helbekkmo, NHH, Bergen, Norway.  Telephone: +47-5-959205
Postmaster for domain nhh.no.   Internet mail: tih@barsoom.nhh.no