2011-04-25 71 views
-1

鑑於系統中安裝的PCI設備列表,我需要識別PCIe設備。到目前爲止,我一直在使用功能列表進行迭代,以查看設備是否具有擴展的上限結構(對應於上限ID 0x10)。而且,如果該設備具有擴展帽結構,那麼它肯定是一個PCIe設備。但是,似乎此方法無法識別某些設備。我想知道是否有人知道更好的方法。使用PCI配置空間識別PCIe設備

謝謝。

回答

0

PCI/PCIE設備掃描,功能指針中可能具有冗餘地址(損壞的PCI配置空間)。

請檢查所有B:D:F組合中的能力指針值是否有冗餘, 如果您發現任何問題,可以直接聯繫BIOS供應商以糾正它。

1

我用下面的方法來檢索PCIe設備:

  1. 檢查,如果PCI設備配置寄存器0x6從位4 = 1(能力列表中存在狀態)?
  2. 檢查PCI設備配置寄存器0x34!= 0(能力指針有效)?
  3. 檢查PCIe能力(ID = 0x10)是否存在?

如果以上都是真的,那麼這個設備是一個PCIe設備!

我很好奇「這種方法無法識別某些設備」的情況?