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 -- seabios@seabios.org To unsubscribe send an email to seabios-le...@seabios.org