On Thu, May 23, 2013 at 10:16:27PM +1000, David Gibson wrote: > On Thu, May 23, 2013 at 02:22:30PM +0300, Michael S. Tsirkin wrote: > > On Thu, May 09, 2013 at 10:31:10AM +1000, David Gibson wrote: > > > Currently pci_get_primary_bus() searches the list of root buses for one > > > with domain 0. But since host buses are always registered with domain 0, > > > this just amounts to finding the only PCI host bus. > > > > > > This simplifies the implementation by defining the primary PCI bus to > > > be the first one registered, using a global variable to track it. > > > > > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> > > > > Or better: can we just fail if there is more than > > one root? > > That might work, I'll look into doing that.
So, the difficulty with this is that then any machine with multiple PCI bridges could not use pci_nic_init(), since it calls pci_get_bus_devfn() which calls pci_find_primary_bus() which would always fail. And using pci_nic_init() is more or less mandatory in the machine_init function to support old-style nic configuration. Suggestions? -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: Digital signature