查看PCIe设备的Header Type

PCIe设备的Header Type是配置空间中的一个重要字段,用于标识设备的类型和功能。不同设备类型的配置空间是不一样的。

可以通过lspci直接查看输出的设备列表中是否有bridge字样,如果有表示是bridge设备。

也可以通过读取Header Type寄存器来查看。

Header Type寄存器:只读寄存器,表示类型,分为PCIe endpoint设备(最低位是0)和PCIe桥(最低位是1),最高位0表示单功能设备,最高位1表示多功能设备,逻辑设备是单功能设备。位置偏移在PCIe设备配置空间的0x0E处。

lspci -s 01:00.0 -x

00表示是endpoint设备

lspci -s 00:02.0 -x

81表示是多功能PCIe桥设备。

PCIe Header type的具体定义如下:

// 配置空间偏移0x0E处
struct pcie_header_type {
    uint8_t type:7;      // 低7位表示类型
    uint8_t multi:1;     // 最高位表示是否多功能
};

// 类型定义
#define PCI_HEADER_TYPE_NORMAL      0x00    // 端点设备
#define PCI_HEADER_TYPE_BRIDGE      0x01    // PCI-PCI桥
#define PCI_HEADER_TYPE_CARDBUS     0x02    // CardBus桥
#define PCI_HEADER_TYPE_MULTI_FUNC  0x80    // 多功能标志位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aolitianya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值