Hi,
> > > + // On real hardware especially server platforms, the bus number
> > > + // could run up to the top value, i.e. 0xff
> > > + if (CONFIG_CSM)
> > > + extraroots = 0xff;
> >
> > What exactly you are trying to fix here?
> >
> > seabios should find all pci devices behind bridges without problems.
>
> The problem is from the following statement:
>
> while (bus < 0xff && (bus < MaxPCIBus || rootbuses < extraroots)) {
>
> extraroots always returns 0 in csm mode, and "bus < MaxPCIBus" returns false
> very early.
> So the while loop ends early, leaving many pci devices un-scanned.
So the question is whenever there are *really* multiple roots
or if that patch just papers over a bug somewhere in seabios.
> Without the patch, I got:
> "Found 33 PCI devices (max PCI bus is 02)"
>
> With the patch, I got:
> "Found 159 PCI devices (max PCI bus is b2)"
Can you run "lspci -vt" and post the output here?
thanks,
Gerd
_______________________________________________
SeaBIOS mailing list -- [email protected]
To unsubscribe send an email to [email protected]