Chong Chee Yong catz@silvermoon.com.sg wrote:
(this is all defined in the PCI spec) To scan the PCI bus, you basically iterate through each slot, reading the device and vendor ids. If the slot is empty you get a nonexistent value (either 0 or 0xffff I think). There can also be bridges on the PCI bus, so you must recursively descending into those, and scan their devices, as well.
Haven't read the PCI bridges specs, but it seems that it is possible for two unconnected PCI bus since the algorithm suggested in revision 2.2 Chapter 6.1 is to scan all possible slots.
I believe that this (or something similar) has been implemented on some newer Compaq servers. There are a number of workarounds in the kernel PCI code.
If someone has access to one of these, an lspci -xxx output would make interesting reading.
regards,