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

Attachment: signature.asc
Description: Digital signature

Reply via email to