On Wed, Feb 24, 2010 at 08:57:41AM +0530, Rajat Jain wrote: > Hi, > > I want to understand the algorithm Linux uses to enumerate and assign > the PCI bus numbers on a HOT-PLUGGABLE system with DUMB FIRMWARE that > has not done any PCI enumeration / resource allocation (Thus Linux needs > to do it). What specific platform is this? Have you looked at the kernel code that does this? > 1) Does Linux reserve & leave apart certain bus numbers at each PCI > bridge -in anticipation of new PCI cards (containing PCI bridges) to be > hot-lugged later on to that location? If yes, how many bus numbers does > it reserve at each bridge? No, this is up to the BIOS/PCI controller interface (like ACPI). See the PCI spec for details as to why this is so. > 2) Or is it totally dynamic i.e. no reserved (unused) bus numbers are > available with any bridge. Hence when a PCI card (with PCI bridges on > it) is hot-plugged, then new bus numbers are allocated for it, and then > all the PCI bridges upstream are "fixed up" so as to include this bus > numbers in their range. If yes, then wouldn't this mean renumbering > buses (perhaps leading to resource reconfiguration / reassignment?) for > existing devices, thus possible interfering with the PCI devices already > in use? No pci devices are renumbered. > 3) I also have similar question for resource assignment. Are they also > reserved for hot-plug? No. good luck :) greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html