1

I'm attempting to identify if a system is using certain cards that are PCI or PCI-Express at runtime of a program. I understand that the PCI config space has the capability ID list. Does this always have 0x10 (the capability code for PCI-E) if the card is PCI-E on a hardware level or only if the functions added to PCI-E compared to PCI are being used from a software perspective?

I have found hardware, using lspci -xxxx, that has an extended configuration space. This would mean the card is PCI-E card. But the capability ID list does not contain ID 0x10. I'm not sure how to reconcile this.

The program is in c/c++ and on a centOS system.

LukeDev
  • 509
  • 4
  • 19

0 Answers0