Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Cardbus bridge fixup for SPARCle



Hi,

When running on a Tadpole SPARCle, we print out:

  cbb0 at pci0 dev 3 function 0pccbb_attach_hook: 256 >= busses exist
: Texas Instruments PCI1225 PCI-CardBus Bridge (rev. 0x01)

  cbb0: secondary bus number uninitialized; try PCI_BUS_FIXUP

at boot time.  This is because the bus range of the parent is set to the
maximum range:

  psycho0: pci108e,a001: impl 0, version 0: ign 7c0 bus range 0 to 255; PCI bus 0
  pci0 at psycho0

and in:

  src/sys/sparc64/sparc64/rbus_machdep.c:pccbb_attach_hook()

we add 1 to the parent maximum bus number (spc_busmax) and then test to see
if that is >= 256.

What's the best way to handle this?  I assume that the bus-range property
needs fixing up.  It is currently:

  bus-range               00000000 000000ff ........ ........   ........

Is the way to fix this to go through the OFW tree and set all the bus ranges
correctly for all the PCI busses, which will allow the code in
pccbb_attach_hook() to correctly set the secondary bus number?

Thanks,

J

-- 
  My other computer also runs NetBSD    /        Sailing at Newbiggin
        http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/


Home | Main Index | Thread Index | Old Index