18 #ifndef CPUCounters_PCI_H
19 #define CPUCounters_PCI_H
35 #include "PCIDriverInterface.h"
40 #define PCM_USE_PCI_MM_LINUX
61 PciHandle(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
63 static bool exists(uint32 bus_, uint32 device_, uint32 function_);
65 int32 read32(uint64 offset, uint32 * value);
66 int32 write32(uint64 offset, uint32 value);
68 int32 read64(uint64 offset, uint64 * value);
100 PciHandleM(uint32 bus_, uint32 device_, uint32 function_);
102 static bool exists(uint32 bus_, uint32 device_, uint32 function_);
104 int32 read32(uint64 offset, uint32 * value);
105 int32 write32(uint64 offset, uint32 value);
107 int32 read64(uint64 offset, uint64 * value);
127 static std::vector<MCFGRecord> mcfgRecords;
128 static void readMCFG();
135 PciHandleMM(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
137 static bool exists(uint32 bus_, uint32 device_, uint32 function_);
139 int32 read32(uint64 offset, uint32 * value);
140 int32 write32(uint64 offset, uint32 value);
142 int32 read64(uint64 offset, uint64 * value);
147 static const std::vector<MCFGRecord> & getMCFGRecords();
151 #ifdef PCM_USE_PCI_MM_LINUX
152 #define PciHandleM PciHandleMM
Internal type and constant definitions.