Subject: PR kern/6544
To: None <port-i386@netbsd.org>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: port-i386
Date: 08/06/1999 11:34:03
Hi,
kern/6544 describe an interesting situation:
A laptop with his docking station has 2 pci busses (one in the laptop, one
in the dock). HDs are attached to a pciide controller in compat mode on
pci0

pci0 at mainbus0
pchb0 at pci0
ppb0 at pci0
pci1 at ppb0
On pci1 there is a Intel PIIX4, so we get a
pcib0 at pci1 and then
isa0 at pcib0
and then wdc0/wdc1 at isa0, which get attached and the disks probed, because
at these I/O we have the internal pciide controller in compat mode.

Then autoconfig of pci1 ends, we get back at the autoconfig of pci0.
At this points it finds pciide0, but can't map its registers because of the
wdc0/wdc1 which got (incorrectly attached at isa0).

Later we have 'isa at pcib1 not configured'.

Now the problem is: how to solve this ?
My guess is that on any system, the isa bus should only be attached to
a pceb or pcib at pcibus0.
I'm pretty sure it's valid to build a system with 2 isa busses behind
2 different pci/isa bridges, but if I didn't miss something, from an OS point
of view it's as if there was only one.

To a fix for this PR would be to just change config files (GENERIC and
INSTALL*) to force attach of pceb0 and pcib0 to pci0, and attach only an isa0
to pceb0 or pcib0 (this would require also changing 'pci* at mainbus? bus ?'
to 'pci0 at mainbus0 bus ?', but can we have more than one mainbus
in a i386 anyway ?).

Does anyone see a problem with this ?

--
Manuel Bouyer, LIP6, Universite Paris VI.           Manuel.Bouyer@lip6.fr
--