Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

353 lines
20 KiB

  1. #ifndef MERCED_H_INCLUDED
  2. #define MERCED_H_INCLUDED
  3. /*++
  4. Copyright (c) 1989-2000 Microsoft Corporation
  5. Component Name:
  6. HALIA64
  7. Module Name:
  8. merced.h
  9. Abstract:
  10. This header file presents IA64 Itanium [aka Merced] definitions.
  11. Like profiling definitions.
  12. Author:
  13. David N. Cutler (davec) 5-Mar-1989
  14. Environment:
  15. ToBeSpecified
  16. Revision History:
  17. 3/15/2000 Thierry Fevrier (v-thief@microsoft.com):
  18. Initial version
  19. --*/
  20. //
  21. // Merced Monitored Events:
  22. //
  23. typedef enum _MERCED_MONITOR_EVENT {
  24. MercedMonitoredEventMinimum = 0x00,
  25. MercedBranchMispredictStallCycles = 0x00, // "BRANCH_MISPRED_CYCLE"
  26. MercedInstAccessStallCycles = 0x01, // "INST_ACCESS_CYCLE"
  27. MercedExecLatencyStallCycles = 0x02, // "EXEC_LATENCY_CYCLE"
  28. MercedDataAccessStallCycles = 0x03, // "DATA_ACCESS_CYCLE"
  29. MercedBranchStallCycles = 0x04, // "BRANCH_CYCLE",
  30. MercedInstFetchStallCycles = 0x05, // "INST_FETCH_CYCLE",
  31. MercedExecStallCycles = 0x06, // "EXECUTION_CYCLE",
  32. MercedMemoryStallCycles = 0x07, // "MEMORY_CYCLE",
  33. MercedTaggedInstRetired = 0x08, // "IA64_TAGGED_INSTRS_RETIRED", XXTF - ToBeDone: Set Event Qualification
  34. MercedInstRetired = 0x08, // "IA64_INSTS_RETIRED.u",
  35. MercedFPOperationsRetiredLow = 0x09, // "FP_OPS_RETIRED_LO",
  36. MercedFPOperationsRetiredHigh = 0x0a, // "FP_OPS_RETIRED_HI",
  37. MercedFPFlushesToZero = 0x0b, // "FP_FLUSH_TO_ZERO",
  38. MercedSIRFlushes = 0x0c, // "FP_SIR_FLUSH",
  39. MercedBranchTakenDetail = 0x0d, // "BR_TAKEN_DETAIL", // XXTF - ToBeDone - Slot specification[0,1,2,NO] + addresses range
  40. MercedBranchMultiWayDetail = 0x0e, // "BR_MWAY_DETAIL", // XXTF - ToBeDone - Not taken/Taken/all path + Prediction outcome + address range
  41. MercedBranchPathPrediction = 0x0f, // "BR_PATH_PREDICTION", // XXTF - ToBeDone - BRANCH_PATH_RESULT specification + address range
  42. MercedBranchMispredictDetail = 0x10, // "BR_MISPREDICT_DETAIL", // XXTF - ToBeDone - Prediction outcome specification + address range
  43. MercedBranchEvents = 0x11, // "BRANCH_EVENT",
  44. MercedCpuCycles = 0x12, // "CPU_CYCLES", // XXTF - ToBeDone - All/IA64/IA32
  45. MercedISATransitions = 0x14, // "ISA_TRANSITIONS",
  46. MercedIA32InstRetired = 0x15, // "IA32_INSTR_RETIRED",
  47. MercedL1InstReads = 0x20, // "L0I_READS", // XXTF - ToBeDone - + address range
  48. MercedL1InstFills = 0x21, // "L0I_FILLS", // XXTF - ToBeDone - + address range
  49. MercedL1InstMisses = 0x22, // "L0I_MISSES", // XXTF - ToBeDone - + address range
  50. MercedInstEAREvents = 0x23, // "INSTRUCTION_EAR_EVENTS",
  51. MercedL1InstPrefetches = 0x24, // "L0I_IPREFETCHES", // XXTF - ToBeDone - + address range
  52. MercedL2InstPrefetches = 0x25, // "L1_INST_PREFETCHES", // XXTF - ToBeDone - + address range
  53. MercedInstStreamingBufferLinesIn = 0x26, // "ISB_LINES_IN", // XXTF - ToBeDone - + address range
  54. MercedInstTLBDemandFetchMisses = 0x27, // "ITLB_MISSES_FETCH", // XXTF - ToBeDone - + ??? address range + PMC.umask on L1ITLB/L2ITLB/ALL/NOTHING.
  55. MercedInstTLBHPWInserts = 0x28, // "ITLB_INSERTS_HPW", // XXTF - ToBeDone - + ??? address range
  56. MercedInstDispersed = 0x2d, // "INST_DISPERSED",
  57. MercedExplicitStops = 0x2e, // "EXPL_STOPBITS",
  58. MercedImplicitStops = 0x2f, // "IMPL_STOPS_DISPERSED",
  59. MercedInstNOPRetired = 0x30, // "NOPS_RETIRED",
  60. MercedInstPredicateSquashedRetired = 0x31, // "PREDICATE_SQUASHED_RETIRED",
  61. MercedRSELoadRetired = 0x32, // "RSE_LOADS_RETIRED",
  62. MercedPipelineFlushes = 0x33, // "PIPELINE_FLUSH",
  63. MercedCpuCPLChanges = 0x34, // "CPU_CPL_CHANGES",
  64. MercedFailedSpeculativeCheckLoads = 0x35, // "INST_FAILED_CHKS_RETIRED", // XXTF - ToBeDone - INST_TYPE
  65. MercedAdvancedCheckLoads = 0x36, // "ALAT_INST_CHKA_LDC", // XXTF - ToBeDone - INST_TYPE
  66. MercedFailedAdvancedCheckLoads = 0x37, // "ALAT_INST_FAILED_CHKA_LDC", // XXTF - ToBeDone - INST_TYPE
  67. MercedALATOverflows = 0x38, // "ALAT_CAPACITY_MISS", // XXTF - ToBeDone - INST_TYPE
  68. MercedExternBPMPins03Asserted = 0x5e, // "EXTERN_BPM_PINS_0_TO_3",
  69. MercedExternBPMPins45Asserted = 0x5f, // "EXTERN_BPM_PINS_4_TO_5",
  70. MercedDataTCMisses = 0x60, // "DTC_MISSES", // XXTF - ToBeDone - + ??? address range
  71. MercedDataTLBMisses = 0x61, // "DTLB_MISSES", // XXTF - ToBeDone - + ??? address range
  72. MercedDataTLBHPWInserts = 0x62, // "DTLB_INSERTS_HPW", // XXTF - ToBeDone - + ??? address range
  73. MercedDataReferences = 0x63, // "DATA_REFERENCES_RETIRED", // XXTF - ToBeDone - + ibr, opcode, dbr
  74. MercedL1DataReads = 0x64, // "L1D_READS_RETIRED", // XXTF - ToBeDone - + ibr, opcode, dbr
  75. MercedRSEAccesses = 0x65, // "RSE_REFERENCES_RETIRED",
  76. MercedL1DataReadMisses = 0x66, // "L1D_READ_MISSES_RETIRED", // XXTF - ToBeDone - + ibr, opcode, dbr
  77. MercedL1DataEAREvents = 0x67, // "DATA_EAR_EVENTS",
  78. MercedL2References = 0x68, // "L2_REFERENCES", // XXTF - ToBeDone - + ibr, opcode, dbr
  79. MercedL2DataReferences = 0x69, // "L2_DATA_REFERENCES", // XXTF - ToBeDone - + ibr, opcode, dbr
  80. MercedL2Misses = 0x6a, // "L2_MISSES", // XXTF - ToBeDone - + ibr, opcode, dbr
  81. MercedL1DataForcedLoadMisses = 0x6b, // "L1D_READ_FORCED_MISSES_RETIRED", // XXTF - ToBeDone - + ibr, opcode, dbr
  82. MercedRetiredLoads = 0x6c, // "LOADS_RETIRED",
  83. MercedRetiredStores = 0x6d, // "STORES_RETIRED",
  84. MercedRetiredUncacheableLoads = 0x6e, // "UC_LOADS_RETIRED",
  85. MercedRetiredUncacheableStores = 0x6f, // "UC_STORES_RETIRED",
  86. MercedRetiredMisalignedLoads = 0x70, // "MISALIGNED_LOADS_RETIRED",
  87. MercedRetiredMisalignedStores = 0x71, // "MISALIGNED_STORES_RETIRED",
  88. MercedL2Flushes = 0x76, // "L2_FLUSHES", // XXTF - ToBeDone - + ibr, opcode, dbr
  89. MercedL2FlushesDetail = 0x77, // "L2_FLUSH_DETAILS", // XXTF - ToBeDone - + ibr, opcode, dbr
  90. MercedL3References = 0x7b, // "L3_REFERENCES",
  91. MercedL3Misses = 0x7c, // "L3_MISSES",
  92. MercedL3Reads = 0x7d, // "L3_READS",
  93. MercedL3Writes = 0x7e, // "L3_WRITES",
  94. MercedL3LinesReplaced = 0x7f, // "L3_LINES_REPLACED",
  95. //
  96. // 02/08/00 - Are missing: [at least]
  97. // - Front-Side bus events,
  98. // - IVE events,
  99. // - Debug monitor events,
  100. // - ...
  101. //
  102. } MERCED_MONITOR_EVENT;
  103. //
  104. // Merced Derived Events:
  105. //
  106. // Assumption: MercedDerivedEventMinimum > MercedMonitoredEventMaximum.
  107. //
  108. typedef enum _MERCED_DERIVED_EVENT {
  109. MercedDerivedEventMinimum = 0x100, /* > Maximum of Merced Monitored Event */
  110. MercedRSEStallCycles = MercedDerivedEventMinimum, // XXTF - ToBeDone - (MercedMemoryStallCycles - MercedDataStallAccessCycles)
  111. MercedIssueLimitStallCycles, // XXTF - ToBeDone - (MercedExecStallCycles - MercedExecLatencyStallCycles)
  112. MercedTakenBranchStallCycles, // XXTF - ToBeDone - (MercedBranchStallCycles - MercedBranchMispredictStallCycles)
  113. MercedFetchWindowStallCycles, // XXTF - ToBeDone - (MercedInstFetchStallCycles - MercedInstAccessStallCycles)
  114. MercedIA64InstPerCycle, // XXTF - ToBeDone - (IA64_INST_RETIRED.u / CPU_CYCLES[IA64])
  115. MercedIA32InstPerCycle, // XXTF - ToBeDone - (IA32_INSTR_RETIRED / CPU_CYCLES[IA32])
  116. MercedAvgIA64InstPerTransition, // XXTF - ToBeDone - (IA64_INST_RETIRED.u / (ISA_TRANSITIONS * 2))
  117. MercedAvgIA32InstPerTransition, // XXTF - ToBeDone - (IA32_INSTR_RETIRED / (ISA_TRANSITIONS * 2))
  118. MercedAvgIA64CyclesPerTransition, // XXTF - ToBeDone - (CPU_CYCLES[IA64] / (ISA_TRANSITIONS * 2))
  119. MercedAvgIA32CyclesPerTransition, // XXTF - ToBeDone - (CPU_CYCLES[IA32] / (ISA_TRANSITIONS * 2))
  120. MercedL1InstReferences, // XXTF - ToBeDone - (L1I_READS / L1I_IPREFETCHES)
  121. MercedL1InstMissRatio, // XXTF - ToBeDone - (L1I_MISSES / MercedL1InstReferences)
  122. MercedL1DataReadMissRatio, // XXTF - ToBeDone - (L1D_READS_MISSES_RETIRED / L1D_READS_RETIRED)
  123. MercedL2MissRatio, // XXTF - ToBeDone - (L2_MISSES / L2_REFERENCES)
  124. MercedL2DataMissRatio, // XXTF - ToBeDone - (L3_DATA_REFERENCES / L2_DATA_REFERENCES)
  125. MercedL2InstMissRatio, // XXTF - ToBeDone - (L3_DATA_REFERENCES / L2_DATA_REFERENCES)
  126. MercedL2DataReadMissRatio, // XXTF - ToBeDone - (L3_LOAD_REFERENCES.u / L2_DATA_READS.u)
  127. MercedL2DataWriteMissRatio, // XXTF - ToBeDone - (L3_STORE_REFERENCES.u / L2_DATA_WRITES.u)
  128. MercedL2InstFetchRatio, // XXTF - ToBeDone - (L1I_MISSES / L2_REFERENCES)
  129. MercedL2DataRatio, // XXTF - ToBeDone - (L2_DATA_REFERENCES / L2_REFERENCES)
  130. MercedL3MissRatio, // XXTF - ToBeDone - (L3_MISSES / L2_MISSES)
  131. MercedL3DataMissRatio, // XXTF - ToBeDone - ((L3_LOAD_MISSES.u + L3_STORE_MISSES.u) / L3_REFERENCES.d)
  132. MercedL3InstMissRatio, // XXTF - ToBeDone - (L3_INST_MISSES.u / L3_INST_REFERENCES.u)
  133. MercedL3DataReadMissRatio, // XXTF - ToBeDone - (L3_LOAD_REFERENCES.u / L3_DATA_REFERENCES.d)
  134. MercedL3DataRatio, // XXTF - ToBeDone - (L3_DATA_REFERENCES.d / L3_REFERENCES)
  135. MercedInstReferences, // XXTF - ToBeDone - (L1I_READS)
  136. MercedInstTLBMissRatio, // XXTF - ToBeDone - (ITLB_MISSES_FETCH / L1I_READS)
  137. MercedDataTLBMissRatio, // XXTF - ToBeDone - (DTLB_MISSES / DATA_REFERENCES_RETIRED)
  138. MercedDataTCMissRatio, // XXTF - ToBeDone - (DTC_MISSES / DATA_REFERENCES_RETIRED)
  139. MercedInstTLBEAREvents, // XXTF - ToBeDone - (INSTRUCTION_EAR_EVENTS)
  140. MercedDataTLBEAREvents, // XXTF - ToBeDone - (DATA_EAR_EVENTS)
  141. MercedCodeDebugRegisterMatches, // XXTF - ToBeDone - (IA64_TAGGED_INSTRS_RETIRED)
  142. MercedDataDebugRegisterMatches, // XXTF - ToBeDone - (LOADS_RETIRED + STORES_RETIRED)
  143. MercedControlSpeculationMissRatio, // XXTF - ToBeDone - (INST_FAILED_CHKS_RETIRED / IA64_TAGGED_INSTRS_RETIRED[chk.s])
  144. MercedDataSpeculationMissRatio, // XXTF - ToBeDone - (ALAT_INST_FAILED_CHKA_LDC / ALAT_INST_CHKA_LDC)
  145. MercedALATCapacityMissRatio, // XXTF - ToBeDone - (ALAT_CAPACITY_MISS / IA64_TAGGED_INSTRS_RETIRED[ld.sa,ld.a,ldfp.a,ldfp.sa])
  146. MercedL1DataWayMispredicts, // XXTF - ToBeDone - (EventCode: 0x33 / Umask: 0x2)
  147. MercedL2InstReferences, // XXTF - ToBeDone - (L1I_MISSES + L2_INST_PREFETCHES)
  148. MercedInstFetches, // XXTF - ToBeDone - (L1I_MISSES)
  149. MercedL2DataReads, // XXTF - ToBeDone - (L2_DATA_REFERENCES/0x1)
  150. MercedL2DataWrites, // XXTF - ToBeDone - (L2_DATA_REFERENCES/0x2)
  151. MercedL3InstReferences, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  152. MercedL3InstMisses, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  153. MercedL3InstHits, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  154. MercedL3DataReferences, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  155. MercedL3LoadReferences, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  156. MercedL3LoadMisses, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  157. MercedL3LoadHits, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  158. MercedL3ReadReferences, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  159. MercedL3ReadMisses, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  160. MercedL3ReadHits, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  161. MercedL3StoreReferences, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  162. MercedL3StoreMisses, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  163. MercedL3StoreHits, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  164. MercedL2WriteBackReferences, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  165. MercedL2WriteBackMisses, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  166. MercedL2WriteBackHits, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  167. MercedL2WriteReferences, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  168. MercedL2WriteMisses, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  169. MercedL2WriteHits, // XXTF - ToBeDone - (PMC.umask{17:16}HIT/MISS/ALL + PMC.umask{19:18})
  170. MercedBranchInstructions, // XXTF - ToBeDone - (TAGGED_INSTR + opcode)
  171. MercedIntegerInstructions, // XXTF - ToBeDone - (TAGGED_INSTR + opcode)
  172. MercedL1DataMisses, // XXTF - ToBeDone -
  173. MercedFPOperationsRetired, // XXTF - ToBeDone - ((FP_OPS_RETIRED_HI * 4) + FP_OPS_RETIRED_LO
  174. } MERCED_DERIVED_EVENT;
  175. typedef enum _KPROFILE_MERCED_SOURCE {
  176. //
  177. // Profile Merced Monitored Events:
  178. //
  179. ProfileMercedMonitoredEventMinimum = ProfileMaximum + 0x1,
  180. ProfileMercedBranchMispredictStallCycles = ProfileMercedMonitoredEventMinimum,
  181. ProfileMercedInstAccessStallCycles,
  182. ProfileMercedExecLatencyStallCycles,
  183. ProfileMercedDataAccessStallCycles,
  184. ProfileMercedBranchStallCycles,
  185. ProfileMercedInstFetchStallCycles,
  186. ProfileMercedExecStallCycles,
  187. ProfileMercedMemoryStallCycles,
  188. ProfileMercedTaggedInstRetired,
  189. ProfileMercedInstRetired,
  190. ProfileMercedFPOperationsRetiredLow,
  191. ProfileMercedFPOperationsRetiredHigh,
  192. ProfileMercedFPFlushesToZero,
  193. ProfileMercedSIRFlushes,
  194. ProfileMercedBranchTakenDetail,
  195. ProfileMercedBranchMultiWayDetail,
  196. ProfileMercedBranchPathPrediction,
  197. ProfileMercedBranchMispredictDetail,
  198. ProfileMercedBranchEvents,
  199. ProfileMercedCpuCycles,
  200. ProfileMercedISATransitions,
  201. ProfileMercedIA32InstRetired,
  202. ProfileMercedL1InstReads,
  203. ProfileMercedL1InstFills,
  204. ProfileMercedL1InstMisses,
  205. ProfileMercedInstEAREvents,
  206. ProfileMercedL1InstPrefetches,
  207. ProfileMercedL2InstPrefetches,
  208. ProfileMercedInstStreamingBufferLinesIn,
  209. ProfileMercedInstTLBDemandFetchMisses,
  210. ProfileMercedInstTLBHPWInserts,
  211. ProfileMercedInstDispersed,
  212. ProfileMercedExplicitStops,
  213. ProfileMercedImplicitStops,
  214. ProfileMercedInstNOPRetired,
  215. ProfileMercedInstPredicateSquashedRetired,
  216. ProfileMercedRSELoadRetired,
  217. ProfileMercedPipelineFlushes,
  218. ProfileMercedCpuCPLChanges,
  219. ProfileMercedFailedSpeculativeCheckLoads,
  220. ProfileMercedAdvancedCheckLoads,
  221. ProfileMercedFailedAdvancedCheckLoads,
  222. ProfileMercedALATOverflows,
  223. ProfileMercedExternBPMPins03Asserted,
  224. ProfileMercedExternBPMPins45Asserted,
  225. ProfileMercedDataTCMisses,
  226. ProfileMercedDataTLBMisses,
  227. ProfileMercedDataTLBHPWInserts,
  228. ProfileMercedDataReferences,
  229. ProfileMercedL1DataReads,
  230. ProfileMercedRSEAccesses,
  231. ProfileMercedL1DataReadMisses,
  232. ProfileMercedL1DataEAREvents,
  233. ProfileMercedL2References,
  234. ProfileMercedL2DataReferences,
  235. ProfileMercedL2Misses,
  236. ProfileMercedL1DataForcedLoadMisses,
  237. ProfileMercedRetiredLoads,
  238. ProfileMercedRetiredStores,
  239. ProfileMercedRetiredUncacheableLoads,
  240. ProfileMercedRetiredUncacheableStores,
  241. ProfileMercedRetiredMisalignedLoads,
  242. ProfileMercedRetiredMisalignedStores,
  243. ProfileMercedL2Flushes,
  244. ProfileMercedL2FlushesDetail,
  245. ProfileMercedL3References,
  246. ProfileMercedL3Misses,
  247. ProfileMercedL3Reads,
  248. ProfileMercedL3Writes,
  249. ProfileMercedL3LinesReplaced,
  250. //
  251. // 02/08/00 - Are missing: [at least]
  252. // - Front-Side bus events,
  253. // - IVE events,
  254. // - Debug monitor events,
  255. // - ...
  256. //
  257. //
  258. // Profile Merced Derived Events:
  259. //
  260. ProfileMercedDerivedEventMinimum,
  261. ProfileMercedRSEStallCycles = ProfileMercedDerivedEventMinimum,
  262. ProfileMercedIssueLimitStallCycles,
  263. ProfileMercedTakenBranchStallCycles,
  264. ProfileMercedFetchWindowStallCycles,
  265. ProfileMercedIA64InstPerCycle,
  266. ProfileMercedIA32InstPerCycle,
  267. ProfileMercedAvgIA64InstPerTransition,
  268. ProfileMercedAvgIA32InstPerTransition,
  269. ProfileMercedAvgIA64CyclesPerTransition,
  270. ProfileMercedAvgIA32CyclesPerTransition,
  271. ProfileMercedL1InstReferences,
  272. ProfileMercedL1InstMissRatio,
  273. ProfileMercedL1DataReadMissRatio,
  274. ProfileMercedL2MissRatio,
  275. ProfileMercedL2DataMissRatio,
  276. ProfileMercedL2InstMissRatio,
  277. ProfileMercedL2DataReadMissRatio,
  278. ProfileMercedL2DataWriteMissRatio,
  279. ProfileMercedL2InstFetchRatio,
  280. ProfileMercedL2DataRatio,
  281. ProfileMercedL3MissRatio,
  282. ProfileMercedL3DataMissRatio,
  283. ProfileMercedL3InstMissRatio,
  284. ProfileMercedL3DataReadMissRatio,
  285. ProfileMercedL3DataRatio,
  286. ProfileMercedInstReferences,
  287. ProfileMercedInstTLBMissRatio,
  288. ProfileMercedDataTLBMissRatio,
  289. ProfileMercedDataTCMissRatio,
  290. ProfileMercedInstTLBEAREvents,
  291. ProfileMercedDataTLBEAREvents,
  292. ProfileMercedCodeDebugRegisterMatches,
  293. ProfileMercedDataDebugRegisterMatches,
  294. ProfileMercedControlSpeculationMissRatio,
  295. ProfileMercedDataSpeculationMissRatio,
  296. ProfileMercedALATCapacityMissRatio,
  297. ProfileMercedL1DataWayMispredicts,
  298. ProfileMercedL2InstReferences,
  299. ProfileMercedInstFetches,
  300. ProfileMercedL2DataReads,
  301. ProfileMercedL2DataWrites,
  302. ProfileMercedL3InstReferences,
  303. ProfileMercedL3InstMisses,
  304. ProfileMercedL3InstHits,
  305. ProfileMercedL3DataReferences,
  306. ProfileMercedL3LoadReferences,
  307. ProfileMercedL3LoadMisses,
  308. ProfileMercedL3LoadHits,
  309. ProfileMercedL3ReadReferences,
  310. ProfileMercedL3ReadMisses,
  311. ProfileMercedL3ReadHits,
  312. ProfileMercedL3StoreReferences,
  313. ProfileMercedL3StoreMisses,
  314. ProfileMercedL3StoreHits,
  315. ProfileMercedL2WriteBackReferences,
  316. ProfileMercedL2WriteBackMisses,
  317. ProfileMercedL2WriteBackHits,
  318. ProfileMercedL2WriteReferences,
  319. ProfileMercedL2WriteMisses,
  320. ProfileMercedL2WriteHits,
  321. ProfileMercedBranchInstructions,
  322. ProfileMercedIntegerInstructions,
  323. ProfileMercedL1DataMisses,
  324. ProfileMercedFPOperationsRetired,
  325. ProfileMercedMaximum
  326. } KPROFILE_MERCED_SOURCE, *PKPROFILE_MERCED_SOURCE;
  327. #define PROFILE_TIME_MERCED_DEFAULT_INTERVAL (10 * 1000 * 10) // 10 milliseconds
  328. #endif /* MERCED_H_INCLUDED */