1

Is there a way to list PCI slots (or their respective devices) and output if that slot is directly connected to the CPU, or goes through the southbridge/PCH?

hbogert
  • 739
  • 2
    Seems my question is a duplicate of https://superuser.com/questions/1375202/how-to-understand-lspci-tree-format – hbogert Jan 23 '19 at 10:23

2 Answers2

0

Is there a way to list PCI slots

Yes, you may look into lspci

man lspci

You can see what bridge is used. You have different verbose options: lspci -vvv being the most verbose mode.

You might also get what you want with :

hwinfo --short

Finally, you can list your slots with dmidecode -t 9

And list the on board devices with dmidecode -t 10

jayooin
  • 409
  • 2
  • 8
  • I also hoped lspci would show me the bridge, but I can't find it anywhere while I list it. Do you happen to have example output which shows the difference between a device connected to the PCH and a device connected to the CPU? – hbogert Jan 23 '19 at 09:49
  • It is unclear what you mean with a device connected to the CPU. The CPU is connected to the motherboard. So it is listed as a "device" itself. – jayooin Jan 23 '19 at 09:53
  • 2
    Well I hoped this clear distinction was made clear in the Question; In the context of pci-express lanes, devices can be directly connected to the CPU, without there being a southbridge/PCH in the communication path. On (intel) consumer platforms it is common that the x16 PCI-e slot is directly connected to the motherboard. Whereas the rest of PCI-e slots are connected to the PCH, which in turn has a DMI conection to the CPU. The DMI connection can be seen as a, often, x4 PCI-e connection. In the case of server platforms, it depends on the vendor how they distribute slots – hbogert Jan 23 '19 at 09:58
0
lspci -tv

in this example, devices before 0x14 are connected to the CPU root complex. At or after 0x14 are behind the PCH.

-[0000:00]-+-00.0  Intel Corporation 4th Gen Core Processor DRAM Controller
       +-01.0-[01]----00.0  Intel Corporation Express Flash NVMe P4500/P4600
       +-14.0  Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI
       +-16.0  Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1
       +-16.1  Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #2
       +-1a.0  Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #2
       +-1c.0-[02]--
       +-1c.2-[03]----00.0  Intel Corporation I210 Gigabit Network Connection
       +-1c.3-[04]----00.0  Intel Corporation I210 Gigabit Network Connection
       +-1c.7-[05-06]----00.0-[06]----00.0  ASPEED Technology, Inc. ASPEED Graphics Family
       +-1d.0  Intel Corporation 8 Series/C220 Series Chipset Family USB EHCI #1
       +-1f.0  Intel Corporation C224 Series Chipset Family Server Standard SKU LPC Controller
       +-1f.2  Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode]
       \-1f.3  Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller
Paul-K
  • 301