Eric W. Biederman ebiederman at lnxi.com
Wed Nov 3 16:28:00 CET 2004

Li-Ta Lo <ollie at lanl.gov> writes:

> Eric,
> >From my memory of the LXNI visit, the pci_domain represents different 
> ways to access PCI CS (0xcf8, 0xcfc). So the very low level of PCI
> access method will be different depends on the domain. Now the question
> is why not the pci_set_method() a device method of the PCI_DOMAIN
> device ? It is in the hardwarmain() now.

Because no one has done the work :)

The immediate reason for introducing the concept was so that we would not need
to override the root device methods, as chipsets have different requirements
when scanning their busses.

pci_set_method is not something that we really want as a method.  Because
if we know what the hardware is we don't need to auto-detect the method.
Although having scanbus call pci_set_method may not be the worst way
to go.

I suspect what we want is a pci_read/write_config... set of methods
that the code will keep looking to parent busses to provide if
the current bus not provide the operations.

An alternative is to provide pci_read/write_config.... methods that
also take a domain parameter.  And just have the northbridge provide those.

The practical case where something like this comes soon is accessing the
extra configuration bytes from pci-express devices.

So my immediate suggestion would be to call pci_set_method from the pci_domain's
scan_bus method before it does anything.  We can worry about the rest later.


More information about the coreboot mailing list