[coreboot] [PATCH] v3: fix PCI bus scan / device tree interaction

Stefan Reinauer stepan at coresystems.de
Fri Aug 29 18:27:39 CEST 2008


* Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net> [080829 12:54]:
> On 29.08.2008 12:41, Stefan Reinauer wrote:
> > Carl-Daniel Hailfinger wrote:
> >   
> >> +	 * dev->link[0] for a PCI domain is the domain link.
> >> +	 * The child of the domain link is the PCI bus device.
> >>   
> >>     
> > "PCI bus device" - is that the host bridge?
> >   
> 
> Let me illustrate this with an excerpt of our device tree.
> 
> We call pci_domain_scan_bus(dev_domain_0, ...) and dev_domain_0->link[0]
> is the PCI domain link. However, pci_scan_bus() expects to be called
> with dev_bus_0->link[0] which equals
> dev_domain_0->link[0].children->link[0]. "pci bus device" refers to
> dev_bus_0.
 
Ok, so why do we have 

a) a pci domain
b) a pci bus "device" whatever that is supposed to depict
c) a pci bridge (host bridge)

all describing the same physical entity.

We had weird stuff in v2, but now it's not fixed, it's just different
weird. 

> Can multiple buses be directly below a domain or do these buses hang off
> a bridge on a bus? For the latter case, this should be handled by
> pci_scan_bridge.

A PCI domain is not a physical device. It doesnt even virtually exist on
x86, at least not on pre-PCIe systems.

Stefan

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866




More information about the coreboot mailing list