Subject: Re: Another changer, another changer problem
To: NetBSD-current Discussion List <>
From: Curt Sampson <>
List: current-users
Date: 10/08/1998 19:29:28
On Thu, 8 Oct 1998, Greg A. Woods wrote:

> >
> You mean this one that says:
> 	Bus Architecture
> 	4 32-bit PCI slots 
> 	1 Asus MediaBus (Revision 2.0) Slot. 
> 	3 16-Bit ISA Slots. 

Yup! That's the one. A MediaBus slot, if not used in its extended
function, serves as a regular PCI slot. The extension just brings
out some ISA signals so that a card doesn't have to have a separate
ISA daughtercard to get to the ISA bus. Reference:

> > No. A package may have up to eight functions in it.
> Nine, actually, though I admit I didn't really pay close attention to
> the 21150 specs previously and notice this until today....

Sorry, I'm working from the MindShare book that covers only up to
PCI spec 2.1.

> Other than the simple one-controller per slot model, the only real way
> to handle PCI dynamically is by drawing a tree structure.....
> ...
> 	pci_s0--pci_s0.1
> 	        pci_s0.2
> 	        pci_s0.3--pci_s0.3.d1

Unfortunately, PCI doesn't have the concept of `slot numbers.' It
appears to me that individual BIOSes map slots to devices in an
arbitrary manner. So while slots, from left to right, might be
devices 9, 10, 11 and 12 on one motherboard, on another they might
be 10, 8, 11, 9.

I understand that the whole point of this was not to have to boot
in single-user mode and inspect boot output in order to be able to
configure things. So how do you deal with this problem without
doing that?

> Perhaps the problem is trying to make a "generic" i386 kernel in this
> scenario.  In any given CompactPCI system you'd be unlikely to widely go
> adding more bus extenders without a lot of due consideration, so the
> only thing you really have to worry about is plugging in a non-system
> card that might have mezzanine connectors off on a bridge....

Some cards, such as the popular 4-port DEC Tulip-based Ethernet
cards, have a PCI-PCI bridge built right in, and the four devices
behind it. So merely unplugging a card and moving it to another
slot changes your device tree. So yes, you do regularly add more
`bus extenders' (if by that you mean bridges and new PCI buses)
without due consideration.

I'm not sure I understand your comment about making a `generic'
i386 kernel being a problem. If your system won't work with generic
i386 kernels, we appear to be right back again at the point where
we have to configure and compile a special kernel.

Curt Sampson  <>  604-257-9400    De gustibus, aut bene aut nihil.
Any opinions expressed are mine and mine alone.
The most widely ported operating system in the world: