Linux PCI bus numbering algorithm

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

 



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).

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? 

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? 

3) I also have similar question for resource assignment. Are they also
reserved for hot-plug?

Thanks in Advance,

Rajat Jain
--
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

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux