On Sat, Oct 25, 2008 at 9:25 AM, Tom Sylla tsylla@gmail.com wrote:
Hopefully it is clear now how things can move like that. The Opterons won't move. It is possible with HT that other devices may exist on higher bus numbers without a bridge (real or fake) from bus 0. It is weird, and non-legacy compatible, so it should not happen with NB and SB devices. There are exceptions, though, when we connect our nc FPGAs, and put them at bus 20, we have no bridge in config space connecting them to bus 0. By default, the linux kernel will not find them (it does a normal PCI scan, looking for bridges, subordinates, etc). We must advertise the non-contiguous PCI busses in an ACPI table for Linux and Windows to "see" the higher busses that are not bridged to bus 0. (there are some other ways to force the linux kernel to find the devices, but the ACPI method works for all the current OSes we've tried). The point is that making the PCI busses discontiguous is "weird", and makes you jump through other hoops to play well with OSes.
linux kernel will do some legacy check from irq_routes_tables..... when acpi is disabled...
YH