[LinuxBIOS] PCI max buses - Simple solution
yinghailu at gmail.com
Sat Apr 22 22:09:06 CEST 2006
For K8, I put second chain on 0x40, third chain on 0x80, and fourth
chain on 0xc0.
On 4/22/06, Richard Smith <smithbone at gmail.com> wrote:
> On 4/22/06, Stefan Reinauer <stepan at coresystems.de> wrote:
> > * yhlu <yinghailu at gmail.com> [060422 06:37]:
> > > we already have
> > > pci_locate_device().
> > > pci_locate_device_on_bus(...unsigned bus).
> > Cool! I guess most of us just did not know about that.
> > static device_t pci_locate_device_on_bus(unsigned pci_id, unsigned bus)
> > is defined in romcc_io.h and does exactly what is needed in this case.
> > Firewire on the Epia is always on bus 0.
> Ok so the "right" solution for the epia-m is to change
> pci_locate_device() to pci_locate_device_on_bus(0);
> Eric: Please confirm that it fixes your problem.
> That still leaves the outstanding issue that pci_locate_device() will
> pause for long periods if it can't find a device. And probing the
> entire pci space may not be a good thing anyway.
> I would propose that pci_locate_device still needs a hard cap.
> Whats the maximum number of PCI buses that any one has ever seen on one board?
> Richard A. Smith
More information about the coreboot