[LinuxBIOS] PCI max buses - Simple solution
Richard Smith
smithbone at gmail.com
Sat Apr 22 18:40:33 CEST 2006
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
mailing list