システムにインストールされている PCI デバイスのリストから、PCIe デバイスを特定する必要があります。これまでのところ、機能のリストを反復処理して、デバイスに拡張キャップ構造 (キャップ ID 0x10 に対応) があるかどうかを確認してきました。また、デバイスに拡張キャップ構造がある場合、それは確かに PCIe デバイスです。ただし、この方法では一部のデバイスを識別できないようです。誰かがより良い方法を知っているかどうか疑問に思っていました。
ありがとう。
以下の方法で PCIe デバイスを取得しました。
上記のすべてが当てはまる場合、このデバイスは PCIe デバイスです!!!
「この方法では一部のデバイスを識別できない」という状況が気になります。
PCI/PCIE デバイスのスキャン。機能ポインタに冗長なアドレスが含まれている可能性があります (PCI 構成スペースの破損)。
すべての B:D:F の組み合わせで機能ポインタ値に冗長性があるかどうかを確認してください。問題が見つかった場合は、BIOS ベンダーに直接連絡して修正してもらうことができます。