1*7e74ece3SIan Rogers[
2*7e74ece3SIan Rogers    {
3*7e74ece3SIan Rogers        "BriefDescription": "Cycles while L3 cache miss demand load is outstanding.",
4*7e74ece3SIan Rogers        "CounterMask": "2",
5*7e74ece3SIan Rogers        "EventCode": "0xA3",
6*7e74ece3SIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L3_MISS",
7*7e74ece3SIan Rogers        "SampleAfterValue": "1000003",
8*7e74ece3SIan Rogers        "UMask": "0x2"
9*7e74ece3SIan Rogers    },
10*7e74ece3SIan Rogers    {
11*7e74ece3SIan Rogers        "BriefDescription": "Execution stalls while L3 cache miss demand load is outstanding.",
12*7e74ece3SIan Rogers        "CounterMask": "6",
13*7e74ece3SIan Rogers        "EventCode": "0xa3",
14*7e74ece3SIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L3_MISS",
15*7e74ece3SIan Rogers        "SampleAfterValue": "1000003",
16*7e74ece3SIan Rogers        "UMask": "0x6"
17*7e74ece3SIan Rogers    },
18*7e74ece3SIan Rogers    {
19*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE execution aborted due to any reasons (multiple categories may count as one).",
20*7e74ece3SIan Rogers        "EventCode": "0xc8",
21*7e74ece3SIan Rogers        "EventName": "HLE_RETIRED.ABORTED",
22*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times HLE abort was triggered.",
23*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
24*7e74ece3SIan Rogers        "UMask": "0x4"
25*7e74ece3SIan Rogers    },
26*7e74ece3SIan Rogers    {
27*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE execution aborted due to unfriendly events (such as interrupts).",
28*7e74ece3SIan Rogers        "EventCode": "0xc8",
29*7e74ece3SIan Rogers        "EventName": "HLE_RETIRED.ABORTED_EVENTS",
30*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times an HLE execution aborted due to unfriendly events (such as interrupts).",
31*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
32*7e74ece3SIan Rogers        "UMask": "0x80"
33*7e74ece3SIan Rogers    },
34*7e74ece3SIan Rogers    {
35*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE execution aborted due to various memory events (e.g., read/write capacity and conflicts).",
36*7e74ece3SIan Rogers        "EventCode": "0xc8",
37*7e74ece3SIan Rogers        "EventName": "HLE_RETIRED.ABORTED_MEM",
38*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times an HLE execution aborted due to various memory events (e.g., read/write capacity and conflicts).",
39*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
40*7e74ece3SIan Rogers        "UMask": "0x8"
41*7e74ece3SIan Rogers    },
42*7e74ece3SIan Rogers    {
43*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE execution aborted due to HLE-unfriendly instructions and certain unfriendly events (such as AD assists etc.).",
44*7e74ece3SIan Rogers        "EventCode": "0xc8",
45*7e74ece3SIan Rogers        "EventName": "HLE_RETIRED.ABORTED_UNFRIENDLY",
46*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times an HLE execution aborted due to HLE-unfriendly instructions and certain unfriendly events (such as AD assists etc.).",
47*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
48*7e74ece3SIan Rogers        "UMask": "0x20"
49*7e74ece3SIan Rogers    },
50*7e74ece3SIan Rogers    {
51*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE execution successfully committed",
52*7e74ece3SIan Rogers        "EventCode": "0xc8",
53*7e74ece3SIan Rogers        "EventName": "HLE_RETIRED.COMMIT",
54*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times HLE commit succeeded.",
55*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
56*7e74ece3SIan Rogers        "UMask": "0x2"
57*7e74ece3SIan Rogers    },
58*7e74ece3SIan Rogers    {
59*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE execution started.",
60*7e74ece3SIan Rogers        "EventCode": "0xc8",
61*7e74ece3SIan Rogers        "EventName": "HLE_RETIRED.START",
62*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times we entered an HLE region. Does not count nested transactions.",
63*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
64*7e74ece3SIan Rogers        "UMask": "0x1"
65*7e74ece3SIan Rogers    },
66*7e74ece3SIan Rogers    {
67*7e74ece3SIan Rogers        "BriefDescription": "Number of machine clears due to memory ordering conflicts.",
68*7e74ece3SIan Rogers        "EventCode": "0xc3",
69*7e74ece3SIan Rogers        "EventName": "MACHINE_CLEARS.MEMORY_ORDERING",
70*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of Machine Clears detected dye to memory ordering. Memory Ordering Machine Clears may apply when a memory read may not conform to the memory ordering rules of the x86 architecture",
71*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
72*7e74ece3SIan Rogers        "UMask": "0x2"
73*7e74ece3SIan Rogers    },
74*7e74ece3SIan Rogers    {
75*7e74ece3SIan Rogers        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles.",
76*7e74ece3SIan Rogers        "Data_LA": "1",
77*7e74ece3SIan Rogers        "EventCode": "0xcd",
78*7e74ece3SIan Rogers        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_128",
79*7e74ece3SIan Rogers        "MSRIndex": "0x3F6",
80*7e74ece3SIan Rogers        "MSRValue": "0x80",
81*7e74ece3SIan Rogers        "PEBS": "2",
82*7e74ece3SIan Rogers        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 128 cycles.  Reported latency may be longer than just the memory latency.",
83*7e74ece3SIan Rogers        "SampleAfterValue": "1009",
84*7e74ece3SIan Rogers        "UMask": "0x1"
85*7e74ece3SIan Rogers    },
86*7e74ece3SIan Rogers    {
87*7e74ece3SIan Rogers        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles.",
88*7e74ece3SIan Rogers        "Data_LA": "1",
89*7e74ece3SIan Rogers        "EventCode": "0xcd",
90*7e74ece3SIan Rogers        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_16",
91*7e74ece3SIan Rogers        "MSRIndex": "0x3F6",
92*7e74ece3SIan Rogers        "MSRValue": "0x10",
93*7e74ece3SIan Rogers        "PEBS": "2",
94*7e74ece3SIan Rogers        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 16 cycles.  Reported latency may be longer than just the memory latency.",
95*7e74ece3SIan Rogers        "SampleAfterValue": "20011",
96*7e74ece3SIan Rogers        "UMask": "0x1"
97*7e74ece3SIan Rogers    },
98*7e74ece3SIan Rogers    {
99*7e74ece3SIan Rogers        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 256 cycles.",
100*7e74ece3SIan Rogers        "Data_LA": "1",
101*7e74ece3SIan Rogers        "EventCode": "0xcd",
102*7e74ece3SIan Rogers        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_256",
103*7e74ece3SIan Rogers        "MSRIndex": "0x3F6",
104*7e74ece3SIan Rogers        "MSRValue": "0x100",
105*7e74ece3SIan Rogers        "PEBS": "2",
106*7e74ece3SIan Rogers        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 256 cycles.  Reported latency may be longer than just the memory latency.",
107*7e74ece3SIan Rogers        "SampleAfterValue": "503",
108*7e74ece3SIan Rogers        "UMask": "0x1"
109*7e74ece3SIan Rogers    },
110*7e74ece3SIan Rogers    {
111*7e74ece3SIan Rogers        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 32 cycles.",
112*7e74ece3SIan Rogers        "Data_LA": "1",
113*7e74ece3SIan Rogers        "EventCode": "0xcd",
114*7e74ece3SIan Rogers        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_32",
115*7e74ece3SIan Rogers        "MSRIndex": "0x3F6",
116*7e74ece3SIan Rogers        "MSRValue": "0x20",
117*7e74ece3SIan Rogers        "PEBS": "2",
118*7e74ece3SIan Rogers        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 32 cycles.  Reported latency may be longer than just the memory latency.",
119*7e74ece3SIan Rogers        "SampleAfterValue": "100007",
120*7e74ece3SIan Rogers        "UMask": "0x1"
121*7e74ece3SIan Rogers    },
122*7e74ece3SIan Rogers    {
123*7e74ece3SIan Rogers        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 4 cycles.",
124*7e74ece3SIan Rogers        "Data_LA": "1",
125*7e74ece3SIan Rogers        "EventCode": "0xcd",
126*7e74ece3SIan Rogers        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_4",
127*7e74ece3SIan Rogers        "MSRIndex": "0x3F6",
128*7e74ece3SIan Rogers        "MSRValue": "0x4",
129*7e74ece3SIan Rogers        "PEBS": "2",
130*7e74ece3SIan Rogers        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 4 cycles.  Reported latency may be longer than just the memory latency.",
131*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
132*7e74ece3SIan Rogers        "UMask": "0x1"
133*7e74ece3SIan Rogers    },
134*7e74ece3SIan Rogers    {
135*7e74ece3SIan Rogers        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 512 cycles.",
136*7e74ece3SIan Rogers        "Data_LA": "1",
137*7e74ece3SIan Rogers        "EventCode": "0xcd",
138*7e74ece3SIan Rogers        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_512",
139*7e74ece3SIan Rogers        "MSRIndex": "0x3F6",
140*7e74ece3SIan Rogers        "MSRValue": "0x200",
141*7e74ece3SIan Rogers        "PEBS": "2",
142*7e74ece3SIan Rogers        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 512 cycles.  Reported latency may be longer than just the memory latency.",
143*7e74ece3SIan Rogers        "SampleAfterValue": "101",
144*7e74ece3SIan Rogers        "UMask": "0x1"
145*7e74ece3SIan Rogers    },
146*7e74ece3SIan Rogers    {
147*7e74ece3SIan Rogers        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 64 cycles.",
148*7e74ece3SIan Rogers        "Data_LA": "1",
149*7e74ece3SIan Rogers        "EventCode": "0xcd",
150*7e74ece3SIan Rogers        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_64",
151*7e74ece3SIan Rogers        "MSRIndex": "0x3F6",
152*7e74ece3SIan Rogers        "MSRValue": "0x40",
153*7e74ece3SIan Rogers        "PEBS": "2",
154*7e74ece3SIan Rogers        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 64 cycles.  Reported latency may be longer than just the memory latency.",
155*7e74ece3SIan Rogers        "SampleAfterValue": "2003",
156*7e74ece3SIan Rogers        "UMask": "0x1"
157*7e74ece3SIan Rogers    },
158*7e74ece3SIan Rogers    {
159*7e74ece3SIan Rogers        "BriefDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 8 cycles.",
160*7e74ece3SIan Rogers        "Data_LA": "1",
161*7e74ece3SIan Rogers        "EventCode": "0xcd",
162*7e74ece3SIan Rogers        "EventName": "MEM_TRANS_RETIRED.LOAD_LATENCY_GT_8",
163*7e74ece3SIan Rogers        "MSRIndex": "0x3F6",
164*7e74ece3SIan Rogers        "MSRValue": "0x8",
165*7e74ece3SIan Rogers        "PEBS": "2",
166*7e74ece3SIan Rogers        "PublicDescription": "Counts randomly selected loads when the latency from first dispatch to completion is greater than 8 cycles.  Reported latency may be longer than just the memory latency.",
167*7e74ece3SIan Rogers        "SampleAfterValue": "50021",
168*7e74ece3SIan Rogers        "UMask": "0x1"
169*7e74ece3SIan Rogers    },
170*7e74ece3SIan Rogers    {
171*7e74ece3SIan Rogers        "BriefDescription": "Counts demand instruction fetches and L1 instruction cache prefetches that was not supplied by the L3 cache.",
172*7e74ece3SIan Rogers        "EventCode": "0xB7, 0xBB",
173*7e74ece3SIan Rogers        "EventName": "OCR.DEMAND_CODE_RD.L3_MISS",
174*7e74ece3SIan Rogers        "MSRIndex": "0x1a6,0x1a7",
175*7e74ece3SIan Rogers        "MSRValue": "0x3FFFC00004",
176*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
177*7e74ece3SIan Rogers        "UMask": "0x1"
178*7e74ece3SIan Rogers    },
179*7e74ece3SIan Rogers    {
180*7e74ece3SIan Rogers        "BriefDescription": "Counts demand data reads that was not supplied by the L3 cache.",
181*7e74ece3SIan Rogers        "EventCode": "0xB7, 0xBB",
182*7e74ece3SIan Rogers        "EventName": "OCR.DEMAND_DATA_RD.L3_MISS",
183*7e74ece3SIan Rogers        "MSRIndex": "0x1a6,0x1a7",
184*7e74ece3SIan Rogers        "MSRValue": "0x3FFFC00001",
185*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
186*7e74ece3SIan Rogers        "UMask": "0x1"
187*7e74ece3SIan Rogers    },
188*7e74ece3SIan Rogers    {
189*7e74ece3SIan Rogers        "BriefDescription": "Counts demand reads for ownership (RFO) requests and software prefetches for exclusive ownership (PREFETCHW) that was not supplied by the L3 cache.",
190*7e74ece3SIan Rogers        "EventCode": "0xB7, 0xBB",
191*7e74ece3SIan Rogers        "EventName": "OCR.DEMAND_RFO.L3_MISS",
192*7e74ece3SIan Rogers        "MSRIndex": "0x1a6,0x1a7",
193*7e74ece3SIan Rogers        "MSRValue": "0x3FFFC00002",
194*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
195*7e74ece3SIan Rogers        "UMask": "0x1"
196*7e74ece3SIan Rogers    },
197*7e74ece3SIan Rogers    {
198*7e74ece3SIan Rogers        "BriefDescription": "Counts L1 data cache prefetch requests and software prefetches (except PREFETCHW) that was not supplied by the L3 cache.",
199*7e74ece3SIan Rogers        "EventCode": "0xB7, 0xBB",
200*7e74ece3SIan Rogers        "EventName": "OCR.HWPF_L1D_AND_SWPF.L3_MISS",
201*7e74ece3SIan Rogers        "MSRIndex": "0x1a6,0x1a7",
202*7e74ece3SIan Rogers        "MSRValue": "0x3FFFC00400",
203*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
204*7e74ece3SIan Rogers        "UMask": "0x1"
205*7e74ece3SIan Rogers    },
206*7e74ece3SIan Rogers    {
207*7e74ece3SIan Rogers        "BriefDescription": "Counts hardware prefetch data reads (which bring data to L2)  that was not supplied by the L3 cache.",
208*7e74ece3SIan Rogers        "EventCode": "0xB7, 0xBB",
209*7e74ece3SIan Rogers        "EventName": "OCR.HWPF_L2_DATA_RD.L3_MISS",
210*7e74ece3SIan Rogers        "MSRIndex": "0x1a6,0x1a7",
211*7e74ece3SIan Rogers        "MSRValue": "0x3FFFC00010",
212*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
213*7e74ece3SIan Rogers        "UMask": "0x1"
214*7e74ece3SIan Rogers    },
215*7e74ece3SIan Rogers    {
216*7e74ece3SIan Rogers        "BriefDescription": "Counts hardware prefetch RFOs (which bring data to L2) that was not supplied by the L3 cache.",
217*7e74ece3SIan Rogers        "EventCode": "0xB7, 0xBB",
218*7e74ece3SIan Rogers        "EventName": "OCR.HWPF_L2_RFO.L3_MISS",
219*7e74ece3SIan Rogers        "MSRIndex": "0x1a6,0x1a7",
220*7e74ece3SIan Rogers        "MSRValue": "0x3FFFC00020",
221*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
222*7e74ece3SIan Rogers        "UMask": "0x1"
223*7e74ece3SIan Rogers    },
224*7e74ece3SIan Rogers    {
225*7e74ece3SIan Rogers        "BriefDescription": "Counts miscellaneous requests, such as I/O and un-cacheable accesses that was not supplied by the L3 cache.",
226*7e74ece3SIan Rogers        "EventCode": "0xB7, 0xBB",
227*7e74ece3SIan Rogers        "EventName": "OCR.OTHER.L3_MISS",
228*7e74ece3SIan Rogers        "MSRIndex": "0x1a6,0x1a7",
229*7e74ece3SIan Rogers        "MSRValue": "0x3FFFC08000",
230*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
231*7e74ece3SIan Rogers        "UMask": "0x1"
232*7e74ece3SIan Rogers    },
233*7e74ece3SIan Rogers    {
234*7e74ece3SIan Rogers        "BriefDescription": "Counts streaming stores that was not supplied by the L3 cache.",
235*7e74ece3SIan Rogers        "EventCode": "0xB7, 0xBB",
236*7e74ece3SIan Rogers        "EventName": "OCR.STREAMING_WR.L3_MISS",
237*7e74ece3SIan Rogers        "MSRIndex": "0x1a6,0x1a7",
238*7e74ece3SIan Rogers        "MSRValue": "0x3FFFC00800",
239*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
240*7e74ece3SIan Rogers        "UMask": "0x1"
241*7e74ece3SIan Rogers    },
242*7e74ece3SIan Rogers    {
243*7e74ece3SIan Rogers        "BriefDescription": "Counts demand data read requests that miss the L3 cache.",
244*7e74ece3SIan Rogers        "EventCode": "0xb0",
245*7e74ece3SIan Rogers        "EventName": "OFFCORE_REQUESTS.L3_MISS_DEMAND_DATA_RD",
246*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
247*7e74ece3SIan Rogers        "UMask": "0x10"
248*7e74ece3SIan Rogers    },
249*7e74ece3SIan Rogers    {
250*7e74ece3SIan Rogers        "BriefDescription": "Cycles where at least one demand data read request known to have missed the L3 cache is pending.",
251*7e74ece3SIan Rogers        "CounterMask": "1",
252*7e74ece3SIan Rogers        "EventCode": "0x60",
253*7e74ece3SIan Rogers        "EventName": "OFFCORE_REQUESTS_OUTSTANDING.CYCLES_WITH_L3_MISS_DEMAND_DATA_RD",
254*7e74ece3SIan Rogers        "PublicDescription": "Cycles where at least one demand data read request known to have missed the L3 cache is pending.  Note that this does not capture all elapsed cycles while requests are outstanding - only cycles from when the requests were known to have missed the L3 cache.",
255*7e74ece3SIan Rogers        "SampleAfterValue": "1000003",
256*7e74ece3SIan Rogers        "UMask": "0x10"
257*7e74ece3SIan Rogers    },
258*7e74ece3SIan Rogers    {
259*7e74ece3SIan Rogers        "BriefDescription": "Number of times an RTM execution aborted.",
260*7e74ece3SIan Rogers        "EventCode": "0xc9",
261*7e74ece3SIan Rogers        "EventName": "RTM_RETIRED.ABORTED",
262*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times RTM abort was triggered.",
263*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
264*7e74ece3SIan Rogers        "UMask": "0x4"
265*7e74ece3SIan Rogers    },
266*7e74ece3SIan Rogers    {
267*7e74ece3SIan Rogers        "BriefDescription": "Number of times an RTM execution aborted due to none of the previous 4 categories (e.g. interrupt)",
268*7e74ece3SIan Rogers        "EventCode": "0xc9",
269*7e74ece3SIan Rogers        "EventName": "RTM_RETIRED.ABORTED_EVENTS",
270*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times an RTM execution aborted due to none of the previous 4 categories (e.g. interrupt).",
271*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
272*7e74ece3SIan Rogers        "UMask": "0x80"
273*7e74ece3SIan Rogers    },
274*7e74ece3SIan Rogers    {
275*7e74ece3SIan Rogers        "BriefDescription": "Number of times an RTM execution aborted due to various memory events (e.g. read/write capacity and conflicts)",
276*7e74ece3SIan Rogers        "EventCode": "0xc9",
277*7e74ece3SIan Rogers        "EventName": "RTM_RETIRED.ABORTED_MEM",
278*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times an RTM execution aborted due to various memory events (e.g. read/write capacity and conflicts).",
279*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
280*7e74ece3SIan Rogers        "UMask": "0x8"
281*7e74ece3SIan Rogers    },
282*7e74ece3SIan Rogers    {
283*7e74ece3SIan Rogers        "BriefDescription": "Number of times an RTM execution aborted due to incompatible memory type",
284*7e74ece3SIan Rogers        "EventCode": "0xc9",
285*7e74ece3SIan Rogers        "EventName": "RTM_RETIRED.ABORTED_MEMTYPE",
286*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times an RTM execution aborted due to incompatible memory type.",
287*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
288*7e74ece3SIan Rogers        "UMask": "0x40"
289*7e74ece3SIan Rogers    },
290*7e74ece3SIan Rogers    {
291*7e74ece3SIan Rogers        "BriefDescription": "Number of times an RTM execution aborted due to HLE-unfriendly instructions",
292*7e74ece3SIan Rogers        "EventCode": "0xc9",
293*7e74ece3SIan Rogers        "EventName": "RTM_RETIRED.ABORTED_UNFRIENDLY",
294*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times an RTM execution aborted due to HLE-unfriendly instructions.",
295*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
296*7e74ece3SIan Rogers        "UMask": "0x20"
297*7e74ece3SIan Rogers    },
298*7e74ece3SIan Rogers    {
299*7e74ece3SIan Rogers        "BriefDescription": "Number of times an RTM execution successfully committed",
300*7e74ece3SIan Rogers        "EventCode": "0xc9",
301*7e74ece3SIan Rogers        "EventName": "RTM_RETIRED.COMMIT",
302*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times RTM commit succeeded.",
303*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
304*7e74ece3SIan Rogers        "UMask": "0x2"
305*7e74ece3SIan Rogers    },
306*7e74ece3SIan Rogers    {
307*7e74ece3SIan Rogers        "BriefDescription": "Number of times an RTM execution started.",
308*7e74ece3SIan Rogers        "EventCode": "0xc9",
309*7e74ece3SIan Rogers        "EventName": "RTM_RETIRED.START",
310*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times we entered an RTM region. Does not count nested transactions.",
311*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
312*7e74ece3SIan Rogers        "UMask": "0x1"
313*7e74ece3SIan Rogers    },
314*7e74ece3SIan Rogers    {
315*7e74ece3SIan Rogers        "BriefDescription": "Counts the number of times a class of instructions that may cause a transactional abort was executed inside a transactional region",
316*7e74ece3SIan Rogers        "EventCode": "0x5d",
317*7e74ece3SIan Rogers        "EventName": "TX_EXEC.MISC2",
318*7e74ece3SIan Rogers        "PublicDescription": "Counts Unfriendly TSX abort triggered by a vzeroupper instruction.",
319*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
320*7e74ece3SIan Rogers        "UMask": "0x2"
321*7e74ece3SIan Rogers    },
322*7e74ece3SIan Rogers    {
323*7e74ece3SIan Rogers        "BriefDescription": "Number of times an instruction execution caused the transactional nest count supported to be exceeded",
324*7e74ece3SIan Rogers        "EventCode": "0x5d",
325*7e74ece3SIan Rogers        "EventName": "TX_EXEC.MISC3",
326*7e74ece3SIan Rogers        "PublicDescription": "Counts Unfriendly TSX abort triggered by a nest count that is too deep.",
327*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
328*7e74ece3SIan Rogers        "UMask": "0x4"
329*7e74ece3SIan Rogers    },
330*7e74ece3SIan Rogers    {
331*7e74ece3SIan Rogers        "BriefDescription": "Speculatively counts the number of TSX aborts due to a data capacity limitation for transactional reads",
332*7e74ece3SIan Rogers        "EventCode": "0x54",
333*7e74ece3SIan Rogers        "EventName": "TX_MEM.ABORT_CAPACITY_READ",
334*7e74ece3SIan Rogers        "PublicDescription": "Speculatively counts the number of Transactional Synchronization Extensions (TSX) aborts due to a data capacity limitation for transactional reads",
335*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
336*7e74ece3SIan Rogers        "UMask": "0x80"
337*7e74ece3SIan Rogers    },
338*7e74ece3SIan Rogers    {
339*7e74ece3SIan Rogers        "BriefDescription": "Speculatively counts the number of TSX aborts due to a data capacity limitation for transactional writes.",
340*7e74ece3SIan Rogers        "EventCode": "0x54",
341*7e74ece3SIan Rogers        "EventName": "TX_MEM.ABORT_CAPACITY_WRITE",
342*7e74ece3SIan Rogers        "PublicDescription": "Speculatively counts the number of Transactional Synchronization Extensions (TSX) aborts due to a data capacity limitation for transactional writes.",
343*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
344*7e74ece3SIan Rogers        "UMask": "0x2"
345*7e74ece3SIan Rogers    },
346*7e74ece3SIan Rogers    {
347*7e74ece3SIan Rogers        "BriefDescription": "Number of times a transactional abort was signaled due to a data conflict on a transactionally accessed address",
348*7e74ece3SIan Rogers        "EventCode": "0x54",
349*7e74ece3SIan Rogers        "EventName": "TX_MEM.ABORT_CONFLICT",
350*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times a TSX line had a cache conflict.",
351*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
352*7e74ece3SIan Rogers        "UMask": "0x1"
353*7e74ece3SIan Rogers    },
354*7e74ece3SIan Rogers    {
355*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE transactional execution aborted due to XRELEASE lock not satisfying the address and value requirements in the elision buffer",
356*7e74ece3SIan Rogers        "EventCode": "0x54",
357*7e74ece3SIan Rogers        "EventName": "TX_MEM.ABORT_HLE_ELISION_BUFFER_MISMATCH",
358*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times a TSX Abort was triggered due to release/commit but data and address mismatch.",
359*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
360*7e74ece3SIan Rogers        "UMask": "0x10"
361*7e74ece3SIan Rogers    },
362*7e74ece3SIan Rogers    {
363*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE transactional execution aborted due to NoAllocatedElisionBuffer being non-zero.",
364*7e74ece3SIan Rogers        "EventCode": "0x54",
365*7e74ece3SIan Rogers        "EventName": "TX_MEM.ABORT_HLE_ELISION_BUFFER_NOT_EMPTY",
366*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times a TSX Abort was triggered due to commit but Lock Buffer not empty.",
367*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
368*7e74ece3SIan Rogers        "UMask": "0x8"
369*7e74ece3SIan Rogers    },
370*7e74ece3SIan Rogers    {
371*7e74ece3SIan Rogers        "BriefDescription": "Number of times an HLE transactional execution aborted due to an unsupported read alignment from the elision buffer.",
372*7e74ece3SIan Rogers        "EventCode": "0x54",
373*7e74ece3SIan Rogers        "EventName": "TX_MEM.ABORT_HLE_ELISION_BUFFER_UNSUPPORTED_ALIGNMENT",
374*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times a TSX Abort was triggered due to attempting an unsupported alignment from Lock Buffer.",
375*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
376*7e74ece3SIan Rogers        "UMask": "0x20"
377*7e74ece3SIan Rogers    },
378*7e74ece3SIan Rogers    {
379*7e74ece3SIan Rogers        "BriefDescription": "Number of times a HLE transactional region aborted due to a non XRELEASE prefixed instruction writing to an elided lock in the elision buffer",
380*7e74ece3SIan Rogers        "EventCode": "0x54",
381*7e74ece3SIan Rogers        "EventName": "TX_MEM.ABORT_HLE_STORE_TO_ELIDED_LOCK",
382*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times a TSX Abort was triggered due to a non-release/commit store to lock.",
383*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
384*7e74ece3SIan Rogers        "UMask": "0x4"
385*7e74ece3SIan Rogers    },
386*7e74ece3SIan Rogers    {
387*7e74ece3SIan Rogers        "BriefDescription": "Number of times HLE lock could not be elided due to ElisionBufferAvailable being zero.",
388*7e74ece3SIan Rogers        "EventCode": "0x54",
389*7e74ece3SIan Rogers        "EventName": "TX_MEM.HLE_ELISION_BUFFER_FULL",
390*7e74ece3SIan Rogers        "PublicDescription": "Counts the number of times we could not allocate Lock Buffer.",
391*7e74ece3SIan Rogers        "SampleAfterValue": "100003",
392*7e74ece3SIan Rogers        "UMask": "0x40"
393*7e74ece3SIan Rogers    }
394*7e74ece3SIan Rogers]
395