查找 PCI 配置

Bow*_*ark 4 ubuntu pci

本页中,图 6.1 显示了一个 PCI 配置示例,带有两条总线。

使用Linux(Ubuntu),是否可以获得实际主板的PCI配置?我的意思是:确定存在多少条 PCI 总线,找出是否存在 PCI-express 总线和桥接器,以便可以绘制类似于图 6.1 的图表。

lspci 给出了 PCI 设备的列表,但它似乎没有明确显示连接和总线结构。

Ste*_*itt 8

dmidecodelshw一起提供合理的图片。dmidecode,在正确配置的系统(具有正确填充的 DMI 表的系统)上,将列出物理插槽及其特性。例如,在我的系统上,我看到诸如

Handle 0x001C, DMI type 9, 17 bytes
System Slot Information
        Designation: SLOT7 PCI-E 2.0 X 1
        Type: x1 PCI Express
        Current Usage: In Use
        Length: Short
        ID: 0
        Characteristics:
                3.3 V is provided
                Opening is shared
                PME signal is supported
        Bus Address: 0000:07:00.0
Run Code Online (Sandbox Code Playgroud)

Handle 0x0021, DMI type 9, 17 bytes
System Slot Information
        Designation: SLOT1 PCI 33MHz
        Type: 32-bit PCI
        Current Usage: In Use
        Length: Short
        ID: 5
        Characteristics:
                3.3 V is provided
                Opening is shared
                PME signal is supported
        Bus Address: 0000:09:00.0
Run Code Online (Sandbox Code Playgroud)

名称可以非常详细;在这个特定的板上,物理插槽和电气能力被正确识别(例如 PCI-E 3.0 X8 (IN X16))。

lshw表示桥接连接,其信息可以dmidecode使用总线地址与's匹配。这允许主板托管的桥接器与适配器托管的桥接器区分开来。(例如,我的一个系统在 C226 主板上有两个 PCI 插槽,使用主板上的 PCI 桥接器;它还有一个 ATTO SCSI PCI Express HBA,它在卡本身上的另一个 PCI 桥接器后面使用两个 PCI 托管芯片.lshw的输出不容易区分这两种情况,但结合dmidecode的输出很明显哪个是哪个。)