18 #ifndef CPUCounters_PCI_H
19 #define CPUCounters_PCI_H
35 #include "PCIDriverInterface.h"
63 PciHandle(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
65 static bool exists(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
67 int32 read32(uint64 offset, uint32 * value);
68 int32 write32(uint64 offset, uint32 value);
70 int32 read64(uint64 offset, uint64 * value);
83 #elif defined(__FreeBSD__) || defined(__DragonFly__)
105 PciHandleM(uint32 bus_, uint32 device_, uint32 function_);
107 static bool exists(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
109 int32 read32(uint64 offset, uint32 * value);
110 int32 write32(uint64 offset, uint32 value);
112 int32 read64(uint64 offset, uint64 * value);
132 static std::vector<MCFGRecord> mcfgRecords;
133 static void readMCFG();
140 PciHandleMM(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
142 static bool exists(uint32 groupnr_, uint32 bus_, uint32 device_, uint32 function_);
144 int32 read32(uint64 offset, uint32 * value);
145 int32 write32(uint64 offset, uint32 value);
147 int32 read64(uint64 offset, uint64 * value);
152 static const std::vector<MCFGRecord> & getMCFGRecords();
156 #ifdef PCM_USE_PCI_MM_LINUX
157 #define PciHandleType PciHandleMM
159 #define PciHandleType PciHandle
Internal type and constant definitions.
static int openMcfgTable()
Definition: pci.cpp:440