8 #ifndef CPUCounters_PCI_H 9 #define CPUCounters_PCI_H 25 #include "PCIDriverInterface.h" 55 PciHandle(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
57 static bool exists(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
59 int32 read32(uint64 offset, uint32 * value);
60 int32 write32(uint64 offset, uint32 value);
62 int32 read64(uint64 offset, uint64 * value);
67 static int openMcfgTable();
75 #elif defined(__FreeBSD__) || defined(__DragonFly__) 98 PciHandleM(uint32 bus_, uint32 device_, uint32 function_);
100 static bool exists(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
102 int32 read32(uint64 offset, uint32 * value);
103 int32 write32(uint64 offset, uint32 value);
105 int32 read64(uint64 offset, uint64 * value);
125 static std::vector<MCFGRecord> mcfgRecords;
126 static void readMCFG();
133 PciHandleMM(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
135 static bool exists(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
137 int32 read32(uint64 offset, uint32 * value);
138 int32 write32(uint64 offset, uint32 value);
140 int32 read64(uint64 offset, uint64 * value);
145 static const std::vector<MCFGRecord> & getMCFGRecords();
149 #ifdef PCM_USE_PCI_MM_LINUX 150 #define PciHandleType PciHandleMM 152 #define PciHandleType PciHandle Internal type and constant definitions.