【发布时间】:2021-05-28 18:13:12
【问题描述】:
我需要能够在运行时识别给定的 PCI 设备是 express 还是 non-express。一种可能的识别方法是获取配置空间并检查扩展部分。如果存在扩展部分,则它是 PCIe 卡。具体来说,我会检查前四个字节,看看它们是否是规范要求的0x100。
这是验证正在使用的卡类型的最佳方法吗?我的假设是否正确?
【问题讨论】:
我需要能够在运行时识别给定的 PCI 设备是 express 还是 non-express。一种可能的识别方法是获取配置空间并检查扩展部分。如果存在扩展部分,则它是 PCIe 卡。具体来说,我会检查前四个字节,看看它们是否是规范要求的0x100。
这是验证正在使用的卡类型的最佳方法吗?我的假设是否正确?
【问题讨论】:
我认为最好的方法是寻找 PCI Express 功能,它位于常规功能空间中,而不是扩展空间中。此功能的存在表示 PCIe 设备。能力 ID 为 0x10。
【讨论】: