According with specification we can detect if a PC are using PCI Express Extended Capabilities reading from Address 100h PCI Express Extended Capability header. Checking if Extended Capabilities are present must respect specifications: Extended Capabilities in a Root Complex Register Block always begin at offset 000h with a PCI Express Extended Capability header (§ Section 7.6.3 ). Absence of any Extended Capabilities is required to be indicated by an Extended Capability header with a Capability ID of FFFFh and a Next Capability Offset of 000h. For mac OS we will have: Capability header with a Capability ID of FFFFh and a Next Capability Offset of FFFh. This values are complete wrong and you can't detect correct if you have PCI Express extended capabilities. Did somebody meet same problem?