On Tue, Dec 03, 2019 at 10:55:27AM +0100, Gerd Hoffmann wrote:
> 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?
Here is the output of lspci -vt:
-+-[0000:b2]-+-05.0 Intel Corporation Device 2034
| +-05.2 Intel Corporation Sky Lake-E RAS Configuration Registers
| +-05.4 Intel Corporation Device 2036
| +-0e.0 Intel Corporation Device 2058
| +-0e.1 Intel Corporation Device 2059
| +-0f.0 Intel Corporation Device 2058
| +-0f.1 Intel Corporation Device 2059
| +-10.0 Intel Corporation Device 2058
| +-10.1 Intel Corporation Device 2059
| +-12.0 Intel Corporation Sky Lake-E M3KTI Registers
| +-12.1 Intel Corporation Sky Lake-E M3KTI Registers
| +-12.2 Intel Corporation Sky Lake-E M3KTI Registers
| +-12.4 Intel Corporation Sky Lake-E M3KTI Registers
| +-12.5 Intel Corporation Sky Lake-E M3KTI Registers
| +-15.0 Intel Corporation Sky Lake-E M2PCI Registers
| +-16.0 Intel Corporation Sky Lake-E M2PCI Registers
| +-16.4 Intel Corporation Sky Lake-E M2PCI Registers
| \-17.0 Intel Corporation Sky Lake-E M2PCI Registers
+-[0000:64]-+-00.0-[65-68]----00.0-[66-68]----03.0-[67-68]--+-00.0 Intel
Corporation Ethernet Connection X722 for 10GbE SFP+
| | +-00.1 Intel
Corporation Ethernet Connection X722 for 10GbE SFP+
| | +-00.2 Intel
Corporation Ethernet Connection X722 for 10GbE SFP+
| | \-00.3 Intel
Corporation Ethernet Connection X722 for 10GbE SFP+
| +-05.0 Intel Corporation Device 2034
| +-05.2 Intel Corporation Sky Lake-E RAS Configuration Registers
| +-05.4 Intel Corporation Device 2036
| +-08.0 Intel Corporation Device 2066
| +-09.0 Intel Corporation Device 2066
| +-0a.0 Intel Corporation Device 2040
| +-0a.1 Intel Corporation Device 2041
| +-0a.2 Intel Corporation Device 2042
| +-0a.3 Intel Corporation Device 2043
| +-0a.4 Intel Corporation Device 2044
| +-0a.5 Intel Corporation Device 2045
| +-0a.6 Intel Corporation Device 2046
| +-0a.7 Intel Corporation Device 2047
| +-0b.0 Intel Corporation Device 2048
| +-0b.1 Intel Corporation Device 2049
| +-0b.2 Intel Corporation Device 204a
| +-0b.3 Intel Corporation Device 204b
| +-0c.0 Intel Corporation Device 2040
| +-0c.1 Intel Corporation Device 2041
| +-0c.2 Intel Corporation Device 2042
| +-0c.3 Intel Corporation Device 2043
| +-0c.4 Intel Corporation Device 2044
| +-0c.5 Intel Corporation Device 2045
| +-0c.6 Intel Corporation Device 2046
| +-0c.7 Intel Corporation Device 2047
| +-0d.0 Intel Corporation Device 2048
| +-0d.1 Intel Corporation Device 2049
| +-0d.2 Intel Corporation Device 204a
| \-0d.3 Intel Corporation Device 204b
+-[0000:16]-+-03.0-[17]----00.0 Device 1987:5012
| +-05.0 Intel Corporation Device 2034
| +-05.2 Intel Corporation Sky Lake-E RAS Configuration Registers
| +-05.4 Intel Corporation Device 2036
| +-08.0 Intel Corporation Sky Lake-E CHA Registers
| +-08.1 Intel Corporation Sky Lake-E CHA Registers
| +-08.2 Intel Corporation Sky Lake-E CHA Registers
| +-08.3 Intel Corporation Sky Lake-E CHA Registers
| +-08.4 Intel Corporation Sky Lake-E CHA Registers
| +-08.5 Intel Corporation Sky Lake-E CHA Registers
| +-08.6 Intel Corporation Sky Lake-E CHA Registers
| +-08.7 Intel Corporation Sky Lake-E CHA Registers
| +-09.0 Intel Corporation Sky Lake-E CHA Registers
| +-09.1 Intel Corporation Sky Lake-E CHA Registers
| +-09.2 Intel Corporation Sky Lake-E CHA Registers
| +-09.3 Intel Corporation Sky Lake-E CHA Registers
| +-09.4 Intel Corporation Sky Lake-E CHA Registers
| +-09.5 Intel Corporation Sky Lake-E CHA Registers
| +-09.6 Intel Corporation Sky Lake-E CHA Registers
| +-09.7 Intel Corporation Sky Lake-E CHA Registers
| +-0a.0 Intel Corporation Sky Lake-E CHA Registers
| +-0a.1 Intel Corporation Sky Lake-E CHA Registers
| +-0a.2 Intel Corporation Sky Lake-E CHA Registers
| +-0a.3 Intel Corporation Sky Lake-E CHA Registers
| +-0a.4 Intel Corporation Sky Lake-E CHA Registers
| +-0a.5 Intel Corporation Sky Lake-E CHA Registers
| +-0a.6 Intel Corporation Sky Lake-E CHA Registers
| +-0a.7 Intel Corporation Sky Lake-E CHA Registers
| +-0b.0 Intel Corporation Sky Lake-E CHA Registers
| +-0b.1 Intel Corporation Sky Lake-E CHA Registers
| +-0b.2 Intel Corporation Sky Lake-E CHA Registers
| +-0b.3 Intel Corporation Sky Lake-E CHA Registers
| +-0e.0 Intel Corporation Sky Lake-E CHA Registers
| +-0e.1 Intel Corporation Sky Lake-E CHA Registers
| +-0e.2 Intel Corporation Sky Lake-E CHA Registers
| +-0e.3 Intel Corporation Sky Lake-E CHA Registers
| +-0e.4 Intel Corporation Sky Lake-E CHA Registers
| +-0e.5 Intel Corporation Sky Lake-E CHA Registers
| +-0e.6 Intel Corporation Sky Lake-E CHA Registers
| +-0e.7 Intel Corporation Sky Lake-E CHA Registers
| +-0f.0 Intel Corporation Sky Lake-E CHA Registers
| +-0f.1 Intel Corporation Sky Lake-E CHA Registers
| +-0f.2 Intel Corporation Sky Lake-E CHA Registers
| +-0f.3 Intel Corporation Sky Lake-E CHA Registers
| +-0f.4 Intel Corporation Sky Lake-E CHA Registers
| +-0f.5 Intel Corporation Sky Lake-E CHA Registers
| +-0f.6 Intel Corporation Sky Lake-E CHA Registers
| +-0f.7 Intel Corporation Sky Lake-E CHA Registers
| +-10.0 Intel Corporation Sky Lake-E CHA Registers
| +-10.1 Intel Corporation Sky Lake-E CHA Registers
| +-10.2 Intel Corporation Sky Lake-E CHA Registers
| +-10.3 Intel Corporation Sky Lake-E CHA Registers
| +-10.4 Intel Corporation Sky Lake-E CHA Registers
| +-10.5 Intel Corporation Sky Lake-E CHA Registers
| +-10.6 Intel Corporation Sky Lake-E CHA Registers
| +-10.7 Intel Corporation Sky Lake-E CHA Registers
| +-11.0 Intel Corporation Sky Lake-E CHA Registers
| +-11.1 Intel Corporation Sky Lake-E CHA Registers
| +-11.2 Intel Corporation Sky Lake-E CHA Registers
| +-11.3 Intel Corporation Sky Lake-E CHA Registers
| +-1d.0 Intel Corporation Sky Lake-E CHA Registers
| +-1d.1 Intel Corporation Sky Lake-E CHA Registers
| +-1d.2 Intel Corporation Sky Lake-E CHA Registers
| +-1d.3 Intel Corporation Sky Lake-E CHA Registers
| +-1e.0 Intel Corporation Sky Lake-E PCU Registers
| +-1e.1 Intel Corporation Sky Lake-E PCU Registers
| +-1e.2 Intel Corporation Sky Lake-E PCU Registers
| +-1e.3 Intel Corporation Sky Lake-E PCU Registers
| +-1e.4 Intel Corporation Sky Lake-E PCU Registers
| +-1e.5 Intel Corporation Sky Lake-E PCU Registers
| \-1e.6 Intel Corporation Sky Lake-E PCU Registers
\-[0000:00]-+-00.0 Intel Corporation Sky Lake-E DMI3 Registers
+-04.0 Intel Corporation Sky Lake-E CBDMA Registers
+-04.1 Intel Corporation Sky Lake-E CBDMA Registers
+-04.2 Intel Corporation Sky Lake-E CBDMA Registers
+-04.3 Intel Corporation Sky Lake-E CBDMA Registers
+-04.4 Intel Corporation Sky Lake-E CBDMA Registers
+-04.5 Intel Corporation Sky Lake-E CBDMA Registers
+-04.6 Intel Corporation Sky Lake-E CBDMA Registers
+-04.7 Intel Corporation Sky Lake-E CBDMA Registers
+-05.0 Intel Corporation Sky Lake-E MM/Vt-d Configuration
Registers
+-05.2 Intel Corporation Device 2025
+-05.4 Intel Corporation Device 2026
+-08.0 Intel Corporation Sky Lake-E Ubox Registers
+-08.1 Intel Corporation Sky Lake-E Ubox Registers
+-08.2 Intel Corporation Sky Lake-E Ubox Registers
+-11.0 Intel Corporation Device a1ec
+-11.1 Intel Corporation Device a1ed
+-11.5 Intel Corporation Lewisburg SSATA Controller [AHCI mode]
+-14.0 Intel Corporation Lewisburg USB 3.0 xHCI Controller
+-14.2 Intel Corporation Lewisburg Thermal Subsystem
+-16.0 Intel Corporation Lewisburg CSME: HECI #1
+-16.1 Intel Corporation Lewisburg CSME: HECI #2
+-16.4 Intel Corporation Lewisburg CSME: HECI #3
+-17.0 Intel Corporation Lewisburg SATA Controller [AHCI mode]
+-1c.0-[01-02]----00.0-[02]----00.0 Matrox Electronics Systems
Ltd. MGA G200e [Pilot] ServerEngines (SEP1)
+-1f.0 Intel Corporation Lewisburg LPC Controller
+-1f.2 Intel Corporation Lewisburg PMC
+-1f.3 Intel Corporation Lewisburg MROM 0
+-1f.4 Intel Corporation Lewisburg SMBus
+-1f.5 Intel Corporation Lewisburg SPI Controller
\-1f.6 Intel Corporation Ethernet Connection (3) I219-LM
>
> thanks,
> Gerd
> _______________________________________________
> SeaBIOS mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
_______________________________________________
SeaBIOS mailing list -- [email protected]
To unsubscribe send an email to [email protected]