1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3 *
4 * Copyright (c) 2005 Joseph Koshy
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 *
28 * $FreeBSD$
29 */
30
31 #ifndef _DEV_HWPMC_PMC_EVENTS_H_
32 #define _DEV_HWPMC_PMC_EVENTS_H_
33
34 /*
35 * Note: Documentation on adding events can be found both in
36 * the source tree at src/share/doc/papers/hwpmc/hwpmc.ms
37 * as well as on-line at:
38 *
39 * https://wiki.freebsd.org/PmcTools/PmcHardwareHowTo
40 *
41 * Please refer to those resources before you attempt to modify
42 * this file or the hwpmc driver/subsystem.
43 */
44
45 /* * PMC event codes.
46 *
47 * __PMC_EV(CLASS, SYMBOLIC-NAME)
48 *
49 */
50 /* timestamp counters. */
51 #define __PMC_EV_TSC() \
52 __PMC_EV(TSC, TSC)
53
54 #define PMC_EV_TSC_FIRST PMC_EV_TSC_TSC
55 #define PMC_EV_TSC_LAST PMC_EV_TSC_TSC
56
57 #define __PMC_EV_ALIAS_TSC() \
58 __PMC_EV_ALIAS("cycles", TSC_TSC)
59
60 /*
61 * Software events are dynamically defined.
62 */
63
64 #define PMC_EV_DYN_COUNT 0x1000
65
66 #define PMC_EV_SOFT_FIRST 0x20000
67 #define PMC_EV_SOFT_LAST (PMC_EV_SOFT_FIRST + PMC_EV_DYN_COUNT - 1)
68
69 /*
70 * AMD K7 Events, from "The AMD Athlon(tm) Processor x86 Code
71 * Optimization Guide" [Doc#22007K, Feb 2002]
72 */
73
74 #define __PMC_EV_K7() \
75 __PMC_EV(K7, DC_ACCESSES) \
76 __PMC_EV(K7, DC_MISSES) \
77 __PMC_EV(K7, DC_REFILLS_FROM_L2) \
78 __PMC_EV(K7, DC_REFILLS_FROM_SYSTEM) \
79 __PMC_EV(K7, DC_WRITEBACKS) \
80 __PMC_EV(K7, L1_DTLB_MISS_AND_L2_DTLB_HITS) \
81 __PMC_EV(K7, L1_AND_L2_DTLB_MISSES) \
82 __PMC_EV(K7, MISALIGNED_REFERENCES) \
83 __PMC_EV(K7, IC_FETCHES) \
84 __PMC_EV(K7, IC_MISSES) \
85 __PMC_EV(K7, L1_ITLB_MISSES) \
86 __PMC_EV(K7, L1_L2_ITLB_MISSES) \
87 __PMC_EV(K7, RETIRED_INSTRUCTIONS) \
88 __PMC_EV(K7, RETIRED_OPS) \
89 __PMC_EV(K7, RETIRED_BRANCHES) \
90 __PMC_EV(K7, RETIRED_BRANCHES_MISPREDICTED) \
91 __PMC_EV(K7, RETIRED_TAKEN_BRANCHES) \
92 __PMC_EV(K7, RETIRED_TAKEN_BRANCHES_MISPREDICTED) \
93 __PMC_EV(K7, RETIRED_FAR_CONTROL_TRANSFERS) \
94 __PMC_EV(K7, RETIRED_RESYNC_BRANCHES) \
95 __PMC_EV(K7, INTERRUPTS_MASKED_CYCLES) \
96 __PMC_EV(K7, INTERRUPTS_MASKED_WHILE_PENDING_CYCLES) \
97 __PMC_EV(K7, HARDWARE_INTERRUPTS)
98
99 #define PMC_EV_K7_FIRST PMC_EV_K7_DC_ACCESSES
100 #define PMC_EV_K7_LAST PMC_EV_K7_HARDWARE_INTERRUPTS
101
102 /* AMD K8 PMCs */
103
104 #define __PMC_EV_K8() \
105 __PMC_EV(K8, FP_DISPATCHED_FPU_OPS) \
106 __PMC_EV(K8, FP_CYCLES_WITH_NO_FPU_OPS_RETIRED) \
107 __PMC_EV(K8, FP_DISPATCHED_FPU_FAST_FLAG_OPS) \
108 __PMC_EV(K8, LS_SEGMENT_REGISTER_LOAD) \
109 __PMC_EV(K8, LS_MICROARCHITECTURAL_RESYNC_BY_SELF_MODIFYING_CODE) \
110 __PMC_EV(K8, LS_MICROARCHITECTURAL_RESYNC_BY_SNOOP) \
111 __PMC_EV(K8, LS_BUFFER2_FULL) \
112 __PMC_EV(K8, LS_LOCKED_OPERATION) \
113 __PMC_EV(K8, LS_MICROARCHITECTURAL_LATE_CANCEL) \
114 __PMC_EV(K8, LS_RETIRED_CFLUSH_INSTRUCTIONS) \
115 __PMC_EV(K8, LS_RETIRED_CPUID_INSTRUCTIONS) \
116 __PMC_EV(K8, DC_ACCESS) \
117 __PMC_EV(K8, DC_MISS) \
118 __PMC_EV(K8, DC_REFILL_FROM_L2) \
119 __PMC_EV(K8, DC_REFILL_FROM_SYSTEM) \
120 __PMC_EV(K8, DC_COPYBACK) \
121 __PMC_EV(K8, DC_L1_DTLB_MISS_AND_L2_DTLB_HIT) \
122 __PMC_EV(K8, DC_L1_DTLB_MISS_AND_L2_DTLB_MISS) \
123 __PMC_EV(K8, DC_MISALIGNED_DATA_REFERENCE) \
124 __PMC_EV(K8, DC_MICROARCHITECTURAL_LATE_CANCEL) \
125 __PMC_EV(K8, DC_MICROARCHITECTURAL_EARLY_CANCEL) \
126 __PMC_EV(K8, DC_ONE_BIT_ECC_ERROR) \
127 __PMC_EV(K8, DC_DISPATCHED_PREFETCH_INSTRUCTIONS) \
128 __PMC_EV(K8, DC_DCACHE_ACCESSES_BY_LOCKS) \
129 __PMC_EV(K8, BU_CPU_CLK_UNHALTED) \
130 __PMC_EV(K8, BU_INTERNAL_L2_REQUEST) \
131 __PMC_EV(K8, BU_FILL_REQUEST_L2_MISS) \
132 __PMC_EV(K8, BU_FILL_INTO_L2) \
133 __PMC_EV(K8, IC_FETCH) \
134 __PMC_EV(K8, IC_MISS) \
135 __PMC_EV(K8, IC_REFILL_FROM_L2) \
136 __PMC_EV(K8, IC_REFILL_FROM_SYSTEM) \
137 __PMC_EV(K8, IC_L1_ITLB_MISS_AND_L2_ITLB_HIT) \
138 __PMC_EV(K8, IC_L1_ITLB_MISS_AND_L2_ITLB_MISS) \
139 __PMC_EV(K8, IC_MICROARCHITECTURAL_RESYNC_BY_SNOOP) \
140 __PMC_EV(K8, IC_INSTRUCTION_FETCH_STALL) \
141 __PMC_EV(K8, IC_RETURN_STACK_HIT) \
142 __PMC_EV(K8, IC_RETURN_STACK_OVERFLOW) \
143 __PMC_EV(K8, FR_RETIRED_X86_INSTRUCTIONS) \
144 __PMC_EV(K8, FR_RETIRED_UOPS) \
145 __PMC_EV(K8, FR_RETIRED_BRANCHES) \
146 __PMC_EV(K8, FR_RETIRED_BRANCHES_MISPREDICTED) \
147 __PMC_EV(K8, FR_RETIRED_TAKEN_BRANCHES) \
148 __PMC_EV(K8, FR_RETIRED_TAKEN_BRANCHES_MISPREDICTED) \
149 __PMC_EV(K8, FR_RETIRED_FAR_CONTROL_TRANSFERS) \
150 __PMC_EV(K8, FR_RETIRED_RESYNCS) \
151 __PMC_EV(K8, FR_RETIRED_NEAR_RETURNS) \
152 __PMC_EV(K8, FR_RETIRED_NEAR_RETURNS_MISPREDICTED) \
153 __PMC_EV(K8, FR_RETIRED_TAKEN_BRANCHES_MISPREDICTED_BY_ADDR_MISCOMPARE) \
154 __PMC_EV(K8, FR_RETIRED_FPU_INSTRUCTIONS) \
155 __PMC_EV(K8, FR_RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS) \
156 __PMC_EV(K8, FR_INTERRUPTS_MASKED_CYCLES) \
157 __PMC_EV(K8, FR_INTERRUPTS_MASKED_WHILE_PENDING_CYCLES) \
158 __PMC_EV(K8, FR_TAKEN_HARDWARE_INTERRUPTS) \
159 __PMC_EV(K8, FR_DECODER_EMPTY) \
160 __PMC_EV(K8, FR_DISPATCH_STALLS) \
161 __PMC_EV(K8, FR_DISPATCH_STALL_FROM_BRANCH_ABORT_TO_RETIRE) \
162 __PMC_EV(K8, FR_DISPATCH_STALL_FOR_SERIALIZATION) \
163 __PMC_EV(K8, FR_DISPATCH_STALL_FOR_SEGMENT_LOAD) \
164 __PMC_EV(K8, FR_DISPATCH_STALL_WHEN_REORDER_BUFFER_IS_FULL) \
165 __PMC_EV(K8, FR_DISPATCH_STALL_WHEN_RESERVATION_STATIONS_ARE_FULL) \
166 __PMC_EV(K8, FR_DISPATCH_STALL_WHEN_FPU_IS_FULL) \
167 __PMC_EV(K8, FR_DISPATCH_STALL_WHEN_LS_IS_FULL) \
168 __PMC_EV(K8, FR_DISPATCH_STALL_WHEN_WAITING_FOR_ALL_TO_BE_QUIET) \
169 __PMC_EV(K8, FR_DISPATCH_STALL_WHEN_FAR_XFER_OR_RESYNC_BRANCH_PENDING) \
170 __PMC_EV(K8, FR_FPU_EXCEPTIONS) \
171 __PMC_EV(K8, FR_NUMBER_OF_BREAKPOINTS_FOR_DR0) \
172 __PMC_EV(K8, FR_NUMBER_OF_BREAKPOINTS_FOR_DR1) \
173 __PMC_EV(K8, FR_NUMBER_OF_BREAKPOINTS_FOR_DR2) \
174 __PMC_EV(K8, FR_NUMBER_OF_BREAKPOINTS_FOR_DR3) \
175 __PMC_EV(K8, NB_MEMORY_CONTROLLER_PAGE_ACCESS_EVENT) \
176 __PMC_EV(K8, NB_MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOW) \
177 __PMC_EV(K8, NB_MEMORY_CONTROLLER_DRAM_COMMAND_SLOTS_MISSED) \
178 __PMC_EV(K8, NB_MEMORY_CONTROLLER_TURNAROUND) \
179 __PMC_EV(K8, NB_MEMORY_CONTROLLER_BYPASS_SATURATION) \
180 __PMC_EV(K8, NB_SIZED_COMMANDS) \
181 __PMC_EV(K8, NB_PROBE_RESULT) \
182 __PMC_EV(K8, NB_HT_BUS0_BANDWIDTH) \
183 __PMC_EV(K8, NB_HT_BUS1_BANDWIDTH) \
184 __PMC_EV(K8, NB_HT_BUS2_BANDWIDTH)
185
186 #define PMC_EV_K8_FIRST PMC_EV_K8_FP_DISPATCHED_FPU_OPS
187 #define PMC_EV_K8_LAST PMC_EV_K8_NB_HT_BUS2_BANDWIDTH
188
189 /*
190 * Events supported by Intel architectural fixed function counters,
191 * from the "Intel 64 and IA-32 Architectures Software Developer's
192 * Manual Volume 3B: System Programming Guide, Part 2", July 2008.
193 */
194 #define __PMC_EV_IAF() \
195 __PMC_EV(IAF, INSTR_RETIRED_ANY) \
196 __PMC_EV(IAF, CPU_CLK_UNHALTED_CORE) \
197 __PMC_EV(IAF, CPU_CLK_UNHALTED_REF)
198
199 #define PMC_EV_IAF_FIRST PMC_EV_IAF_INSTR_RETIRED_ANY
200 #define PMC_EV_IAF_LAST PMC_EV_IAF_CPU_CLK_UNHALTED_REF
201
202 #define __PMC_EV_ALIAS_IAF() \
203 __PMC_EV_ALIAS("instruction-retired", IAF_INSTR_RETIRED_ANY) \
204 __PMC_EV_ALIAS("unhalted-core-cycles", IAF_CPU_CLK_UNHALTED_CORE) \
205 __PMC_EV_ALIAS("unhalted-reference-cycles", IAF_CPU_CLK_UNHALTED_REF)
206
207
208 #define PMC_EV_IAP_FIRST PMC_EV_IAP_ARCH_BR_INS_RET
209 #define PMC_EV_IAP_LAST PMC_EV_IAP_EVENT_FDH_40H
210
211 /*
212 * Map "architectural" event names to event ids.
213 */
214 #define __PMC_EV_ALIAS_INTEL_ARCHITECTURAL() \
215 __PMC_EV_ALIAS("branch-instruction-retired", IAP_ARCH_BR_INS_RET) \
216 __PMC_EV_ALIAS("branch-misses-retired", IAP_ARCH_BR_MIS_RET) \
217 __PMC_EV_ALIAS("instruction-retired", IAP_ARCH_INS_RET) \
218 __PMC_EV_ALIAS("llc-misses", IAP_ARCH_LLC_MIS) \
219 __PMC_EV_ALIAS("llc-reference", IAP_ARCH_LLC_REF) \
220 __PMC_EV_ALIAS("unhalted-reference-cycles", IAP_ARCH_UNH_REF_CYC) \
221 __PMC_EV_ALIAS("unhalted-core-cycles", IAP_ARCH_UNH_COR_CYC)
222
223 #define __PMC_EV_UCP() \
224 __PMC_EV(UCP, EVENT_0CH_04H_E) \
225 __PMC_EV(UCP, EVENT_0CH_04H_F) \
226 __PMC_EV(UCP, EVENT_0CH_04H_M) \
227 __PMC_EV(UCP, EVENT_0CH_04H_S) \
228 __PMC_EV(UCP, EVENT_0CH_08H_E) \
229 __PMC_EV(UCP, EVENT_0CH_08H_F) \
230 __PMC_EV(UCP, EVENT_0CH_08H_M) \
231 __PMC_EV(UCP, EVENT_0CH_08H_S) \
232
233 /*
234 * ARMv7 Events
235 */
236
237 #define __PMC_EV_ARMV7() \
238 __PMC_EV(ARMV7, EVENT_00H) \
239 __PMC_EV(ARMV7, EVENT_01H) \
240 __PMC_EV(ARMV7, EVENT_02H) \
241 __PMC_EV(ARMV7, EVENT_03H) \
242 __PMC_EV(ARMV7, EVENT_04H) \
243 __PMC_EV(ARMV7, EVENT_05H) \
244 __PMC_EV(ARMV7, EVENT_06H) \
245 __PMC_EV(ARMV7, EVENT_07H) \
246 __PMC_EV(ARMV7, EVENT_08H) \
247 __PMC_EV(ARMV7, EVENT_09H) \
248 __PMC_EV(ARMV7, EVENT_0AH) \
249 __PMC_EV(ARMV7, EVENT_0BH) \
250 __PMC_EV(ARMV7, EVENT_0CH) \
251 __PMC_EV(ARMV7, EVENT_0DH) \
252 __PMC_EV(ARMV7, EVENT_0EH) \
253 __PMC_EV(ARMV7, EVENT_0FH) \
254 __PMC_EV(ARMV7, EVENT_10H) \
255 __PMC_EV(ARMV7, EVENT_11H) \
256 __PMC_EV(ARMV7, EVENT_12H) \
257 __PMC_EV(ARMV7, EVENT_13H) \
258 __PMC_EV(ARMV7, EVENT_14H) \
259 __PMC_EV(ARMV7, EVENT_15H) \
260 __PMC_EV(ARMV7, EVENT_16H) \
261 __PMC_EV(ARMV7, EVENT_17H) \
262 __PMC_EV(ARMV7, EVENT_18H) \
263 __PMC_EV(ARMV7, EVENT_19H) \
264 __PMC_EV(ARMV7, EVENT_1AH) \
265 __PMC_EV(ARMV7, EVENT_1BH) \
266 __PMC_EV(ARMV7, EVENT_1CH) \
267 __PMC_EV(ARMV7, EVENT_1DH) \
268 __PMC_EV(ARMV7, EVENT_1EH) \
269 __PMC_EV(ARMV7, EVENT_1FH) \
270 __PMC_EV(ARMV7, EVENT_20H) \
271 __PMC_EV(ARMV7, EVENT_21H) \
272 __PMC_EV(ARMV7, EVENT_22H) \
273 __PMC_EV(ARMV7, EVENT_23H) \
274 __PMC_EV(ARMV7, EVENT_24H) \
275 __PMC_EV(ARMV7, EVENT_25H) \
276 __PMC_EV(ARMV7, EVENT_26H) \
277 __PMC_EV(ARMV7, EVENT_27H) \
278 __PMC_EV(ARMV7, EVENT_28H) \
279 __PMC_EV(ARMV7, EVENT_29H) \
280 __PMC_EV(ARMV7, EVENT_2AH) \
281 __PMC_EV(ARMV7, EVENT_2BH) \
282 __PMC_EV(ARMV7, EVENT_2CH) \
283 __PMC_EV(ARMV7, EVENT_2DH) \
284 __PMC_EV(ARMV7, EVENT_2EH) \
285 __PMC_EV(ARMV7, EVENT_2FH) \
286 __PMC_EV(ARMV7, EVENT_30H) \
287 __PMC_EV(ARMV7, EVENT_31H) \
288 __PMC_EV(ARMV7, EVENT_32H) \
289 __PMC_EV(ARMV7, EVENT_33H) \
290 __PMC_EV(ARMV7, EVENT_34H) \
291 __PMC_EV(ARMV7, EVENT_35H) \
292 __PMC_EV(ARMV7, EVENT_36H) \
293 __PMC_EV(ARMV7, EVENT_37H) \
294 __PMC_EV(ARMV7, EVENT_38H) \
295 __PMC_EV(ARMV7, EVENT_39H) \
296 __PMC_EV(ARMV7, EVENT_3AH) \
297 __PMC_EV(ARMV7, EVENT_3BH) \
298 __PMC_EV(ARMV7, EVENT_3CH) \
299 __PMC_EV(ARMV7, EVENT_3DH) \
300 __PMC_EV(ARMV7, EVENT_3EH) \
301 __PMC_EV(ARMV7, EVENT_3FH) \
302 __PMC_EV(ARMV7, EVENT_40H) \
303 __PMC_EV(ARMV7, EVENT_41H) \
304 __PMC_EV(ARMV7, EVENT_42H) \
305 __PMC_EV(ARMV7, EVENT_43H) \
306 __PMC_EV(ARMV7, EVENT_44H) \
307 __PMC_EV(ARMV7, EVENT_45H) \
308 __PMC_EV(ARMV7, EVENT_46H) \
309 __PMC_EV(ARMV7, EVENT_47H) \
310 __PMC_EV(ARMV7, EVENT_48H) \
311 __PMC_EV(ARMV7, EVENT_49H) \
312 __PMC_EV(ARMV7, EVENT_4AH) \
313 __PMC_EV(ARMV7, EVENT_4BH) \
314 __PMC_EV(ARMV7, EVENT_4CH) \
315 __PMC_EV(ARMV7, EVENT_4DH) \
316 __PMC_EV(ARMV7, EVENT_4EH) \
317 __PMC_EV(ARMV7, EVENT_4FH) \
318 __PMC_EV(ARMV7, EVENT_50H) \
319 __PMC_EV(ARMV7, EVENT_51H) \
320 __PMC_EV(ARMV7, EVENT_52H) \
321 __PMC_EV(ARMV7, EVENT_53H) \
322 __PMC_EV(ARMV7, EVENT_54H) \
323 __PMC_EV(ARMV7, EVENT_55H) \
324 __PMC_EV(ARMV7, EVENT_56H) \
325 __PMC_EV(ARMV7, EVENT_57H) \
326 __PMC_EV(ARMV7, EVENT_58H) \
327 __PMC_EV(ARMV7, EVENT_59H) \
328 __PMC_EV(ARMV7, EVENT_5AH) \
329 __PMC_EV(ARMV7, EVENT_5BH) \
330 __PMC_EV(ARMV7, EVENT_5CH) \
331 __PMC_EV(ARMV7, EVENT_5DH) \
332 __PMC_EV(ARMV7, EVENT_5EH) \
333 __PMC_EV(ARMV7, EVENT_5FH) \
334 __PMC_EV(ARMV7, EVENT_60H) \
335 __PMC_EV(ARMV7, EVENT_61H) \
336 __PMC_EV(ARMV7, EVENT_62H) \
337 __PMC_EV(ARMV7, EVENT_63H) \
338 __PMC_EV(ARMV7, EVENT_64H) \
339 __PMC_EV(ARMV7, EVENT_65H) \
340 __PMC_EV(ARMV7, EVENT_66H) \
341 __PMC_EV(ARMV7, EVENT_67H) \
342 __PMC_EV(ARMV7, EVENT_68H) \
343 __PMC_EV(ARMV7, EVENT_69H) \
344 __PMC_EV(ARMV7, EVENT_6AH) \
345 __PMC_EV(ARMV7, EVENT_6BH) \
346 __PMC_EV(ARMV7, EVENT_6CH) \
347 __PMC_EV(ARMV7, EVENT_6DH) \
348 __PMC_EV(ARMV7, EVENT_6EH) \
349 __PMC_EV(ARMV7, EVENT_6FH) \
350 __PMC_EV(ARMV7, EVENT_70H) \
351 __PMC_EV(ARMV7, EVENT_71H) \
352 __PMC_EV(ARMV7, EVENT_72H) \
353 __PMC_EV(ARMV7, EVENT_73H) \
354 __PMC_EV(ARMV7, EVENT_74H) \
355 __PMC_EV(ARMV7, EVENT_75H) \
356 __PMC_EV(ARMV7, EVENT_76H) \
357 __PMC_EV(ARMV7, EVENT_77H) \
358 __PMC_EV(ARMV7, EVENT_78H) \
359 __PMC_EV(ARMV7, EVENT_79H) \
360 __PMC_EV(ARMV7, EVENT_7AH) \
361 __PMC_EV(ARMV7, EVENT_7BH) \
362 __PMC_EV(ARMV7, EVENT_7CH) \
363 __PMC_EV(ARMV7, EVENT_7DH) \
364 __PMC_EV(ARMV7, EVENT_7EH) \
365 __PMC_EV(ARMV7, EVENT_7FH) \
366 __PMC_EV(ARMV7, EVENT_80H) \
367 __PMC_EV(ARMV7, EVENT_81H) \
368 __PMC_EV(ARMV7, EVENT_82H) \
369 __PMC_EV(ARMV7, EVENT_83H) \
370 __PMC_EV(ARMV7, EVENT_84H) \
371 __PMC_EV(ARMV7, EVENT_85H) \
372 __PMC_EV(ARMV7, EVENT_86H) \
373 __PMC_EV(ARMV7, EVENT_87H) \
374 __PMC_EV(ARMV7, EVENT_88H) \
375 __PMC_EV(ARMV7, EVENT_89H) \
376 __PMC_EV(ARMV7, EVENT_8AH) \
377 __PMC_EV(ARMV7, EVENT_8BH) \
378 __PMC_EV(ARMV7, EVENT_8CH) \
379 __PMC_EV(ARMV7, EVENT_8DH) \
380 __PMC_EV(ARMV7, EVENT_8EH) \
381 __PMC_EV(ARMV7, EVENT_8FH) \
382 __PMC_EV(ARMV7, EVENT_90H) \
383 __PMC_EV(ARMV7, EVENT_91H) \
384 __PMC_EV(ARMV7, EVENT_92H) \
385 __PMC_EV(ARMV7, EVENT_93H) \
386 __PMC_EV(ARMV7, EVENT_94H) \
387 __PMC_EV(ARMV7, EVENT_95H) \
388 __PMC_EV(ARMV7, EVENT_96H) \
389 __PMC_EV(ARMV7, EVENT_97H) \
390 __PMC_EV(ARMV7, EVENT_98H) \
391 __PMC_EV(ARMV7, EVENT_99H) \
392 __PMC_EV(ARMV7, EVENT_9AH) \
393 __PMC_EV(ARMV7, EVENT_9BH) \
394 __PMC_EV(ARMV7, EVENT_9CH) \
395 __PMC_EV(ARMV7, EVENT_9DH) \
396 __PMC_EV(ARMV7, EVENT_9EH) \
397 __PMC_EV(ARMV7, EVENT_9FH) \
398 __PMC_EV(ARMV7, EVENT_A0H) \
399 __PMC_EV(ARMV7, EVENT_A1H) \
400 __PMC_EV(ARMV7, EVENT_A2H) \
401 __PMC_EV(ARMV7, EVENT_A3H) \
402 __PMC_EV(ARMV7, EVENT_A4H) \
403 __PMC_EV(ARMV7, EVENT_A5H) \
404 __PMC_EV(ARMV7, EVENT_A6H) \
405 __PMC_EV(ARMV7, EVENT_A7H) \
406 __PMC_EV(ARMV7, EVENT_A8H) \
407 __PMC_EV(ARMV7, EVENT_A9H) \
408 __PMC_EV(ARMV7, EVENT_AAH) \
409 __PMC_EV(ARMV7, EVENT_ABH) \
410 __PMC_EV(ARMV7, EVENT_ACH) \
411 __PMC_EV(ARMV7, EVENT_ADH) \
412 __PMC_EV(ARMV7, EVENT_AEH) \
413 __PMC_EV(ARMV7, EVENT_AFH) \
414 __PMC_EV(ARMV7, EVENT_B0H) \
415 __PMC_EV(ARMV7, EVENT_B1H) \
416 __PMC_EV(ARMV7, EVENT_B2H) \
417 __PMC_EV(ARMV7, EVENT_B3H) \
418 __PMC_EV(ARMV7, EVENT_B4H) \
419 __PMC_EV(ARMV7, EVENT_B5H) \
420 __PMC_EV(ARMV7, EVENT_B6H) \
421 __PMC_EV(ARMV7, EVENT_B7H) \
422 __PMC_EV(ARMV7, EVENT_B8H) \
423 __PMC_EV(ARMV7, EVENT_B9H) \
424 __PMC_EV(ARMV7, EVENT_BAH) \
425 __PMC_EV(ARMV7, EVENT_BBH) \
426 __PMC_EV(ARMV7, EVENT_BCH) \
427 __PMC_EV(ARMV7, EVENT_BDH) \
428 __PMC_EV(ARMV7, EVENT_BEH) \
429 __PMC_EV(ARMV7, EVENT_BFH) \
430 __PMC_EV(ARMV7, EVENT_C0H) \
431 __PMC_EV(ARMV7, EVENT_C1H) \
432 __PMC_EV(ARMV7, EVENT_C2H) \
433 __PMC_EV(ARMV7, EVENT_C3H) \
434 __PMC_EV(ARMV7, EVENT_C4H) \
435 __PMC_EV(ARMV7, EVENT_C5H) \
436 __PMC_EV(ARMV7, EVENT_C6H) \
437 __PMC_EV(ARMV7, EVENT_C7H) \
438 __PMC_EV(ARMV7, EVENT_C8H) \
439 __PMC_EV(ARMV7, EVENT_C9H) \
440 __PMC_EV(ARMV7, EVENT_CAH) \
441 __PMC_EV(ARMV7, EVENT_CBH) \
442 __PMC_EV(ARMV7, EVENT_CCH) \
443 __PMC_EV(ARMV7, EVENT_CDH) \
444 __PMC_EV(ARMV7, EVENT_CEH) \
445 __PMC_EV(ARMV7, EVENT_CFH) \
446 __PMC_EV(ARMV7, EVENT_D0H) \
447 __PMC_EV(ARMV7, EVENT_D1H) \
448 __PMC_EV(ARMV7, EVENT_D2H) \
449 __PMC_EV(ARMV7, EVENT_D3H) \
450 __PMC_EV(ARMV7, EVENT_D4H) \
451 __PMC_EV(ARMV7, EVENT_D5H) \
452 __PMC_EV(ARMV7, EVENT_D6H) \
453 __PMC_EV(ARMV7, EVENT_D7H) \
454 __PMC_EV(ARMV7, EVENT_D8H) \
455 __PMC_EV(ARMV7, EVENT_D9H) \
456 __PMC_EV(ARMV7, EVENT_DAH) \
457 __PMC_EV(ARMV7, EVENT_DBH) \
458 __PMC_EV(ARMV7, EVENT_DCH) \
459 __PMC_EV(ARMV7, EVENT_DDH) \
460 __PMC_EV(ARMV7, EVENT_DEH) \
461 __PMC_EV(ARMV7, EVENT_DFH) \
462 __PMC_EV(ARMV7, EVENT_E0H) \
463 __PMC_EV(ARMV7, EVENT_E1H) \
464 __PMC_EV(ARMV7, EVENT_E2H) \
465 __PMC_EV(ARMV7, EVENT_E3H) \
466 __PMC_EV(ARMV7, EVENT_E4H) \
467 __PMC_EV(ARMV7, EVENT_E5H) \
468 __PMC_EV(ARMV7, EVENT_E6H) \
469 __PMC_EV(ARMV7, EVENT_E7H) \
470 __PMC_EV(ARMV7, EVENT_E8H) \
471 __PMC_EV(ARMV7, EVENT_E9H) \
472 __PMC_EV(ARMV7, EVENT_EAH) \
473 __PMC_EV(ARMV7, EVENT_EBH) \
474 __PMC_EV(ARMV7, EVENT_ECH) \
475 __PMC_EV(ARMV7, EVENT_EDH) \
476 __PMC_EV(ARMV7, EVENT_EEH) \
477 __PMC_EV(ARMV7, EVENT_EFH) \
478 __PMC_EV(ARMV7, EVENT_F0H) \
479 __PMC_EV(ARMV7, EVENT_F1H) \
480 __PMC_EV(ARMV7, EVENT_F2H) \
481 __PMC_EV(ARMV7, EVENT_F3H) \
482 __PMC_EV(ARMV7, EVENT_F4H) \
483 __PMC_EV(ARMV7, EVENT_F5H) \
484 __PMC_EV(ARMV7, EVENT_F6H) \
485 __PMC_EV(ARMV7, EVENT_F7H) \
486 __PMC_EV(ARMV7, EVENT_F8H) \
487 __PMC_EV(ARMV7, EVENT_F9H) \
488 __PMC_EV(ARMV7, EVENT_FAH) \
489 __PMC_EV(ARMV7, EVENT_FBH) \
490 __PMC_EV(ARMV7, EVENT_FCH) \
491 __PMC_EV(ARMV7, EVENT_FDH) \
492 __PMC_EV(ARMV7, EVENT_FEH) \
493 __PMC_EV(ARMV7, EVENT_FFH)
494
495 #define PMC_EV_ARMV7_FIRST PMC_EV_ARMV7_EVENT_00H
496 #define PMC_EV_ARMV7_LAST PMC_EV_ARMV7_EVENT_FFH
497
498 #define __PMC_EV_ALIAS_ARMV7_COMMON() \
499 __PMC_EV_ALIAS("PMNC_SW_INCR", ARMV7_EVENT_00H) \
500 __PMC_EV_ALIAS("L1_ICACHE_REFILL", ARMV7_EVENT_01H) \
501 __PMC_EV_ALIAS("ITLB_REFILL", ARMV7_EVENT_02H) \
502 __PMC_EV_ALIAS("L1_DCACHE_REFILL", ARMV7_EVENT_03H) \
503 __PMC_EV_ALIAS("L1_DCACHE_ACCESS", ARMV7_EVENT_04H) \
504 __PMC_EV_ALIAS("DTLB_REFILL", ARMV7_EVENT_05H) \
505 __PMC_EV_ALIAS("MEM_READ", ARMV7_EVENT_06H) \
506 __PMC_EV_ALIAS("MEM_WRITE", ARMV7_EVENT_07H) \
507 __PMC_EV_ALIAS("EXC_TAKEN", ARMV7_EVENT_09H) \
508 __PMC_EV_ALIAS("EXC_EXECUTED", ARMV7_EVENT_0AH) \
509 __PMC_EV_ALIAS("CID_WRITE", ARMV7_EVENT_0BH) \
510 __PMC_EV_ALIAS("PC_WRITE", ARMV7_EVENT_0CH) \
511 __PMC_EV_ALIAS("PC_IMM_BRANCH", ARMV7_EVENT_0DH) \
512 __PMC_EV_ALIAS("MEM_UNALIGNED_ACCESS", ARMV7_EVENT_0FH) \
513 __PMC_EV_ALIAS("PC_BRANCH_MIS_PRED", ARMV7_EVENT_10H) \
514 __PMC_EV_ALIAS("CLOCK_CYCLES", ARMV7_EVENT_11H) \
515 __PMC_EV_ALIAS("PC_BRANCH_PRED", ARMV7_EVENT_12H)
516
517 #define __PMC_EV_ALIAS_ARMV7_COMMON_A8() \
518 __PMC_EV_ALIAS_ARMV7_COMMON() \
519 __PMC_EV_ALIAS("INSTR_EXECUTED", ARMV7_EVENT_08H) \
520 __PMC_EV_ALIAS("PC_PROC_RETURN", ARMV7_EVENT_0EH) \
521 __PMC_EV_ALIAS("MEM_ACCESS", ARMV7_EVENT_13H) \
522 __PMC_EV_ALIAS("L1_ICACHE_ACCESS", ARMV7_EVENT_14H) \
523 __PMC_EV_ALIAS("L1_DCACHE_WB", ARMV7_EVENT_15H) \
524 __PMC_EV_ALIAS("L2_CACHE_ACCESS", ARMV7_EVENT_16H) \
525 __PMC_EV_ALIAS("L2_CACHE_REFILL", ARMV7_EVENT_17H) \
526 __PMC_EV_ALIAS("L2_CACHE_WB", ARMV7_EVENT_18H) \
527 __PMC_EV_ALIAS("BUS_ACCESS", ARMV7_EVENT_19H) \
528 __PMC_EV_ALIAS("MEM_ERROR", ARMV7_EVENT_1AH) \
529 __PMC_EV_ALIAS("INSTR_SPEC", ARMV7_EVENT_1BH) \
530 __PMC_EV_ALIAS("TTBR_WRITE", ARMV7_EVENT_1CH) \
531 __PMC_EV_ALIAS("BUS_CYCLES", ARMV7_EVENT_1DH) \
532 __PMC_EV_ALIAS("CPU_CYCLES", ARMV7_EVENT_FFH)
533
534 #define __PMC_EV_ALIAS_ARMV7_CORTEX_A8() \
535 __PMC_EV_ALIAS_ARMV7_COMMON_A8() \
536 __PMC_EV_ALIAS("WRITE_BUF_FULL", ARMV7_EVENT_40H) \
537 __PMC_EV_ALIAS("L2_STORE_MERGED", ARMV7_EVENT_41H) \
538 __PMC_EV_ALIAS("L2_STORE_BUFFERABLE", ARMV7_EVENT_42H) \
539 __PMC_EV_ALIAS("L2_ACCESS", ARMV7_EVENT_43H) \
540 __PMC_EV_ALIAS("L2_CACHE_MISS", ARMV7_EVENT_44H) \
541 __PMC_EV_ALIAS("AXI_READ", ARMV7_EVENT_45H) \
542 __PMC_EV_ALIAS("AXI_WRITE", ARMV7_EVENT_46H) \
543 __PMC_EV_ALIAS("MEM_REPLAY_EVT", ARMV7_EVENT_47H) \
544 __PMC_EV_ALIAS("MEM_UNALIGNED_ACCESS_REPLAY", ARMV7_EVENT_48H) \
545 __PMC_EV_ALIAS("L1_DCACHE_HASH_MISS", ARMV7_EVENT_49H) \
546 __PMC_EV_ALIAS("L1_ICACHE_HASH_MISS", ARMV7_EVENT_4AH) \
547 __PMC_EV_ALIAS("L1_CACHE_PAGECOL_ALIAS", ARMV7_EVENT_4BH) \
548 __PMC_EV_ALIAS("L1_DCACHE_NEON_ACCESS", ARMV7_EVENT_4CH) \
549 __PMC_EV_ALIAS("L1_DCACHE_NEON_CACHEABLE", ARMV7_EVENT_4DH) \
550 __PMC_EV_ALIAS("L2_CACHE_NEON_MEM_ACCESS", ARMV7_EVENT_4EH) \
551 __PMC_EV_ALIAS("L2_CACHE_NEON_HIT", ARMV7_EVENT_4FH) \
552 __PMC_EV_ALIAS("L1_CACHE_ACCESS_NOCP15", ARMV7_EVENT_50H) \
553 __PMC_EV_ALIAS("RET_STACK_MISPREDICT", ARMV7_EVENT_51H) \
554 __PMC_EV_ALIAS("BRANCH_DIR_MISPREDICT", ARMV7_EVENT_52H) \
555 __PMC_EV_ALIAS("PRED_BRANCH_PRED_TAKEN", ARMV7_EVENT_53H) \
556 __PMC_EV_ALIAS("PRED_BRANCH_EXEC_TAKEN", ARMV7_EVENT_54H) \
557 __PMC_EV_ALIAS("OPS_ISSUED", ARMV7_EVENT_55H) \
558 __PMC_EV_ALIAS("CYCLES_NO_INSTRUCTION", ARMV7_EVENT_56H) \
559 __PMC_EV_ALIAS("INSTRUCTIONS_ISSUED_CYCLE", ARMV7_EVENT_57H) \
560 __PMC_EV_ALIAS("CYCLES_STALLED_NEON_MRC", ARMV7_EVENT_58H) \
561 __PMC_EV_ALIAS("CYCLES_STALLED_NEON_FULLQ", ARMV7_EVENT_59H) \
562 __PMC_EV_ALIAS("CYCLES_NONIDLE_NEON_INT", ARMV7_EVENT_5AH) \
563 __PMC_EV_ALIAS("PMUEXTIN0_EVT", ARMV7_EVENT_70H) \
564 __PMC_EV_ALIAS("PMUEXTIN1_EVT", ARMV7_EVENT_71H) \
565 __PMC_EV_ALIAS("PMUEXTIN_EVT", ARMV7_EVENT_72H)
566 #define PMC_EV_ARMV7_CORTEX_A8_FIRST PMC_EV_ARMV7_PMNC_SW_INCR
567 #define PMC_EV_ARMV7_CORTEX_A8_LAST PMC_EV_ARMV7_PMUEXTIN_EVT
568
569 #define __PMC_EV_ALIAS_ARMV7_CORTEX_A9() \
570 __PMC_EV_ALIAS_ARMV7_COMMON() \
571 __PMC_EV_ALIAS("JAVA_BYTECODE", ARMV7_EVENT_40H) \
572 __PMC_EV_ALIAS("SOFTWARE_JAVA_BYTECODE", ARMV7_EVENT_41H) \
573 __PMC_EV_ALIAS("JAZELLE_BACKWARD_BRANCH", ARMV7_EVENT_42H) \
574 __PMC_EV_ALIAS("COHERENT_LINEFILL_MISSC", ARMV7_EVENT_50H) \
575 __PMC_EV_ALIAS("COHERENT_LINEFILL_HITC", ARMV7_EVENT_51H) \
576 __PMC_EV_ALIAS("INSTR_CACHE_DEPENDENT_STALL", ARMV7_EVENT_60H) \
577 __PMC_EV_ALIAS("DATA_CACHE_DEPENDENT_STALL", ARMV7_EVENT_61H) \
578 __PMC_EV_ALIAS("MAIN_TLB_MISS_STALL", ARMV7_EVENT_62H) \
579 __PMC_EV_ALIAS("STREX_PASSED", ARMV7_EVENT_63H) \
580 __PMC_EV_ALIAS("STREX_FAILED", ARMV7_EVENT_64H) \
581 __PMC_EV_ALIAS("DATA_EVICTION", ARMV7_EVENT_65H) \
582 __PMC_EV_ALIAS("ISSUE_DNOT_DISPATCH_ANY_INSTR", ARMV7_EVENT_66H) \
583 __PMC_EV_ALIAS("ISSUE_IS_EMPTY", ARMV7_EVENT_67H) \
584 __PMC_EV_ALIAS("INSTR_RENAMED", ARMV7_EVENT_68H) \
585 __PMC_EV_ALIAS("PREDICTABLE_FUNCTION_RETURN", ARMV7_EVENT_6EH) \
586 __PMC_EV_ALIAS("MAIN_EXECUTION_UNIT_PIPE", ARMV7_EVENT_70H) \
587 __PMC_EV_ALIAS("SECOND_EXECUTION_UNIT_PIPE", ARMV7_EVENT_71H) \
588 __PMC_EV_ALIAS("LOAD_STORE_PIPE", ARMV7_EVENT_72H) \
589 __PMC_EV_ALIAS("FLOATING_POINT_INSTR_RENAMED", ARMV7_EVENT_73H) \
590 __PMC_EV_ALIAS("NEON_INSTRS_RENAMED", ARMV7_EVENT_74H) \
591 __PMC_EV_ALIAS("PLD_STALL", ARMV7_EVENT_80H) \
592 __PMC_EV_ALIAS("WRITE_STALL", ARMV7_EVENT_81H) \
593 __PMC_EV_ALIAS("INSTR_MAIN_TLB_MISS_STALL", ARMV7_EVENT_82H) \
594 __PMC_EV_ALIAS("DATA_MAIN_TLB_MISS_STALL", ARMV7_EVENT_83H) \
595 __PMC_EV_ALIAS("INSTR_MICRO_TLB_MISS_STALL", ARMV7_EVENT_84H) \
596 __PMC_EV_ALIAS("DATA_MICRO_TLB_MISS_STALL", ARMV7_EVENT_85H) \
597 __PMC_EV_ALIAS("DMB_STALL", ARMV7_EVENT_86H) \
598 __PMC_EV_ALIAS("INTEGER_CORE_CLOCK_ENABLED", ARMV7_EVENT_8AH) \
599 __PMC_EV_ALIAS("DATA_ENGINE_CLOCK_ENABLED", ARMV7_EVENT_8BH) \
600 __PMC_EV_ALIAS("ISB", ARMV7_EVENT_90H) \
601 __PMC_EV_ALIAS("DSB", ARMV7_EVENT_91H) \
602 __PMC_EV_ALIAS("DMB", ARMV7_EVENT_92H) \
603 __PMC_EV_ALIAS("EXTERNAL_INTERRUPT", ARMV7_EVENT_93H) \
604 __PMC_EV_ALIAS("PLE_CACHE_LINE_REQ_COMPLETED", ARMV7_EVENT_A0H) \
605 __PMC_EV_ALIAS("PLE_CACHE_LINE_REQ_SKIPPED", ARMV7_EVENT_A1H) \
606 __PMC_EV_ALIAS("PLE_FIFO_FLUSH", ARMV7_EVENT_A2H) \
607 __PMC_EV_ALIAS("PLE_REQUEST_COMPLETED", ARMV7_EVENT_A3H) \
608 __PMC_EV_ALIAS("PLE_FIFO_OVERFLOW", ARMV7_EVENT_A4H) \
609 __PMC_EV_ALIAS("PLE_REQUEST_PROGRAMMED", ARMV7_EVENT_A5H)
610
611 /*
612 * ARMv8 Events
613 *
614 * NB: ARMv8.1 extends this to a 16-bit encoding, but we only define the 10-bit
615 * event numbers here.
616 */
617
618 #define __PMC_EV_ARMV8() \
619 __PMC_EV(ARMV8, EVENT_00H) \
620 __PMC_EV(ARMV8, EVENT_01H) \
621 __PMC_EV(ARMV8, EVENT_02H) \
622 __PMC_EV(ARMV8, EVENT_03H) \
623 __PMC_EV(ARMV8, EVENT_04H) \
624 __PMC_EV(ARMV8, EVENT_05H) \
625 __PMC_EV(ARMV8, EVENT_06H) \
626 __PMC_EV(ARMV8, EVENT_07H) \
627 __PMC_EV(ARMV8, EVENT_08H) \
628 __PMC_EV(ARMV8, EVENT_09H) \
629 __PMC_EV(ARMV8, EVENT_0AH) \
630 __PMC_EV(ARMV8, EVENT_0BH) \
631 __PMC_EV(ARMV8, EVENT_0CH) \
632 __PMC_EV(ARMV8, EVENT_0DH) \
633 __PMC_EV(ARMV8, EVENT_0EH) \
634 __PMC_EV(ARMV8, EVENT_0FH) \
635 __PMC_EV(ARMV8, EVENT_10H) \
636 __PMC_EV(ARMV8, EVENT_11H) \
637 __PMC_EV(ARMV8, EVENT_12H) \
638 __PMC_EV(ARMV8, EVENT_13H) \
639 __PMC_EV(ARMV8, EVENT_14H) \
640 __PMC_EV(ARMV8, EVENT_15H) \
641 __PMC_EV(ARMV8, EVENT_16H) \
642 __PMC_EV(ARMV8, EVENT_17H) \
643 __PMC_EV(ARMV8, EVENT_18H) \
644 __PMC_EV(ARMV8, EVENT_19H) \
645 __PMC_EV(ARMV8, EVENT_1AH) \
646 __PMC_EV(ARMV8, EVENT_1BH) \
647 __PMC_EV(ARMV8, EVENT_1CH) \
648 __PMC_EV(ARMV8, EVENT_1DH) \
649 __PMC_EV(ARMV8, EVENT_1EH) \
650 __PMC_EV(ARMV8, EVENT_1FH) \
651 __PMC_EV(ARMV8, EVENT_20H) \
652 __PMC_EV(ARMV8, EVENT_21H) \
653 __PMC_EV(ARMV8, EVENT_22H) \
654 __PMC_EV(ARMV8, EVENT_23H) \
655 __PMC_EV(ARMV8, EVENT_24H) \
656 __PMC_EV(ARMV8, EVENT_25H) \
657 __PMC_EV(ARMV8, EVENT_26H) \
658 __PMC_EV(ARMV8, EVENT_27H) \
659 __PMC_EV(ARMV8, EVENT_28H) \
660 __PMC_EV(ARMV8, EVENT_29H) \
661 __PMC_EV(ARMV8, EVENT_2AH) \
662 __PMC_EV(ARMV8, EVENT_2BH) \
663 __PMC_EV(ARMV8, EVENT_2CH) \
664 __PMC_EV(ARMV8, EVENT_2DH) \
665 __PMC_EV(ARMV8, EVENT_2EH) \
666 __PMC_EV(ARMV8, EVENT_2FH) \
667 __PMC_EV(ARMV8, EVENT_30H) \
668 __PMC_EV(ARMV8, EVENT_31H) \
669 __PMC_EV(ARMV8, EVENT_32H) \
670 __PMC_EV(ARMV8, EVENT_33H) \
671 __PMC_EV(ARMV8, EVENT_34H) \
672 __PMC_EV(ARMV8, EVENT_35H) \
673 __PMC_EV(ARMV8, EVENT_36H) \
674 __PMC_EV(ARMV8, EVENT_37H) \
675 __PMC_EV(ARMV8, EVENT_38H) \
676 __PMC_EV(ARMV8, EVENT_39H) \
677 __PMC_EV(ARMV8, EVENT_3AH) \
678 __PMC_EV(ARMV8, EVENT_3BH) \
679 __PMC_EV(ARMV8, EVENT_3CH) \
680 __PMC_EV(ARMV8, EVENT_3DH) \
681 __PMC_EV(ARMV8, EVENT_3EH) \
682 __PMC_EV(ARMV8, EVENT_3FH) \
683 __PMC_EV(ARMV8, EVENT_40H) \
684 __PMC_EV(ARMV8, EVENT_41H) \
685 __PMC_EV(ARMV8, EVENT_42H) \
686 __PMC_EV(ARMV8, EVENT_43H) \
687 __PMC_EV(ARMV8, EVENT_44H) \
688 __PMC_EV(ARMV8, EVENT_45H) \
689 __PMC_EV(ARMV8, EVENT_46H) \
690 __PMC_EV(ARMV8, EVENT_47H) \
691 __PMC_EV(ARMV8, EVENT_48H) \
692 __PMC_EV(ARMV8, EVENT_49H) \
693 __PMC_EV(ARMV8, EVENT_4AH) \
694 __PMC_EV(ARMV8, EVENT_4BH) \
695 __PMC_EV(ARMV8, EVENT_4CH) \
696 __PMC_EV(ARMV8, EVENT_4DH) \
697 __PMC_EV(ARMV8, EVENT_4EH) \
698 __PMC_EV(ARMV8, EVENT_4FH) \
699 __PMC_EV(ARMV8, EVENT_50H) \
700 __PMC_EV(ARMV8, EVENT_51H) \
701 __PMC_EV(ARMV8, EVENT_52H) \
702 __PMC_EV(ARMV8, EVENT_53H) \
703 __PMC_EV(ARMV8, EVENT_54H) \
704 __PMC_EV(ARMV8, EVENT_55H) \
705 __PMC_EV(ARMV8, EVENT_56H) \
706 __PMC_EV(ARMV8, EVENT_57H) \
707 __PMC_EV(ARMV8, EVENT_58H) \
708 __PMC_EV(ARMV8, EVENT_59H) \
709 __PMC_EV(ARMV8, EVENT_5AH) \
710 __PMC_EV(ARMV8, EVENT_5BH) \
711 __PMC_EV(ARMV8, EVENT_5CH) \
712 __PMC_EV(ARMV8, EVENT_5DH) \
713 __PMC_EV(ARMV8, EVENT_5EH) \
714 __PMC_EV(ARMV8, EVENT_5FH) \
715 __PMC_EV(ARMV8, EVENT_60H) \
716 __PMC_EV(ARMV8, EVENT_61H) \
717 __PMC_EV(ARMV8, EVENT_62H) \
718 __PMC_EV(ARMV8, EVENT_63H) \
719 __PMC_EV(ARMV8, EVENT_64H) \
720 __PMC_EV(ARMV8, EVENT_65H) \
721 __PMC_EV(ARMV8, EVENT_66H) \
722 __PMC_EV(ARMV8, EVENT_67H) \
723 __PMC_EV(ARMV8, EVENT_68H) \
724 __PMC_EV(ARMV8, EVENT_69H) \
725 __PMC_EV(ARMV8, EVENT_6AH) \
726 __PMC_EV(ARMV8, EVENT_6BH) \
727 __PMC_EV(ARMV8, EVENT_6CH) \
728 __PMC_EV(ARMV8, EVENT_6DH) \
729 __PMC_EV(ARMV8, EVENT_6EH) \
730 __PMC_EV(ARMV8, EVENT_6FH) \
731 __PMC_EV(ARMV8, EVENT_70H) \
732 __PMC_EV(ARMV8, EVENT_71H) \
733 __PMC_EV(ARMV8, EVENT_72H) \
734 __PMC_EV(ARMV8, EVENT_73H) \
735 __PMC_EV(ARMV8, EVENT_74H) \
736 __PMC_EV(ARMV8, EVENT_75H) \
737 __PMC_EV(ARMV8, EVENT_76H) \
738 __PMC_EV(ARMV8, EVENT_77H) \
739 __PMC_EV(ARMV8, EVENT_78H) \
740 __PMC_EV(ARMV8, EVENT_79H) \
741 __PMC_EV(ARMV8, EVENT_7AH) \
742 __PMC_EV(ARMV8, EVENT_7BH) \
743 __PMC_EV(ARMV8, EVENT_7CH) \
744 __PMC_EV(ARMV8, EVENT_7DH) \
745 __PMC_EV(ARMV8, EVENT_7EH) \
746 __PMC_EV(ARMV8, EVENT_7FH) \
747 __PMC_EV(ARMV8, EVENT_80H) \
748 __PMC_EV(ARMV8, EVENT_81H) \
749 __PMC_EV(ARMV8, EVENT_82H) \
750 __PMC_EV(ARMV8, EVENT_83H) \
751 __PMC_EV(ARMV8, EVENT_84H) \
752 __PMC_EV(ARMV8, EVENT_85H) \
753 __PMC_EV(ARMV8, EVENT_86H) \
754 __PMC_EV(ARMV8, EVENT_87H) \
755 __PMC_EV(ARMV8, EVENT_88H) \
756 __PMC_EV(ARMV8, EVENT_89H) \
757 __PMC_EV(ARMV8, EVENT_8AH) \
758 __PMC_EV(ARMV8, EVENT_8BH) \
759 __PMC_EV(ARMV8, EVENT_8CH) \
760 __PMC_EV(ARMV8, EVENT_8DH) \
761 __PMC_EV(ARMV8, EVENT_8EH) \
762 __PMC_EV(ARMV8, EVENT_8FH) \
763 __PMC_EV(ARMV8, EVENT_90H) \
764 __PMC_EV(ARMV8, EVENT_91H) \
765 __PMC_EV(ARMV8, EVENT_92H) \
766 __PMC_EV(ARMV8, EVENT_93H) \
767 __PMC_EV(ARMV8, EVENT_94H) \
768 __PMC_EV(ARMV8, EVENT_95H) \
769 __PMC_EV(ARMV8, EVENT_96H) \
770 __PMC_EV(ARMV8, EVENT_97H) \
771 __PMC_EV(ARMV8, EVENT_98H) \
772 __PMC_EV(ARMV8, EVENT_99H) \
773 __PMC_EV(ARMV8, EVENT_9AH) \
774 __PMC_EV(ARMV8, EVENT_9BH) \
775 __PMC_EV(ARMV8, EVENT_9CH) \
776 __PMC_EV(ARMV8, EVENT_9DH) \
777 __PMC_EV(ARMV8, EVENT_9EH) \
778 __PMC_EV(ARMV8, EVENT_9FH) \
779 __PMC_EV(ARMV8, EVENT_A0H) \
780 __PMC_EV(ARMV8, EVENT_A1H) \
781 __PMC_EV(ARMV8, EVENT_A2H) \
782 __PMC_EV(ARMV8, EVENT_A3H) \
783 __PMC_EV(ARMV8, EVENT_A4H) \
784 __PMC_EV(ARMV8, EVENT_A5H) \
785 __PMC_EV(ARMV8, EVENT_A6H) \
786 __PMC_EV(ARMV8, EVENT_A7H) \
787 __PMC_EV(ARMV8, EVENT_A8H) \
788 __PMC_EV(ARMV8, EVENT_A9H) \
789 __PMC_EV(ARMV8, EVENT_AAH) \
790 __PMC_EV(ARMV8, EVENT_ABH) \
791 __PMC_EV(ARMV8, EVENT_ACH) \
792 __PMC_EV(ARMV8, EVENT_ADH) \
793 __PMC_EV(ARMV8, EVENT_AEH) \
794 __PMC_EV(ARMV8, EVENT_AFH) \
795 __PMC_EV(ARMV8, EVENT_B0H) \
796 __PMC_EV(ARMV8, EVENT_B1H) \
797 __PMC_EV(ARMV8, EVENT_B2H) \
798 __PMC_EV(ARMV8, EVENT_B3H) \
799 __PMC_EV(ARMV8, EVENT_B4H) \
800 __PMC_EV(ARMV8, EVENT_B5H) \
801 __PMC_EV(ARMV8, EVENT_B6H) \
802 __PMC_EV(ARMV8, EVENT_B7H) \
803 __PMC_EV(ARMV8, EVENT_B8H) \
804 __PMC_EV(ARMV8, EVENT_B9H) \
805 __PMC_EV(ARMV8, EVENT_BAH) \
806 __PMC_EV(ARMV8, EVENT_BBH) \
807 __PMC_EV(ARMV8, EVENT_BCH) \
808 __PMC_EV(ARMV8, EVENT_BDH) \
809 __PMC_EV(ARMV8, EVENT_BEH) \
810 __PMC_EV(ARMV8, EVENT_BFH) \
811 __PMC_EV(ARMV8, EVENT_C0H) \
812 __PMC_EV(ARMV8, EVENT_C1H) \
813 __PMC_EV(ARMV8, EVENT_C2H) \
814 __PMC_EV(ARMV8, EVENT_C3H) \
815 __PMC_EV(ARMV8, EVENT_C4H) \
816 __PMC_EV(ARMV8, EVENT_C5H) \
817 __PMC_EV(ARMV8, EVENT_C6H) \
818 __PMC_EV(ARMV8, EVENT_C7H) \
819 __PMC_EV(ARMV8, EVENT_C8H) \
820 __PMC_EV(ARMV8, EVENT_C9H) \
821 __PMC_EV(ARMV8, EVENT_CAH) \
822 __PMC_EV(ARMV8, EVENT_CBH) \
823 __PMC_EV(ARMV8, EVENT_CCH) \
824 __PMC_EV(ARMV8, EVENT_CDH) \
825 __PMC_EV(ARMV8, EVENT_CEH) \
826 __PMC_EV(ARMV8, EVENT_CFH) \
827 __PMC_EV(ARMV8, EVENT_D0H) \
828 __PMC_EV(ARMV8, EVENT_D1H) \
829 __PMC_EV(ARMV8, EVENT_D2H) \
830 __PMC_EV(ARMV8, EVENT_D3H) \
831 __PMC_EV(ARMV8, EVENT_D4H) \
832 __PMC_EV(ARMV8, EVENT_D5H) \
833 __PMC_EV(ARMV8, EVENT_D6H) \
834 __PMC_EV(ARMV8, EVENT_D7H) \
835 __PMC_EV(ARMV8, EVENT_D8H) \
836 __PMC_EV(ARMV8, EVENT_D9H) \
837 __PMC_EV(ARMV8, EVENT_DAH) \
838 __PMC_EV(ARMV8, EVENT_DBH) \
839 __PMC_EV(ARMV8, EVENT_DCH) \
840 __PMC_EV(ARMV8, EVENT_DDH) \
841 __PMC_EV(ARMV8, EVENT_DEH) \
842 __PMC_EV(ARMV8, EVENT_DFH) \
843 __PMC_EV(ARMV8, EVENT_E0H) \
844 __PMC_EV(ARMV8, EVENT_E1H) \
845 __PMC_EV(ARMV8, EVENT_E2H) \
846 __PMC_EV(ARMV8, EVENT_E3H) \
847 __PMC_EV(ARMV8, EVENT_E4H) \
848 __PMC_EV(ARMV8, EVENT_E5H) \
849 __PMC_EV(ARMV8, EVENT_E6H) \
850 __PMC_EV(ARMV8, EVENT_E7H) \
851 __PMC_EV(ARMV8, EVENT_E8H) \
852 __PMC_EV(ARMV8, EVENT_E9H) \
853 __PMC_EV(ARMV8, EVENT_EAH) \
854 __PMC_EV(ARMV8, EVENT_EBH) \
855 __PMC_EV(ARMV8, EVENT_ECH) \
856 __PMC_EV(ARMV8, EVENT_EDH) \
857 __PMC_EV(ARMV8, EVENT_EEH) \
858 __PMC_EV(ARMV8, EVENT_EFH) \
859 __PMC_EV(ARMV8, EVENT_F0H) \
860 __PMC_EV(ARMV8, EVENT_F1H) \
861 __PMC_EV(ARMV8, EVENT_F2H) \
862 __PMC_EV(ARMV8, EVENT_F3H) \
863 __PMC_EV(ARMV8, EVENT_F4H) \
864 __PMC_EV(ARMV8, EVENT_F5H) \
865 __PMC_EV(ARMV8, EVENT_F6H) \
866 __PMC_EV(ARMV8, EVENT_F7H) \
867 __PMC_EV(ARMV8, EVENT_F8H) \
868 __PMC_EV(ARMV8, EVENT_F9H) \
869 __PMC_EV(ARMV8, EVENT_FAH) \
870 __PMC_EV(ARMV8, EVENT_FBH) \
871 __PMC_EV(ARMV8, EVENT_FCH) \
872 __PMC_EV(ARMV8, EVENT_FDH) \
873 __PMC_EV(ARMV8, EVENT_FEH) \
874 __PMC_EV(ARMV8, EVENT_FFH) \
875 __PMC_EV(ARMV8, EVENT_100H) \
876 __PMC_EV(ARMV8, EVENT_101H) \
877 __PMC_EV(ARMV8, EVENT_102H) \
878 __PMC_EV(ARMV8, EVENT_103H) \
879 __PMC_EV(ARMV8, EVENT_104H) \
880 __PMC_EV(ARMV8, EVENT_105H) \
881 __PMC_EV(ARMV8, EVENT_106H) \
882 __PMC_EV(ARMV8, EVENT_107H) \
883 __PMC_EV(ARMV8, EVENT_108H) \
884 __PMC_EV(ARMV8, EVENT_109H) \
885 __PMC_EV(ARMV8, EVENT_10AH) \
886 __PMC_EV(ARMV8, EVENT_10BH) \
887 __PMC_EV(ARMV8, EVENT_10CH) \
888 __PMC_EV(ARMV8, EVENT_10DH) \
889 __PMC_EV(ARMV8, EVENT_10EH) \
890 __PMC_EV(ARMV8, EVENT_10FH) \
891 __PMC_EV(ARMV8, EVENT_110H) \
892 __PMC_EV(ARMV8, EVENT_111H) \
893 __PMC_EV(ARMV8, EVENT_112H) \
894 __PMC_EV(ARMV8, EVENT_113H) \
895 __PMC_EV(ARMV8, EVENT_114H) \
896 __PMC_EV(ARMV8, EVENT_115H) \
897 __PMC_EV(ARMV8, EVENT_116H) \
898 __PMC_EV(ARMV8, EVENT_117H) \
899 __PMC_EV(ARMV8, EVENT_118H) \
900 __PMC_EV(ARMV8, EVENT_119H) \
901 __PMC_EV(ARMV8, EVENT_11AH) \
902 __PMC_EV(ARMV8, EVENT_11BH) \
903 __PMC_EV(ARMV8, EVENT_11CH) \
904 __PMC_EV(ARMV8, EVENT_11DH) \
905 __PMC_EV(ARMV8, EVENT_11EH) \
906 __PMC_EV(ARMV8, EVENT_11FH) \
907 __PMC_EV(ARMV8, EVENT_120H) \
908 __PMC_EV(ARMV8, EVENT_121H) \
909 __PMC_EV(ARMV8, EVENT_122H) \
910 __PMC_EV(ARMV8, EVENT_123H) \
911 __PMC_EV(ARMV8, EVENT_124H) \
912 __PMC_EV(ARMV8, EVENT_125H) \
913 __PMC_EV(ARMV8, EVENT_126H) \
914 __PMC_EV(ARMV8, EVENT_127H) \
915 __PMC_EV(ARMV8, EVENT_128H) \
916 __PMC_EV(ARMV8, EVENT_129H) \
917 __PMC_EV(ARMV8, EVENT_12AH) \
918 __PMC_EV(ARMV8, EVENT_12BH) \
919 __PMC_EV(ARMV8, EVENT_12CH) \
920 __PMC_EV(ARMV8, EVENT_12DH) \
921 __PMC_EV(ARMV8, EVENT_12EH) \
922 __PMC_EV(ARMV8, EVENT_12FH) \
923 __PMC_EV(ARMV8, EVENT_130H) \
924 __PMC_EV(ARMV8, EVENT_131H) \
925 __PMC_EV(ARMV8, EVENT_132H) \
926 __PMC_EV(ARMV8, EVENT_133H) \
927 __PMC_EV(ARMV8, EVENT_134H) \
928 __PMC_EV(ARMV8, EVENT_135H) \
929 __PMC_EV(ARMV8, EVENT_136H) \
930 __PMC_EV(ARMV8, EVENT_137H) \
931 __PMC_EV(ARMV8, EVENT_138H) \
932 __PMC_EV(ARMV8, EVENT_139H) \
933 __PMC_EV(ARMV8, EVENT_13AH) \
934 __PMC_EV(ARMV8, EVENT_13BH) \
935 __PMC_EV(ARMV8, EVENT_13CH) \
936 __PMC_EV(ARMV8, EVENT_13DH) \
937 __PMC_EV(ARMV8, EVENT_13EH) \
938 __PMC_EV(ARMV8, EVENT_13FH) \
939 __PMC_EV(ARMV8, EVENT_140H) \
940 __PMC_EV(ARMV8, EVENT_141H) \
941 __PMC_EV(ARMV8, EVENT_142H) \
942 __PMC_EV(ARMV8, EVENT_143H) \
943 __PMC_EV(ARMV8, EVENT_144H) \
944 __PMC_EV(ARMV8, EVENT_145H) \
945 __PMC_EV(ARMV8, EVENT_146H) \
946 __PMC_EV(ARMV8, EVENT_147H) \
947 __PMC_EV(ARMV8, EVENT_148H) \
948 __PMC_EV(ARMV8, EVENT_149H) \
949 __PMC_EV(ARMV8, EVENT_14AH) \
950 __PMC_EV(ARMV8, EVENT_14BH) \
951 __PMC_EV(ARMV8, EVENT_14CH) \
952 __PMC_EV(ARMV8, EVENT_14DH) \
953 __PMC_EV(ARMV8, EVENT_14EH) \
954 __PMC_EV(ARMV8, EVENT_14FH) \
955 __PMC_EV(ARMV8, EVENT_150H) \
956 __PMC_EV(ARMV8, EVENT_151H) \
957 __PMC_EV(ARMV8, EVENT_152H) \
958 __PMC_EV(ARMV8, EVENT_153H) \
959 __PMC_EV(ARMV8, EVENT_154H) \
960 __PMC_EV(ARMV8, EVENT_155H) \
961 __PMC_EV(ARMV8, EVENT_156H) \
962 __PMC_EV(ARMV8, EVENT_157H) \
963 __PMC_EV(ARMV8, EVENT_158H) \
964 __PMC_EV(ARMV8, EVENT_159H) \
965 __PMC_EV(ARMV8, EVENT_15AH) \
966 __PMC_EV(ARMV8, EVENT_15BH) \
967 __PMC_EV(ARMV8, EVENT_15CH) \
968 __PMC_EV(ARMV8, EVENT_15DH) \
969 __PMC_EV(ARMV8, EVENT_15EH) \
970 __PMC_EV(ARMV8, EVENT_15FH) \
971 __PMC_EV(ARMV8, EVENT_160H) \
972 __PMC_EV(ARMV8, EVENT_161H) \
973 __PMC_EV(ARMV8, EVENT_162H) \
974 __PMC_EV(ARMV8, EVENT_163H) \
975 __PMC_EV(ARMV8, EVENT_164H) \
976 __PMC_EV(ARMV8, EVENT_165H) \
977 __PMC_EV(ARMV8, EVENT_166H) \
978 __PMC_EV(ARMV8, EVENT_167H) \
979 __PMC_EV(ARMV8, EVENT_168H) \
980 __PMC_EV(ARMV8, EVENT_169H) \
981 __PMC_EV(ARMV8, EVENT_16AH) \
982 __PMC_EV(ARMV8, EVENT_16BH) \
983 __PMC_EV(ARMV8, EVENT_16CH) \
984 __PMC_EV(ARMV8, EVENT_16DH) \
985 __PMC_EV(ARMV8, EVENT_16EH) \
986 __PMC_EV(ARMV8, EVENT_16FH) \
987 __PMC_EV(ARMV8, EVENT_170H) \
988 __PMC_EV(ARMV8, EVENT_171H) \
989 __PMC_EV(ARMV8, EVENT_172H) \
990 __PMC_EV(ARMV8, EVENT_173H) \
991 __PMC_EV(ARMV8, EVENT_174H) \
992 __PMC_EV(ARMV8, EVENT_175H) \
993 __PMC_EV(ARMV8, EVENT_176H) \
994 __PMC_EV(ARMV8, EVENT_177H) \
995 __PMC_EV(ARMV8, EVENT_178H) \
996 __PMC_EV(ARMV8, EVENT_179H) \
997 __PMC_EV(ARMV8, EVENT_17AH) \
998 __PMC_EV(ARMV8, EVENT_17BH) \
999 __PMC_EV(ARMV8, EVENT_17CH) \
1000 __PMC_EV(ARMV8, EVENT_17DH) \
1001 __PMC_EV(ARMV8, EVENT_17EH) \
1002 __PMC_EV(ARMV8, EVENT_17FH) \
1003 __PMC_EV(ARMV8, EVENT_180H) \
1004 __PMC_EV(ARMV8, EVENT_181H) \
1005 __PMC_EV(ARMV8, EVENT_182H) \
1006 __PMC_EV(ARMV8, EVENT_183H) \
1007 __PMC_EV(ARMV8, EVENT_184H) \
1008 __PMC_EV(ARMV8, EVENT_185H) \
1009 __PMC_EV(ARMV8, EVENT_186H) \
1010 __PMC_EV(ARMV8, EVENT_187H) \
1011 __PMC_EV(ARMV8, EVENT_188H) \
1012 __PMC_EV(ARMV8, EVENT_189H) \
1013 __PMC_EV(ARMV8, EVENT_18AH) \
1014 __PMC_EV(ARMV8, EVENT_18BH) \
1015 __PMC_EV(ARMV8, EVENT_18CH) \
1016 __PMC_EV(ARMV8, EVENT_18DH) \
1017 __PMC_EV(ARMV8, EVENT_18EH) \
1018 __PMC_EV(ARMV8, EVENT_18FH) \
1019 __PMC_EV(ARMV8, EVENT_190H) \
1020 __PMC_EV(ARMV8, EVENT_191H) \
1021 __PMC_EV(ARMV8, EVENT_192H) \
1022 __PMC_EV(ARMV8, EVENT_193H) \
1023 __PMC_EV(ARMV8, EVENT_194H) \
1024 __PMC_EV(ARMV8, EVENT_195H) \
1025 __PMC_EV(ARMV8, EVENT_196H) \
1026 __PMC_EV(ARMV8, EVENT_197H) \
1027 __PMC_EV(ARMV8, EVENT_198H) \
1028 __PMC_EV(ARMV8, EVENT_199H) \
1029 __PMC_EV(ARMV8, EVENT_19AH) \
1030 __PMC_EV(ARMV8, EVENT_19BH) \
1031 __PMC_EV(ARMV8, EVENT_19CH) \
1032 __PMC_EV(ARMV8, EVENT_19DH) \
1033 __PMC_EV(ARMV8, EVENT_19EH) \
1034 __PMC_EV(ARMV8, EVENT_19FH) \
1035 __PMC_EV(ARMV8, EVENT_1A0H) \
1036 __PMC_EV(ARMV8, EVENT_1A1H) \
1037 __PMC_EV(ARMV8, EVENT_1A2H) \
1038 __PMC_EV(ARMV8, EVENT_1A3H) \
1039 __PMC_EV(ARMV8, EVENT_1A4H) \
1040 __PMC_EV(ARMV8, EVENT_1A5H) \
1041 __PMC_EV(ARMV8, EVENT_1A6H) \
1042 __PMC_EV(ARMV8, EVENT_1A7H) \
1043 __PMC_EV(ARMV8, EVENT_1A8H) \
1044 __PMC_EV(ARMV8, EVENT_1A9H) \
1045 __PMC_EV(ARMV8, EVENT_1AAH) \
1046 __PMC_EV(ARMV8, EVENT_1ABH) \
1047 __PMC_EV(ARMV8, EVENT_1ACH) \
1048 __PMC_EV(ARMV8, EVENT_1ADH) \
1049 __PMC_EV(ARMV8, EVENT_1AEH) \
1050 __PMC_EV(ARMV8, EVENT_1AFH) \
1051 __PMC_EV(ARMV8, EVENT_1B0H) \
1052 __PMC_EV(ARMV8, EVENT_1B1H) \
1053 __PMC_EV(ARMV8, EVENT_1B2H) \
1054 __PMC_EV(ARMV8, EVENT_1B3H) \
1055 __PMC_EV(ARMV8, EVENT_1B4H) \
1056 __PMC_EV(ARMV8, EVENT_1B5H) \
1057 __PMC_EV(ARMV8, EVENT_1B6H) \
1058 __PMC_EV(ARMV8, EVENT_1B7H) \
1059 __PMC_EV(ARMV8, EVENT_1B8H) \
1060 __PMC_EV(ARMV8, EVENT_1B9H) \
1061 __PMC_EV(ARMV8, EVENT_1BAH) \
1062 __PMC_EV(ARMV8, EVENT_1BBH) \
1063 __PMC_EV(ARMV8, EVENT_1BCH) \
1064 __PMC_EV(ARMV8, EVENT_1BDH) \
1065 __PMC_EV(ARMV8, EVENT_1BEH) \
1066 __PMC_EV(ARMV8, EVENT_1BFH) \
1067 __PMC_EV(ARMV8, EVENT_1C0H) \
1068 __PMC_EV(ARMV8, EVENT_1C1H) \
1069 __PMC_EV(ARMV8, EVENT_1C2H) \
1070 __PMC_EV(ARMV8, EVENT_1C3H) \
1071 __PMC_EV(ARMV8, EVENT_1C4H) \
1072 __PMC_EV(ARMV8, EVENT_1C5H) \
1073 __PMC_EV(ARMV8, EVENT_1C6H) \
1074 __PMC_EV(ARMV8, EVENT_1C7H) \
1075 __PMC_EV(ARMV8, EVENT_1C8H) \
1076 __PMC_EV(ARMV8, EVENT_1C9H) \
1077 __PMC_EV(ARMV8, EVENT_1CAH) \
1078 __PMC_EV(ARMV8, EVENT_1CBH) \
1079 __PMC_EV(ARMV8, EVENT_1CCH) \
1080 __PMC_EV(ARMV8, EVENT_1CDH) \
1081 __PMC_EV(ARMV8, EVENT_1CEH) \
1082 __PMC_EV(ARMV8, EVENT_1CFH) \
1083 __PMC_EV(ARMV8, EVENT_1D0H) \
1084 __PMC_EV(ARMV8, EVENT_1D1H) \
1085 __PMC_EV(ARMV8, EVENT_1D2H) \
1086 __PMC_EV(ARMV8, EVENT_1D3H) \
1087 __PMC_EV(ARMV8, EVENT_1D4H) \
1088 __PMC_EV(ARMV8, EVENT_1D5H) \
1089 __PMC_EV(ARMV8, EVENT_1D6H) \
1090 __PMC_EV(ARMV8, EVENT_1D7H) \
1091 __PMC_EV(ARMV8, EVENT_1D8H) \
1092 __PMC_EV(ARMV8, EVENT_1D9H) \
1093 __PMC_EV(ARMV8, EVENT_1DAH) \
1094 __PMC_EV(ARMV8, EVENT_1DBH) \
1095 __PMC_EV(ARMV8, EVENT_1DCH) \
1096 __PMC_EV(ARMV8, EVENT_1DDH) \
1097 __PMC_EV(ARMV8, EVENT_1DEH) \
1098 __PMC_EV(ARMV8, EVENT_1DFH) \
1099 __PMC_EV(ARMV8, EVENT_1E0H) \
1100 __PMC_EV(ARMV8, EVENT_1E1H) \
1101 __PMC_EV(ARMV8, EVENT_1E2H) \
1102 __PMC_EV(ARMV8, EVENT_1E3H) \
1103 __PMC_EV(ARMV8, EVENT_1E4H) \
1104 __PMC_EV(ARMV8, EVENT_1E5H) \
1105 __PMC_EV(ARMV8, EVENT_1E6H) \
1106 __PMC_EV(ARMV8, EVENT_1E7H) \
1107 __PMC_EV(ARMV8, EVENT_1E8H) \
1108 __PMC_EV(ARMV8, EVENT_1E9H) \
1109 __PMC_EV(ARMV8, EVENT_1EAH) \
1110 __PMC_EV(ARMV8, EVENT_1EBH) \
1111 __PMC_EV(ARMV8, EVENT_1ECH) \
1112 __PMC_EV(ARMV8, EVENT_1EDH) \
1113 __PMC_EV(ARMV8, EVENT_1EEH) \
1114 __PMC_EV(ARMV8, EVENT_1EFH) \
1115 __PMC_EV(ARMV8, EVENT_1F0H) \
1116 __PMC_EV(ARMV8, EVENT_1F1H) \
1117 __PMC_EV(ARMV8, EVENT_1F2H) \
1118 __PMC_EV(ARMV8, EVENT_1F3H) \
1119 __PMC_EV(ARMV8, EVENT_1F4H) \
1120 __PMC_EV(ARMV8, EVENT_1F5H) \
1121 __PMC_EV(ARMV8, EVENT_1F6H) \
1122 __PMC_EV(ARMV8, EVENT_1F7H) \
1123 __PMC_EV(ARMV8, EVENT_1F8H) \
1124 __PMC_EV(ARMV8, EVENT_1F9H) \
1125 __PMC_EV(ARMV8, EVENT_1FAH) \
1126 __PMC_EV(ARMV8, EVENT_1FBH) \
1127 __PMC_EV(ARMV8, EVENT_1FCH) \
1128 __PMC_EV(ARMV8, EVENT_1FDH) \
1129 __PMC_EV(ARMV8, EVENT_1FEH) \
1130 __PMC_EV(ARMV8, EVENT_1FFH) \
1131 __PMC_EV(ARMV8, EVENT_200H) \
1132 __PMC_EV(ARMV8, EVENT_201H) \
1133 __PMC_EV(ARMV8, EVENT_202H) \
1134 __PMC_EV(ARMV8, EVENT_203H) \
1135 __PMC_EV(ARMV8, EVENT_204H) \
1136 __PMC_EV(ARMV8, EVENT_205H) \
1137 __PMC_EV(ARMV8, EVENT_206H) \
1138 __PMC_EV(ARMV8, EVENT_207H) \
1139 __PMC_EV(ARMV8, EVENT_208H) \
1140 __PMC_EV(ARMV8, EVENT_209H) \
1141 __PMC_EV(ARMV8, EVENT_20AH) \
1142 __PMC_EV(ARMV8, EVENT_20BH) \
1143 __PMC_EV(ARMV8, EVENT_20CH) \
1144 __PMC_EV(ARMV8, EVENT_20DH) \
1145 __PMC_EV(ARMV8, EVENT_20EH) \
1146 __PMC_EV(ARMV8, EVENT_20FH) \
1147 __PMC_EV(ARMV8, EVENT_210H) \
1148 __PMC_EV(ARMV8, EVENT_211H) \
1149 __PMC_EV(ARMV8, EVENT_212H) \
1150 __PMC_EV(ARMV8, EVENT_213H) \
1151 __PMC_EV(ARMV8, EVENT_214H) \
1152 __PMC_EV(ARMV8, EVENT_215H) \
1153 __PMC_EV(ARMV8, EVENT_216H) \
1154 __PMC_EV(ARMV8, EVENT_217H) \
1155 __PMC_EV(ARMV8, EVENT_218H) \
1156 __PMC_EV(ARMV8, EVENT_219H) \
1157 __PMC_EV(ARMV8, EVENT_21AH) \
1158 __PMC_EV(ARMV8, EVENT_21BH) \
1159 __PMC_EV(ARMV8, EVENT_21CH) \
1160 __PMC_EV(ARMV8, EVENT_21DH) \
1161 __PMC_EV(ARMV8, EVENT_21EH) \
1162 __PMC_EV(ARMV8, EVENT_21FH) \
1163 __PMC_EV(ARMV8, EVENT_220H) \
1164 __PMC_EV(ARMV8, EVENT_221H) \
1165 __PMC_EV(ARMV8, EVENT_222H) \
1166 __PMC_EV(ARMV8, EVENT_223H) \
1167 __PMC_EV(ARMV8, EVENT_224H) \
1168 __PMC_EV(ARMV8, EVENT_225H) \
1169 __PMC_EV(ARMV8, EVENT_226H) \
1170 __PMC_EV(ARMV8, EVENT_227H) \
1171 __PMC_EV(ARMV8, EVENT_228H) \
1172 __PMC_EV(ARMV8, EVENT_229H) \
1173 __PMC_EV(ARMV8, EVENT_22AH) \
1174 __PMC_EV(ARMV8, EVENT_22BH) \
1175 __PMC_EV(ARMV8, EVENT_22CH) \
1176 __PMC_EV(ARMV8, EVENT_22DH) \
1177 __PMC_EV(ARMV8, EVENT_22EH) \
1178 __PMC_EV(ARMV8, EVENT_22FH) \
1179 __PMC_EV(ARMV8, EVENT_230H) \
1180 __PMC_EV(ARMV8, EVENT_231H) \
1181 __PMC_EV(ARMV8, EVENT_232H) \
1182 __PMC_EV(ARMV8, EVENT_233H) \
1183 __PMC_EV(ARMV8, EVENT_234H) \
1184 __PMC_EV(ARMV8, EVENT_235H) \
1185 __PMC_EV(ARMV8, EVENT_236H) \
1186 __PMC_EV(ARMV8, EVENT_237H) \
1187 __PMC_EV(ARMV8, EVENT_238H) \
1188 __PMC_EV(ARMV8, EVENT_239H) \
1189 __PMC_EV(ARMV8, EVENT_23AH) \
1190 __PMC_EV(ARMV8, EVENT_23BH) \
1191 __PMC_EV(ARMV8, EVENT_23CH) \
1192 __PMC_EV(ARMV8, EVENT_23DH) \
1193 __PMC_EV(ARMV8, EVENT_23EH) \
1194 __PMC_EV(ARMV8, EVENT_23FH) \
1195 __PMC_EV(ARMV8, EVENT_240H) \
1196 __PMC_EV(ARMV8, EVENT_241H) \
1197 __PMC_EV(ARMV8, EVENT_242H) \
1198 __PMC_EV(ARMV8, EVENT_243H) \
1199 __PMC_EV(ARMV8, EVENT_244H) \
1200 __PMC_EV(ARMV8, EVENT_245H) \
1201 __PMC_EV(ARMV8, EVENT_246H) \
1202 __PMC_EV(ARMV8, EVENT_247H) \
1203 __PMC_EV(ARMV8, EVENT_248H) \
1204 __PMC_EV(ARMV8, EVENT_249H) \
1205 __PMC_EV(ARMV8, EVENT_24AH) \
1206 __PMC_EV(ARMV8, EVENT_24BH) \
1207 __PMC_EV(ARMV8, EVENT_24CH) \
1208 __PMC_EV(ARMV8, EVENT_24DH) \
1209 __PMC_EV(ARMV8, EVENT_24EH) \
1210 __PMC_EV(ARMV8, EVENT_24FH) \
1211 __PMC_EV(ARMV8, EVENT_250H) \
1212 __PMC_EV(ARMV8, EVENT_251H) \
1213 __PMC_EV(ARMV8, EVENT_252H) \
1214 __PMC_EV(ARMV8, EVENT_253H) \
1215 __PMC_EV(ARMV8, EVENT_254H) \
1216 __PMC_EV(ARMV8, EVENT_255H) \
1217 __PMC_EV(ARMV8, EVENT_256H) \
1218 __PMC_EV(ARMV8, EVENT_257H) \
1219 __PMC_EV(ARMV8, EVENT_258H) \
1220 __PMC_EV(ARMV8, EVENT_259H) \
1221 __PMC_EV(ARMV8, EVENT_25AH) \
1222 __PMC_EV(ARMV8, EVENT_25BH) \
1223 __PMC_EV(ARMV8, EVENT_25CH) \
1224 __PMC_EV(ARMV8, EVENT_25DH) \
1225 __PMC_EV(ARMV8, EVENT_25EH) \
1226 __PMC_EV(ARMV8, EVENT_25FH) \
1227 __PMC_EV(ARMV8, EVENT_260H) \
1228 __PMC_EV(ARMV8, EVENT_261H) \
1229 __PMC_EV(ARMV8, EVENT_262H) \
1230 __PMC_EV(ARMV8, EVENT_263H) \
1231 __PMC_EV(ARMV8, EVENT_264H) \
1232 __PMC_EV(ARMV8, EVENT_265H) \
1233 __PMC_EV(ARMV8, EVENT_266H) \
1234 __PMC_EV(ARMV8, EVENT_267H) \
1235 __PMC_EV(ARMV8, EVENT_268H) \
1236 __PMC_EV(ARMV8, EVENT_269H) \
1237 __PMC_EV(ARMV8, EVENT_26AH) \
1238 __PMC_EV(ARMV8, EVENT_26BH) \
1239 __PMC_EV(ARMV8, EVENT_26CH) \
1240 __PMC_EV(ARMV8, EVENT_26DH) \
1241 __PMC_EV(ARMV8, EVENT_26EH) \
1242 __PMC_EV(ARMV8, EVENT_26FH) \
1243 __PMC_EV(ARMV8, EVENT_270H) \
1244 __PMC_EV(ARMV8, EVENT_271H) \
1245 __PMC_EV(ARMV8, EVENT_272H) \
1246 __PMC_EV(ARMV8, EVENT_273H) \
1247 __PMC_EV(ARMV8, EVENT_274H) \
1248 __PMC_EV(ARMV8, EVENT_275H) \
1249 __PMC_EV(ARMV8, EVENT_276H) \
1250 __PMC_EV(ARMV8, EVENT_277H) \
1251 __PMC_EV(ARMV8, EVENT_278H) \
1252 __PMC_EV(ARMV8, EVENT_279H) \
1253 __PMC_EV(ARMV8, EVENT_27AH) \
1254 __PMC_EV(ARMV8, EVENT_27BH) \
1255 __PMC_EV(ARMV8, EVENT_27CH) \
1256 __PMC_EV(ARMV8, EVENT_27DH) \
1257 __PMC_EV(ARMV8, EVENT_27EH) \
1258 __PMC_EV(ARMV8, EVENT_27FH) \
1259 __PMC_EV(ARMV8, EVENT_280H) \
1260 __PMC_EV(ARMV8, EVENT_281H) \
1261 __PMC_EV(ARMV8, EVENT_282H) \
1262 __PMC_EV(ARMV8, EVENT_283H) \
1263 __PMC_EV(ARMV8, EVENT_284H) \
1264 __PMC_EV(ARMV8, EVENT_285H) \
1265 __PMC_EV(ARMV8, EVENT_286H) \
1266 __PMC_EV(ARMV8, EVENT_287H) \
1267 __PMC_EV(ARMV8, EVENT_288H) \
1268 __PMC_EV(ARMV8, EVENT_289H) \
1269 __PMC_EV(ARMV8, EVENT_28AH) \
1270 __PMC_EV(ARMV8, EVENT_28BH) \
1271 __PMC_EV(ARMV8, EVENT_28CH) \
1272 __PMC_EV(ARMV8, EVENT_28DH) \
1273 __PMC_EV(ARMV8, EVENT_28EH) \
1274 __PMC_EV(ARMV8, EVENT_28FH) \
1275 __PMC_EV(ARMV8, EVENT_290H) \
1276 __PMC_EV(ARMV8, EVENT_291H) \
1277 __PMC_EV(ARMV8, EVENT_292H) \
1278 __PMC_EV(ARMV8, EVENT_293H) \
1279 __PMC_EV(ARMV8, EVENT_294H) \
1280 __PMC_EV(ARMV8, EVENT_295H) \
1281 __PMC_EV(ARMV8, EVENT_296H) \
1282 __PMC_EV(ARMV8, EVENT_297H) \
1283 __PMC_EV(ARMV8, EVENT_298H) \
1284 __PMC_EV(ARMV8, EVENT_299H) \
1285 __PMC_EV(ARMV8, EVENT_29AH) \
1286 __PMC_EV(ARMV8, EVENT_29BH) \
1287 __PMC_EV(ARMV8, EVENT_29CH) \
1288 __PMC_EV(ARMV8, EVENT_29DH) \
1289 __PMC_EV(ARMV8, EVENT_29EH) \
1290 __PMC_EV(ARMV8, EVENT_29FH) \
1291 __PMC_EV(ARMV8, EVENT_2A0H) \
1292 __PMC_EV(ARMV8, EVENT_2A1H) \
1293 __PMC_EV(ARMV8, EVENT_2A2H) \
1294 __PMC_EV(ARMV8, EVENT_2A3H) \
1295 __PMC_EV(ARMV8, EVENT_2A4H) \
1296 __PMC_EV(ARMV8, EVENT_2A5H) \
1297 __PMC_EV(ARMV8, EVENT_2A6H) \
1298 __PMC_EV(ARMV8, EVENT_2A7H) \
1299 __PMC_EV(ARMV8, EVENT_2A8H) \
1300 __PMC_EV(ARMV8, EVENT_2A9H) \
1301 __PMC_EV(ARMV8, EVENT_2AAH) \
1302 __PMC_EV(ARMV8, EVENT_2ABH) \
1303 __PMC_EV(ARMV8, EVENT_2ACH) \
1304 __PMC_EV(ARMV8, EVENT_2ADH) \
1305 __PMC_EV(ARMV8, EVENT_2AEH) \
1306 __PMC_EV(ARMV8, EVENT_2AFH) \
1307 __PMC_EV(ARMV8, EVENT_2B0H) \
1308 __PMC_EV(ARMV8, EVENT_2B1H) \
1309 __PMC_EV(ARMV8, EVENT_2B2H) \
1310 __PMC_EV(ARMV8, EVENT_2B3H) \
1311 __PMC_EV(ARMV8, EVENT_2B4H) \
1312 __PMC_EV(ARMV8, EVENT_2B5H) \
1313 __PMC_EV(ARMV8, EVENT_2B6H) \
1314 __PMC_EV(ARMV8, EVENT_2B7H) \
1315 __PMC_EV(ARMV8, EVENT_2B8H) \
1316 __PMC_EV(ARMV8, EVENT_2B9H) \
1317 __PMC_EV(ARMV8, EVENT_2BAH) \
1318 __PMC_EV(ARMV8, EVENT_2BBH) \
1319 __PMC_EV(ARMV8, EVENT_2BCH) \
1320 __PMC_EV(ARMV8, EVENT_2BDH) \
1321 __PMC_EV(ARMV8, EVENT_2BEH) \
1322 __PMC_EV(ARMV8, EVENT_2BFH) \
1323 __PMC_EV(ARMV8, EVENT_2C0H) \
1324 __PMC_EV(ARMV8, EVENT_2C1H) \
1325 __PMC_EV(ARMV8, EVENT_2C2H) \
1326 __PMC_EV(ARMV8, EVENT_2C3H) \
1327 __PMC_EV(ARMV8, EVENT_2C4H) \
1328 __PMC_EV(ARMV8, EVENT_2C5H) \
1329 __PMC_EV(ARMV8, EVENT_2C6H) \
1330 __PMC_EV(ARMV8, EVENT_2C7H) \
1331 __PMC_EV(ARMV8, EVENT_2C8H) \
1332 __PMC_EV(ARMV8, EVENT_2C9H) \
1333 __PMC_EV(ARMV8, EVENT_2CAH) \
1334 __PMC_EV(ARMV8, EVENT_2CBH) \
1335 __PMC_EV(ARMV8, EVENT_2CCH) \
1336 __PMC_EV(ARMV8, EVENT_2CDH) \
1337 __PMC_EV(ARMV8, EVENT_2CEH) \
1338 __PMC_EV(ARMV8, EVENT_2CFH) \
1339 __PMC_EV(ARMV8, EVENT_2D0H) \
1340 __PMC_EV(ARMV8, EVENT_2D1H) \
1341 __PMC_EV(ARMV8, EVENT_2D2H) \
1342 __PMC_EV(ARMV8, EVENT_2D3H) \
1343 __PMC_EV(ARMV8, EVENT_2D4H) \
1344 __PMC_EV(ARMV8, EVENT_2D5H) \
1345 __PMC_EV(ARMV8, EVENT_2D6H) \
1346 __PMC_EV(ARMV8, EVENT_2D7H) \
1347 __PMC_EV(ARMV8, EVENT_2D8H) \
1348 __PMC_EV(ARMV8, EVENT_2D9H) \
1349 __PMC_EV(ARMV8, EVENT_2DAH) \
1350 __PMC_EV(ARMV8, EVENT_2DBH) \
1351 __PMC_EV(ARMV8, EVENT_2DCH) \
1352 __PMC_EV(ARMV8, EVENT_2DDH) \
1353 __PMC_EV(ARMV8, EVENT_2DEH) \
1354 __PMC_EV(ARMV8, EVENT_2DFH) \
1355 __PMC_EV(ARMV8, EVENT_2E0H) \
1356 __PMC_EV(ARMV8, EVENT_2E1H) \
1357 __PMC_EV(ARMV8, EVENT_2E2H) \
1358 __PMC_EV(ARMV8, EVENT_2E3H) \
1359 __PMC_EV(ARMV8, EVENT_2E4H) \
1360 __PMC_EV(ARMV8, EVENT_2E5H) \
1361 __PMC_EV(ARMV8, EVENT_2E6H) \
1362 __PMC_EV(ARMV8, EVENT_2E7H) \
1363 __PMC_EV(ARMV8, EVENT_2E8H) \
1364 __PMC_EV(ARMV8, EVENT_2E9H) \
1365 __PMC_EV(ARMV8, EVENT_2EAH) \
1366 __PMC_EV(ARMV8, EVENT_2EBH) \
1367 __PMC_EV(ARMV8, EVENT_2ECH) \
1368 __PMC_EV(ARMV8, EVENT_2EDH) \
1369 __PMC_EV(ARMV8, EVENT_2EEH) \
1370 __PMC_EV(ARMV8, EVENT_2EFH) \
1371 __PMC_EV(ARMV8, EVENT_2F0H) \
1372 __PMC_EV(ARMV8, EVENT_2F1H) \
1373 __PMC_EV(ARMV8, EVENT_2F2H) \
1374 __PMC_EV(ARMV8, EVENT_2F3H) \
1375 __PMC_EV(ARMV8, EVENT_2F4H) \
1376 __PMC_EV(ARMV8, EVENT_2F5H) \
1377 __PMC_EV(ARMV8, EVENT_2F6H) \
1378 __PMC_EV(ARMV8, EVENT_2F7H) \
1379 __PMC_EV(ARMV8, EVENT_2F8H) \
1380 __PMC_EV(ARMV8, EVENT_2F9H) \
1381 __PMC_EV(ARMV8, EVENT_2FAH) \
1382 __PMC_EV(ARMV8, EVENT_2FBH) \
1383 __PMC_EV(ARMV8, EVENT_2FCH) \
1384 __PMC_EV(ARMV8, EVENT_2FDH) \
1385 __PMC_EV(ARMV8, EVENT_2FEH) \
1386 __PMC_EV(ARMV8, EVENT_2FFH) \
1387 __PMC_EV(ARMV8, EVENT_300H) \
1388 __PMC_EV(ARMV8, EVENT_301H) \
1389 __PMC_EV(ARMV8, EVENT_302H) \
1390 __PMC_EV(ARMV8, EVENT_303H) \
1391 __PMC_EV(ARMV8, EVENT_304H) \
1392 __PMC_EV(ARMV8, EVENT_305H) \
1393 __PMC_EV(ARMV8, EVENT_306H) \
1394 __PMC_EV(ARMV8, EVENT_307H) \
1395 __PMC_EV(ARMV8, EVENT_308H) \
1396 __PMC_EV(ARMV8, EVENT_309H) \
1397 __PMC_EV(ARMV8, EVENT_30AH) \
1398 __PMC_EV(ARMV8, EVENT_30BH) \
1399 __PMC_EV(ARMV8, EVENT_30CH) \
1400 __PMC_EV(ARMV8, EVENT_30DH) \
1401 __PMC_EV(ARMV8, EVENT_30EH) \
1402 __PMC_EV(ARMV8, EVENT_30FH) \
1403 __PMC_EV(ARMV8, EVENT_310H) \
1404 __PMC_EV(ARMV8, EVENT_311H) \
1405 __PMC_EV(ARMV8, EVENT_312H) \
1406 __PMC_EV(ARMV8, EVENT_313H) \
1407 __PMC_EV(ARMV8, EVENT_314H) \
1408 __PMC_EV(ARMV8, EVENT_315H) \
1409 __PMC_EV(ARMV8, EVENT_316H) \
1410 __PMC_EV(ARMV8, EVENT_317H) \
1411 __PMC_EV(ARMV8, EVENT_318H) \
1412 __PMC_EV(ARMV8, EVENT_319H) \
1413 __PMC_EV(ARMV8, EVENT_31AH) \
1414 __PMC_EV(ARMV8, EVENT_31BH) \
1415 __PMC_EV(ARMV8, EVENT_31CH) \
1416 __PMC_EV(ARMV8, EVENT_31DH) \
1417 __PMC_EV(ARMV8, EVENT_31EH) \
1418 __PMC_EV(ARMV8, EVENT_31FH) \
1419 __PMC_EV(ARMV8, EVENT_320H) \
1420 __PMC_EV(ARMV8, EVENT_321H) \
1421 __PMC_EV(ARMV8, EVENT_322H) \
1422 __PMC_EV(ARMV8, EVENT_323H) \
1423 __PMC_EV(ARMV8, EVENT_324H) \
1424 __PMC_EV(ARMV8, EVENT_325H) \
1425 __PMC_EV(ARMV8, EVENT_326H) \
1426 __PMC_EV(ARMV8, EVENT_327H) \
1427 __PMC_EV(ARMV8, EVENT_328H) \
1428 __PMC_EV(ARMV8, EVENT_329H) \
1429 __PMC_EV(ARMV8, EVENT_32AH) \
1430 __PMC_EV(ARMV8, EVENT_32BH) \
1431 __PMC_EV(ARMV8, EVENT_32CH) \
1432 __PMC_EV(ARMV8, EVENT_32DH) \
1433 __PMC_EV(ARMV8, EVENT_32EH) \
1434 __PMC_EV(ARMV8, EVENT_32FH) \
1435 __PMC_EV(ARMV8, EVENT_330H) \
1436 __PMC_EV(ARMV8, EVENT_331H) \
1437 __PMC_EV(ARMV8, EVENT_332H) \
1438 __PMC_EV(ARMV8, EVENT_333H) \
1439 __PMC_EV(ARMV8, EVENT_334H) \
1440 __PMC_EV(ARMV8, EVENT_335H) \
1441 __PMC_EV(ARMV8, EVENT_336H) \
1442 __PMC_EV(ARMV8, EVENT_337H) \
1443 __PMC_EV(ARMV8, EVENT_338H) \
1444 __PMC_EV(ARMV8, EVENT_339H) \
1445 __PMC_EV(ARMV8, EVENT_33AH) \
1446 __PMC_EV(ARMV8, EVENT_33BH) \
1447 __PMC_EV(ARMV8, EVENT_33CH) \
1448 __PMC_EV(ARMV8, EVENT_33DH) \
1449 __PMC_EV(ARMV8, EVENT_33EH) \
1450 __PMC_EV(ARMV8, EVENT_33FH) \
1451 __PMC_EV(ARMV8, EVENT_340H) \
1452 __PMC_EV(ARMV8, EVENT_341H) \
1453 __PMC_EV(ARMV8, EVENT_342H) \
1454 __PMC_EV(ARMV8, EVENT_343H) \
1455 __PMC_EV(ARMV8, EVENT_344H) \
1456 __PMC_EV(ARMV8, EVENT_345H) \
1457 __PMC_EV(ARMV8, EVENT_346H) \
1458 __PMC_EV(ARMV8, EVENT_347H) \
1459 __PMC_EV(ARMV8, EVENT_348H) \
1460 __PMC_EV(ARMV8, EVENT_349H) \
1461 __PMC_EV(ARMV8, EVENT_34AH) \
1462 __PMC_EV(ARMV8, EVENT_34BH) \
1463 __PMC_EV(ARMV8, EVENT_34CH) \
1464 __PMC_EV(ARMV8, EVENT_34DH) \
1465 __PMC_EV(ARMV8, EVENT_34EH) \
1466 __PMC_EV(ARMV8, EVENT_34FH) \
1467 __PMC_EV(ARMV8, EVENT_350H) \
1468 __PMC_EV(ARMV8, EVENT_351H) \
1469 __PMC_EV(ARMV8, EVENT_352H) \
1470 __PMC_EV(ARMV8, EVENT_353H) \
1471 __PMC_EV(ARMV8, EVENT_354H) \
1472 __PMC_EV(ARMV8, EVENT_355H) \
1473 __PMC_EV(ARMV8, EVENT_356H) \
1474 __PMC_EV(ARMV8, EVENT_357H) \
1475 __PMC_EV(ARMV8, EVENT_358H) \
1476 __PMC_EV(ARMV8, EVENT_359H) \
1477 __PMC_EV(ARMV8, EVENT_35AH) \
1478 __PMC_EV(ARMV8, EVENT_35BH) \
1479 __PMC_EV(ARMV8, EVENT_35CH) \
1480 __PMC_EV(ARMV8, EVENT_35DH) \
1481 __PMC_EV(ARMV8, EVENT_35EH) \
1482 __PMC_EV(ARMV8, EVENT_35FH) \
1483 __PMC_EV(ARMV8, EVENT_360H) \
1484 __PMC_EV(ARMV8, EVENT_361H) \
1485 __PMC_EV(ARMV8, EVENT_362H) \
1486 __PMC_EV(ARMV8, EVENT_363H) \
1487 __PMC_EV(ARMV8, EVENT_364H) \
1488 __PMC_EV(ARMV8, EVENT_365H) \
1489 __PMC_EV(ARMV8, EVENT_366H) \
1490 __PMC_EV(ARMV8, EVENT_367H) \
1491 __PMC_EV(ARMV8, EVENT_368H) \
1492 __PMC_EV(ARMV8, EVENT_369H) \
1493 __PMC_EV(ARMV8, EVENT_36AH) \
1494 __PMC_EV(ARMV8, EVENT_36BH) \
1495 __PMC_EV(ARMV8, EVENT_36CH) \
1496 __PMC_EV(ARMV8, EVENT_36DH) \
1497 __PMC_EV(ARMV8, EVENT_36EH) \
1498 __PMC_EV(ARMV8, EVENT_36FH) \
1499 __PMC_EV(ARMV8, EVENT_370H) \
1500 __PMC_EV(ARMV8, EVENT_371H) \
1501 __PMC_EV(ARMV8, EVENT_372H) \
1502 __PMC_EV(ARMV8, EVENT_373H) \
1503 __PMC_EV(ARMV8, EVENT_374H) \
1504 __PMC_EV(ARMV8, EVENT_375H) \
1505 __PMC_EV(ARMV8, EVENT_376H) \
1506 __PMC_EV(ARMV8, EVENT_377H) \
1507 __PMC_EV(ARMV8, EVENT_378H) \
1508 __PMC_EV(ARMV8, EVENT_379H) \
1509 __PMC_EV(ARMV8, EVENT_37AH) \
1510 __PMC_EV(ARMV8, EVENT_37BH) \
1511 __PMC_EV(ARMV8, EVENT_37CH) \
1512 __PMC_EV(ARMV8, EVENT_37DH) \
1513 __PMC_EV(ARMV8, EVENT_37EH) \
1514 __PMC_EV(ARMV8, EVENT_37FH) \
1515 __PMC_EV(ARMV8, EVENT_380H) \
1516 __PMC_EV(ARMV8, EVENT_381H) \
1517 __PMC_EV(ARMV8, EVENT_382H) \
1518 __PMC_EV(ARMV8, EVENT_383H) \
1519 __PMC_EV(ARMV8, EVENT_384H) \
1520 __PMC_EV(ARMV8, EVENT_385H) \
1521 __PMC_EV(ARMV8, EVENT_386H) \
1522 __PMC_EV(ARMV8, EVENT_387H) \
1523 __PMC_EV(ARMV8, EVENT_388H) \
1524 __PMC_EV(ARMV8, EVENT_389H) \
1525 __PMC_EV(ARMV8, EVENT_38AH) \
1526 __PMC_EV(ARMV8, EVENT_38BH) \
1527 __PMC_EV(ARMV8, EVENT_38CH) \
1528 __PMC_EV(ARMV8, EVENT_38DH) \
1529 __PMC_EV(ARMV8, EVENT_38EH) \
1530 __PMC_EV(ARMV8, EVENT_38FH) \
1531 __PMC_EV(ARMV8, EVENT_390H) \
1532 __PMC_EV(ARMV8, EVENT_391H) \
1533 __PMC_EV(ARMV8, EVENT_392H) \
1534 __PMC_EV(ARMV8, EVENT_393H) \
1535 __PMC_EV(ARMV8, EVENT_394H) \
1536 __PMC_EV(ARMV8, EVENT_395H) \
1537 __PMC_EV(ARMV8, EVENT_396H) \
1538 __PMC_EV(ARMV8, EVENT_397H) \
1539 __PMC_EV(ARMV8, EVENT_398H) \
1540 __PMC_EV(ARMV8, EVENT_399H) \
1541 __PMC_EV(ARMV8, EVENT_39AH) \
1542 __PMC_EV(ARMV8, EVENT_39BH) \
1543 __PMC_EV(ARMV8, EVENT_39CH) \
1544 __PMC_EV(ARMV8, EVENT_39DH) \
1545 __PMC_EV(ARMV8, EVENT_39EH) \
1546 __PMC_EV(ARMV8, EVENT_39FH) \
1547 __PMC_EV(ARMV8, EVENT_3A0H) \
1548 __PMC_EV(ARMV8, EVENT_3A1H) \
1549 __PMC_EV(ARMV8, EVENT_3A2H) \
1550 __PMC_EV(ARMV8, EVENT_3A3H) \
1551 __PMC_EV(ARMV8, EVENT_3A4H) \
1552 __PMC_EV(ARMV8, EVENT_3A5H) \
1553 __PMC_EV(ARMV8, EVENT_3A6H) \
1554 __PMC_EV(ARMV8, EVENT_3A7H) \
1555 __PMC_EV(ARMV8, EVENT_3A8H) \
1556 __PMC_EV(ARMV8, EVENT_3A9H) \
1557 __PMC_EV(ARMV8, EVENT_3AAH) \
1558 __PMC_EV(ARMV8, EVENT_3ABH) \
1559 __PMC_EV(ARMV8, EVENT_3ACH) \
1560 __PMC_EV(ARMV8, EVENT_3ADH) \
1561 __PMC_EV(ARMV8, EVENT_3AEH) \
1562 __PMC_EV(ARMV8, EVENT_3AFH) \
1563 __PMC_EV(ARMV8, EVENT_3B0H) \
1564 __PMC_EV(ARMV8, EVENT_3B1H) \
1565 __PMC_EV(ARMV8, EVENT_3B2H) \
1566 __PMC_EV(ARMV8, EVENT_3B3H) \
1567 __PMC_EV(ARMV8, EVENT_3B4H) \
1568 __PMC_EV(ARMV8, EVENT_3B5H) \
1569 __PMC_EV(ARMV8, EVENT_3B6H) \
1570 __PMC_EV(ARMV8, EVENT_3B7H) \
1571 __PMC_EV(ARMV8, EVENT_3B8H) \
1572 __PMC_EV(ARMV8, EVENT_3B9H) \
1573 __PMC_EV(ARMV8, EVENT_3BAH) \
1574 __PMC_EV(ARMV8, EVENT_3BBH) \
1575 __PMC_EV(ARMV8, EVENT_3BCH) \
1576 __PMC_EV(ARMV8, EVENT_3BDH) \
1577 __PMC_EV(ARMV8, EVENT_3BEH) \
1578 __PMC_EV(ARMV8, EVENT_3BFH) \
1579 __PMC_EV(ARMV8, EVENT_3C0H) \
1580 __PMC_EV(ARMV8, EVENT_3C1H) \
1581 __PMC_EV(ARMV8, EVENT_3C2H) \
1582 __PMC_EV(ARMV8, EVENT_3C3H) \
1583 __PMC_EV(ARMV8, EVENT_3C4H) \
1584 __PMC_EV(ARMV8, EVENT_3C5H) \
1585 __PMC_EV(ARMV8, EVENT_3C6H) \
1586 __PMC_EV(ARMV8, EVENT_3C7H) \
1587 __PMC_EV(ARMV8, EVENT_3C8H) \
1588 __PMC_EV(ARMV8, EVENT_3C9H) \
1589 __PMC_EV(ARMV8, EVENT_3CAH) \
1590 __PMC_EV(ARMV8, EVENT_3CBH) \
1591 __PMC_EV(ARMV8, EVENT_3CCH) \
1592 __PMC_EV(ARMV8, EVENT_3CDH) \
1593 __PMC_EV(ARMV8, EVENT_3CEH) \
1594 __PMC_EV(ARMV8, EVENT_3CFH) \
1595 __PMC_EV(ARMV8, EVENT_3D0H) \
1596 __PMC_EV(ARMV8, EVENT_3D1H) \
1597 __PMC_EV(ARMV8, EVENT_3D2H) \
1598 __PMC_EV(ARMV8, EVENT_3D3H) \
1599 __PMC_EV(ARMV8, EVENT_3D4H) \
1600 __PMC_EV(ARMV8, EVENT_3D5H) \
1601 __PMC_EV(ARMV8, EVENT_3D6H) \
1602 __PMC_EV(ARMV8, EVENT_3D7H) \
1603 __PMC_EV(ARMV8, EVENT_3D8H) \
1604 __PMC_EV(ARMV8, EVENT_3D9H) \
1605 __PMC_EV(ARMV8, EVENT_3DAH) \
1606 __PMC_EV(ARMV8, EVENT_3DBH) \
1607 __PMC_EV(ARMV8, EVENT_3DCH) \
1608 __PMC_EV(ARMV8, EVENT_3DDH) \
1609 __PMC_EV(ARMV8, EVENT_3DEH) \
1610 __PMC_EV(ARMV8, EVENT_3DFH) \
1611 __PMC_EV(ARMV8, EVENT_3E0H) \
1612 __PMC_EV(ARMV8, EVENT_3E1H) \
1613 __PMC_EV(ARMV8, EVENT_3E2H) \
1614 __PMC_EV(ARMV8, EVENT_3E3H) \
1615 __PMC_EV(ARMV8, EVENT_3E4H) \
1616 __PMC_EV(ARMV8, EVENT_3E5H) \
1617 __PMC_EV(ARMV8, EVENT_3E6H) \
1618 __PMC_EV(ARMV8, EVENT_3E7H) \
1619 __PMC_EV(ARMV8, EVENT_3E8H) \
1620 __PMC_EV(ARMV8, EVENT_3E9H) \
1621 __PMC_EV(ARMV8, EVENT_3EAH) \
1622 __PMC_EV(ARMV8, EVENT_3EBH) \
1623 __PMC_EV(ARMV8, EVENT_3ECH) \
1624 __PMC_EV(ARMV8, EVENT_3EDH) \
1625 __PMC_EV(ARMV8, EVENT_3EEH) \
1626 __PMC_EV(ARMV8, EVENT_3EFH) \
1627 __PMC_EV(ARMV8, EVENT_3F0H) \
1628 __PMC_EV(ARMV8, EVENT_3F1H) \
1629 __PMC_EV(ARMV8, EVENT_3F2H) \
1630 __PMC_EV(ARMV8, EVENT_3F3H) \
1631 __PMC_EV(ARMV8, EVENT_3F4H) \
1632 __PMC_EV(ARMV8, EVENT_3F5H) \
1633 __PMC_EV(ARMV8, EVENT_3F6H) \
1634 __PMC_EV(ARMV8, EVENT_3F7H) \
1635 __PMC_EV(ARMV8, EVENT_3F8H) \
1636 __PMC_EV(ARMV8, EVENT_3F9H) \
1637 __PMC_EV(ARMV8, EVENT_3FAH) \
1638 __PMC_EV(ARMV8, EVENT_3FBH) \
1639 __PMC_EV(ARMV8, EVENT_3FCH) \
1640 __PMC_EV(ARMV8, EVENT_3FDH) \
1641 __PMC_EV(ARMV8, EVENT_3FEH) \
1642 __PMC_EV(ARMV8, EVENT_3FFH)
1643
1644 #define PMC_EV_ARMV8_FIRST PMC_EV_ARMV8_EVENT_00H
1645 #define PMC_EV_ARMV8_LAST PMC_EV_ARMV8_EVENT_3FFH
1646
1647 #define __PMC_EV_ALIAS_ARMV8_COMMON() \
1648 __PMC_EV_ALIAS("SW_INCR", ARMV8_EVENT_00H) \
1649 __PMC_EV_ALIAS("L1I_CACHE_REFILL", ARMV8_EVENT_01H) \
1650 __PMC_EV_ALIAS("L1I_TLB_REFILL", ARMV8_EVENT_02H) \
1651 __PMC_EV_ALIAS("L1D_CACHE_REFILL", ARMV8_EVENT_03H) \
1652 __PMC_EV_ALIAS("L1D_CACHE", ARMV8_EVENT_04H) \
1653 __PMC_EV_ALIAS("L1D_TLB_REFILL", ARMV8_EVENT_05H) \
1654 __PMC_EV_ALIAS("INST_RETIRED", ARMV8_EVENT_08H) \
1655 __PMC_EV_ALIAS("EXC_TAKEN", ARMV8_EVENT_09H) \
1656 __PMC_EV_ALIAS("EXC_RETURN", ARMV8_EVENT_0AH) \
1657 __PMC_EV_ALIAS("CID_WRITE_RETIRED", ARMV8_EVENT_0BH) \
1658 __PMC_EV_ALIAS("BR_MIS_PRED", ARMV8_EVENT_10H) \
1659 __PMC_EV_ALIAS("CPU_CYCLES", ARMV8_EVENT_11H) \
1660 __PMC_EV_ALIAS("BR_PRED", ARMV8_EVENT_12H) \
1661 __PMC_EV_ALIAS("MEM_ACCESS", ARMV8_EVENT_13H) \
1662 __PMC_EV_ALIAS("L1I_CACHE", ARMV8_EVENT_14H) \
1663 __PMC_EV_ALIAS("L1D_CACHE_WB", ARMV8_EVENT_15H) \
1664 __PMC_EV_ALIAS("L2D_CACHE", ARMV8_EVENT_16H) \
1665 __PMC_EV_ALIAS("L2D_CACHE_REFILL", ARMV8_EVENT_17H) \
1666 __PMC_EV_ALIAS("L2D_CACHE_WB", ARMV8_EVENT_18H) \
1667 __PMC_EV_ALIAS("BUS_ACCESS", ARMV8_EVENT_19H) \
1668 __PMC_EV_ALIAS("MEMORY_ERROR", ARMV8_EVENT_1AH) \
1669 __PMC_EV_ALIAS("BUS_CYCLES", ARMV8_EVENT_1DH) \
1670 __PMC_EV_ALIAS("CHAIN", ARMV8_EVENT_1EH) \
1671 __PMC_EV_ALIAS("BUS_ACCESS_LD", ARMV8_EVENT_60H) \
1672 __PMC_EV_ALIAS("BUS_ACCESS_ST", ARMV8_EVENT_61H) \
1673 __PMC_EV_ALIAS("BR_INDIRECT_SPEC", ARMV8_EVENT_7AH) \
1674 __PMC_EV_ALIAS("EXC_IRQ", ARMV8_EVENT_86H) \
1675 __PMC_EV_ALIAS("EXC_FIQ", ARMV8_EVENT_87H)
1676
1677 #define __PMC_EV_ALIAS_ARMV8_CORTEX_A53() \
1678 __PMC_EV_ALIAS_ARMV8_COMMON() \
1679 __PMC_EV_ALIAS("LD_RETIRED", ARMV8_EVENT_06H) \
1680 __PMC_EV_ALIAS("ST_RETIRED", ARMV8_EVENT_07H) \
1681 __PMC_EV_ALIAS("PC_WRITE_RETIRED", ARMV8_EVENT_0CH) \
1682 __PMC_EV_ALIAS("BR_IMMED_RETIRED", ARMV8_EVENT_0DH) \
1683 __PMC_EV_ALIAS("BR_RETURN_RETIRED", ARMV8_EVENT_0EH) \
1684 __PMC_EV_ALIAS("UNALIGNED_LDST_RETIRED",ARMV8_EVENT_0FH)
1685
1686 #define __PMC_EV_ALIAS_ARMV8_CORTEX_A57_A76() \
1687 __PMC_EV_ALIAS_ARMV8_COMMON() \
1688 __PMC_EV_ALIAS("INST_SPEC", ARMV8_EVENT_1BH) \
1689 __PMC_EV_ALIAS("TTBR_WRITE_RETIRED", ARMV8_EVENT_1CH) \
1690 __PMC_EV_ALIAS("L1D_CACHE_LD", ARMV8_EVENT_40H) \
1691 __PMC_EV_ALIAS("L1D_CACHE_ST", ARMV8_EVENT_41H) \
1692 __PMC_EV_ALIAS("L1D_CACHE_REFILL_LD", ARMV8_EVENT_42H) \
1693 __PMC_EV_ALIAS("L1D_CACHE_REFILL_ST", ARMV8_EVENT_43H) \
1694 __PMC_EV_ALIAS("L1D_CACHE_WB_VICTIM", ARMV8_EVENT_46H) \
1695 __PMC_EV_ALIAS("L1D_CACHE_WB_CLEAN", ARMV8_EVENT_47H) \
1696 __PMC_EV_ALIAS("L1D_CACHE_INVAL", ARMV8_EVENT_48H) \
1697 __PMC_EV_ALIAS("L1D_TLB_REFILL_LD", ARMV8_EVENT_4CH) \
1698 __PMC_EV_ALIAS("L1D_TLB_REFILL_ST", ARMV8_EVENT_4DH) \
1699 __PMC_EV_ALIAS("L2D_CACHE_LD", ARMV8_EVENT_50H) \
1700 __PMC_EV_ALIAS("L2D_CACHE_ST", ARMV8_EVENT_51H) \
1701 __PMC_EV_ALIAS("L2D_CACHE_REFILL_LD", ARMV8_EVENT_52H) \
1702 __PMC_EV_ALIAS("L2D_CACHE_REFILL_ST", ARMV8_EVENT_53H) \
1703 __PMC_EV_ALIAS("L2D_CACHE_WB_VICTIM", ARMV8_EVENT_56H) \
1704 __PMC_EV_ALIAS("L2D_CACHE_WB_CLEAN", ARMV8_EVENT_57H) \
1705 __PMC_EV_ALIAS("L2D_CACHE_INVAL", ARMV8_EVENT_58H) \
1706 __PMC_EV_ALIAS("MEM_ACCESS_LD", ARMV8_EVENT_66H) \
1707 __PMC_EV_ALIAS("MEM_ACCESS_ST", ARMV8_EVENT_67H) \
1708 __PMC_EV_ALIAS("UNALIGNED_LD_SPEC", ARMV8_EVENT_68H) \
1709 __PMC_EV_ALIAS("UNALIGNED_ST_SPEC", ARMV8_EVENT_69H) \
1710 __PMC_EV_ALIAS("UNALIGNED_LDST_SPEC", ARMV8_EVENT_6AH) \
1711 __PMC_EV_ALIAS("LDREX_SPEC", ARMV8_EVENT_6CH) \
1712 __PMC_EV_ALIAS("STREX_PASS_SPEC", ARMV8_EVENT_6DH) \
1713 __PMC_EV_ALIAS("STREX_FAIL_SPEC", ARMV8_EVENT_6EH) \
1714 __PMC_EV_ALIAS("LD_SPEC", ARMV8_EVENT_70H) \
1715 __PMC_EV_ALIAS("ST_SPEC", ARMV8_EVENT_71H) \
1716 __PMC_EV_ALIAS("LDST_SPEC", ARMV8_EVENT_72H) \
1717 __PMC_EV_ALIAS("DP_SPEC", ARMV8_EVENT_73H) \
1718 __PMC_EV_ALIAS("ASE_SPEC", ARMV8_EVENT_74H) \
1719 __PMC_EV_ALIAS("VFP_SPEC", ARMV8_EVENT_75H) \
1720 __PMC_EV_ALIAS("PC_WRITE_SPEC", ARMV8_EVENT_76H) \
1721 __PMC_EV_ALIAS("CRYPTO_SPEC", ARMV8_EVENT_77H) \
1722 __PMC_EV_ALIAS("BR_IMMED_SPEC", ARMV8_EVENT_78H) \
1723 __PMC_EV_ALIAS("BR_RETURN_SPEC", ARMV8_EVENT_79H) \
1724 __PMC_EV_ALIAS("ISB_SPEC", ARMV8_EVENT_7CH) \
1725 __PMC_EV_ALIAS("DSB_SPEC", ARMV8_EVENT_7DH) \
1726 __PMC_EV_ALIAS("DMB_SPEC", ARMV8_EVENT_7EH) \
1727 __PMC_EV_ALIAS("EXC_UNDEF", ARMV8_EVENT_81H) \
1728 __PMC_EV_ALIAS("EXC_SVC", ARMV8_EVENT_82H) \
1729 __PMC_EV_ALIAS("EXC_PABORT", ARMV8_EVENT_83H) \
1730 __PMC_EV_ALIAS("EXC_DABORT", ARMV8_EVENT_84H) \
1731 __PMC_EV_ALIAS("EXC_SMC", ARMV8_EVENT_88H) \
1732 __PMC_EV_ALIAS("EXC_HVC", ARMV8_EVENT_8AH) \
1733 __PMC_EV_ALIAS("EXC_TRAP_PABORT", ARMV8_EVENT_8BH) \
1734 __PMC_EV_ALIAS("EXC_TRAP_DABORT", ARMV8_EVENT_8CH) \
1735 __PMC_EV_ALIAS("EXC_TRAP_OTHER", ARMV8_EVENT_8DH) \
1736 __PMC_EV_ALIAS("EXC_TRAP_IRQ", ARMV8_EVENT_8EH) \
1737 __PMC_EV_ALIAS("EXC_TRAP_FIQ", ARMV8_EVENT_8FH) \
1738 __PMC_EV_ALIAS("RC_LD_SPEC", ARMV8_EVENT_90H) \
1739 __PMC_EV_ALIAS("RC_ST_SPEC", ARMV8_EVENT_91H)
1740
1741 #define __PMC_EV_ALIAS_ARMV8_CORTEX_A57() \
1742 __PMC_EV_ALIAS_ARMV8_CORTEX_A57_A76() \
1743 __PMC_EV_ALIAS("BUS_ACCESS_SHARED", ARMV8_EVENT_62H) \
1744 __PMC_EV_ALIAS("BUS_ACCESS_NOT_SHARED", ARMV8_EVENT_63H) \
1745 __PMC_EV_ALIAS("BUS_ACCESS_NORMAL", ARMV8_EVENT_64H) \
1746 __PMC_EV_ALIAS("BUS_ACCESS_PERIPH", ARMV8_EVENT_65H)
1747
1748 #define __PMC_EV_ALIAS_ARMV8_CORTEX_A76() \
1749 __PMC_EV_ALIAS_ARMV8_CORTEX_A57_A76() \
1750 __PMC_EV_ALIAS("L2D_CACHE_ALLOCATE", ARMV8_EVENT_20H) \
1751 __PMC_EV_ALIAS("BR_RETIRED", ARMV8_EVENT_21H) \
1752 __PMC_EV_ALIAS("BR_MIS_PRED_RETIRED", ARMV8_EVENT_22H) \
1753 __PMC_EV_ALIAS("STALL_FRONTEND", ARMV8_EVENT_23H) \
1754 __PMC_EV_ALIAS("STALL_BACKEND", ARMV8_EVENT_24H) \
1755 __PMC_EV_ALIAS("L1D_TLB", ARMV8_EVENT_25H) \
1756 __PMC_EV_ALIAS("L1I_TLB", ARMV8_EVENT_26H) \
1757 __PMC_EV_ALIAS("L3D_CACHE_ALLOCATE", ARMV8_EVENT_29H) \
1758 __PMC_EV_ALIAS("L3D_CACHE_REFILL", ARMV8_EVENT_2AH) \
1759 __PMC_EV_ALIAS("L3D_CACHE", ARMV8_EVENT_2BH) \
1760 __PMC_EV_ALIAS("L2D_TLB_REFILL", ARMV8_EVENT_2DH) \
1761 __PMC_EV_ALIAS("L2D_TLB", ARMV8_EVENT_2FH) \
1762 __PMC_EV_ALIAS("REMOTE_ACCESS", ARMV8_EVENT_31H) \
1763 __PMC_EV_ALIAS("DTLB_WALK", ARMV8_EVENT_34H) \
1764 __PMC_EV_ALIAS("ITLB_WALK", ARMV8_EVENT_35H) \
1765 __PMC_EV_ALIAS("LL_CACHE_RD", ARMV8_EVENT_36H) \
1766 __PMC_EV_ALIAS("LL_CACHE_MISS_RD", ARMV8_EVENT_37H) \
1767 __PMC_EV_ALIAS("L1D_CACHE_REFILL_INNER", ARMV8_EVENT_44H) \
1768 __PMC_EV_ALIAS("L1D_CACHE_REFILL_OUTER", ARMV8_EVENT_45H) \
1769 __PMC_EV_ALIAS("L1D_TLB_RD", ARMV8_EVENT_4EH) \
1770 __PMC_EV_ALIAS("L1D_TLB_WR", ARMV8_EVENT_4FH) \
1771 __PMC_EV_ALIAS("L2D_TLB_REFILL_RD", ARMV8_EVENT_5CH) \
1772 __PMC_EV_ALIAS("L2D_TLB_REFILL_WR", ARMV8_EVENT_5DH) \
1773 __PMC_EV_ALIAS("L2D_TLB_RD", ARMV8_EVENT_5EH) \
1774 __PMC_EV_ALIAS("L2D_TLB_WR", ARMV8_EVENT_5FH) \
1775 __PMC_EV_ALIAS("STREX_SPEC", ARMV8_EVENT_6FH) \
1776 __PMC_EV_ALIAS("L3_CACHE_RD", ARMV8_EVENT_A0H)
1777
1778 /*
1779 * ARM DMC-620 memory controller counters.
1780 */
1781
1782 #define __PMC_EV_DMC620_PMU_CD2() \
1783 __PMC_EV(DMC620_PMU_CD2, clkdiv2_cycle_count) \
1784 __PMC_EV(DMC620_PMU_CD2, clkdiv2_allocate) \
1785 __PMC_EV(DMC620_PMU_CD2, clkdiv2_queue_depth) \
1786 __PMC_EV(DMC620_PMU_CD2, clkdiv2_waiting_for_wr_data) \
1787 __PMC_EV(DMC620_PMU_CD2, clkdiv2_read_backlog) \
1788 __PMC_EV(DMC620_PMU_CD2, clkdiv2_waiting_for_mi) \
1789 __PMC_EV(DMC620_PMU_CD2, clkdiv2_hazard_resolution) \
1790 __PMC_EV(DMC620_PMU_CD2, clkdiv2_enqueue) \
1791 __PMC_EV(DMC620_PMU_CD2, clkdiv2_arbitrate) \
1792 __PMC_EV(DMC620_PMU_CD2, clkdiv2_lrank_turnaround_activate) \
1793 __PMC_EV(DMC620_PMU_CD2, clkdiv2_prank_turnaround_activate) \
1794 __PMC_EV(DMC620_PMU_CD2, clkdiv2_read_depth) \
1795 __PMC_EV(DMC620_PMU_CD2, clkdiv2_write_depth) \
1796 __PMC_EV(DMC620_PMU_CD2, clkdiv2_highhigh_qos_depth) \
1797 __PMC_EV(DMC620_PMU_CD2, clkdiv2_high_qos_depth) \
1798 __PMC_EV(DMC620_PMU_CD2, clkdiv2_medium_qos_depth) \
1799 __PMC_EV(DMC620_PMU_CD2, clkdiv2_low_qos_depth) \
1800 __PMC_EV(DMC620_PMU_CD2, clkdiv2_activate) \
1801 __PMC_EV(DMC620_PMU_CD2, clkdiv2_rdwr) \
1802 __PMC_EV(DMC620_PMU_CD2, clkdiv2_refresh) \
1803 __PMC_EV(DMC620_PMU_CD2, clkdiv2_training_request) \
1804 __PMC_EV(DMC620_PMU_CD2, clkdiv2_t_mac_tracker) \
1805 __PMC_EV(DMC620_PMU_CD2, clkdiv2_bk_fsm_tracker) \
1806 __PMC_EV(DMC620_PMU_CD2, clkdiv2_bk_open_tracker) \
1807 __PMC_EV(DMC620_PMU_CD2, clkdiv2_ranks_in_pwr_down) \
1808 __PMC_EV(DMC620_PMU_CD2, clkdiv2_ranks_in_sref) \
1809
1810 #define __PMC_EV_DMC620_PMU_C() \
1811 __PMC_EV(DMC620_PMU_C, clk_cycle_count) \
1812 __PMC_EV(DMC620_PMU_C, clk_request) \
1813 __PMC_EV(DMC620_PMU_C, clk_upload_stall)
1814
1815 #define PMC_EV_DMC620_PMU_CD2_FIRST PMC_EV_DMC620_PMU_CD2_clkdiv2_cycle_count
1816 #define PMC_EV_DMC620_PMU_CD2_LAST PMC_EV_DMC620_PMU_CD2_clkdiv2_ranks_in_sref
1817 #define PMC_EV_DMC620_PMU_C_FIRST PMC_EV_DMC620_PMU_C_clk_cycle_count
1818 #define PMC_EV_DMC620_PMU_C_LAST PMC_EV_DMC620_PMU_C_clk_upload_stall
1819
1820 /*
1821 * Arm CMN-600 Coherent Mesh Network controller counters.
1822 */
1823
1824 #define __PMC_EV_CMN600_PMU() \
1825 __PMC_EV(CMN600_PMU, dn_rxreq_dvmop) \
1826 __PMC_EV(CMN600_PMU, dn_rxreq_dvmsync) \
1827 __PMC_EV(CMN600_PMU, dn_rxreq_dvmop_vmid_filtered) \
1828 __PMC_EV(CMN600_PMU, dn_rxreq_retried) \
1829 __PMC_EV(CMN600_PMU, dn_rxreq_trk_occupancy) \
1830 __PMC_EV(CMN600_PMU, dn_rxreq_tlbi_dvmop) \
1831 __PMC_EV(CMN600_PMU, dn_rxreq_bpi_dvmop) \
1832 __PMC_EV(CMN600_PMU, dn_rxreq_pici_dvmop) \
1833 __PMC_EV(CMN600_PMU, dn_rxreq_vivi_dvmop) \
1834 __PMC_EV(CMN600_PMU, dn_rxreq_dvmop_other_filtered) \
1835 __PMC_EV(CMN600_PMU, dn_rxreq_snp_sent) \
1836 __PMC_EV(CMN600_PMU, dn_rxreq_snp_stalled) \
1837 __PMC_EV(CMN600_PMU, dn_rxreq_trk_full) \
1838 __PMC_EV(CMN600_PMU, hnf_cache_miss) \
1839 __PMC_EV(CMN600_PMU, hnf_slc_sf_cache_access) \
1840 __PMC_EV(CMN600_PMU, hnf_cache_fill) \
1841 __PMC_EV(CMN600_PMU, hnf_pocq_retry) \
1842 __PMC_EV(CMN600_PMU, hnf_pocq_reqs_recvd) \
1843 __PMC_EV(CMN600_PMU, hnf_sf_hit) \
1844 __PMC_EV(CMN600_PMU, hnf_sf_evictions) \
1845 __PMC_EV(CMN600_PMU, hnf_dir_snoops_sent) \
1846 __PMC_EV(CMN600_PMU, hnf_brd_snoops_sent) \
1847 __PMC_EV(CMN600_PMU, hnf_slc_eviction) \
1848 __PMC_EV(CMN600_PMU, hnf_slc_fill_invalid_way) \
1849 __PMC_EV(CMN600_PMU, hnf_mc_retries) \
1850 __PMC_EV(CMN600_PMU, hnf_mc_reqs) \
1851 __PMC_EV(CMN600_PMU, hnf_qos_hh_retry) \
1852 __PMC_EV(CMN600_PMU, hnf_qos_pocq) \
1853 __PMC_EV(CMN600_PMU, hnf_pocq_addrhaz) \
1854 __PMC_EV(CMN600_PMU, hnf_pocq_atomic_addrhaz) \
1855 __PMC_EV(CMN600_PMU, hnf_ld_st_swp_adq_full) \
1856 __PMC_EV(CMN600_PMU, hnf_cmp_adq_full) \
1857 __PMC_EV(CMN600_PMU, hnf_txdat_stall) \
1858 __PMC_EV(CMN600_PMU, hnf_txrsp_stall) \
1859 __PMC_EV(CMN600_PMU, hnf_seq_full) \
1860 __PMC_EV(CMN600_PMU, hnf_seq_hit) \
1861 __PMC_EV(CMN600_PMU, hnf_snp_sent) \
1862 __PMC_EV(CMN600_PMU, hnf_sfbi_dir_snp_sent) \
1863 __PMC_EV(CMN600_PMU, hnf_sfbi_brd_snp_sent) \
1864 __PMC_EV(CMN600_PMU, hnf_snp_sent_untrk) \
1865 __PMC_EV(CMN600_PMU, hnf_intv_dirty) \
1866 __PMC_EV(CMN600_PMU, hnf_stash_snp_sent) \
1867 __PMC_EV(CMN600_PMU, hnf_stash_data_pull) \
1868 __PMC_EV(CMN600_PMU, hnf_snp_fwded) \
1869 __PMC_EV(CMN600_PMU, hni_rrt_rd_occ_cnt_ovfl) \
1870 __PMC_EV(CMN600_PMU, hni_rrt_wr_occ_cnt_ovfl) \
1871 __PMC_EV(CMN600_PMU, hni_rdt_rd_occ_cnt_ovfl) \
1872 __PMC_EV(CMN600_PMU, hni_rdt_wr_occ_cnt_ovfl) \
1873 __PMC_EV(CMN600_PMU, hni_wdb_occ_cnt_ovfl) \
1874 __PMC_EV(CMN600_PMU, hni_rrt_rd_alloc) \
1875 __PMC_EV(CMN600_PMU, hni_rrt_wr_alloc) \
1876 __PMC_EV(CMN600_PMU, hni_rdt_rd_alloc) \
1877 __PMC_EV(CMN600_PMU, hni_rdt_wr_alloc) \
1878 __PMC_EV(CMN600_PMU, hni_wdb_alloc) \
1879 __PMC_EV(CMN600_PMU, hni_txrsp_retryack) \
1880 __PMC_EV(CMN600_PMU, hni_arvalid_no_arready) \
1881 __PMC_EV(CMN600_PMU, hni_arready_no_arvalid) \
1882 __PMC_EV(CMN600_PMU, hni_awvalid_no_awready) \
1883 __PMC_EV(CMN600_PMU, hni_awready_no_awvalid) \
1884 __PMC_EV(CMN600_PMU, hni_wvalid_no_wready) \
1885 __PMC_EV(CMN600_PMU, hni_txdat_stall) \
1886 __PMC_EV(CMN600_PMU, hni_nonpcie_serialization) \
1887 __PMC_EV(CMN600_PMU, hni_pcie_serialization) \
1888 __PMC_EV(CMN600_PMU, xp_txflit_valid) \
1889 __PMC_EV(CMN600_PMU, xp_txflit_stall) \
1890 __PMC_EV(CMN600_PMU, xp_partial_dat_flit) \
1891 __PMC_EV(CMN600_PMU, sbsx_rd_req) \
1892 __PMC_EV(CMN600_PMU, sbsx_wr_req) \
1893 __PMC_EV(CMN600_PMU, sbsx_cmo_req) \
1894 __PMC_EV(CMN600_PMU, sbsx_txrsp_retryack) \
1895 __PMC_EV(CMN600_PMU, sbsx_txdat_flitv) \
1896 __PMC_EV(CMN600_PMU, sbsx_txrsp_flitv) \
1897 __PMC_EV(CMN600_PMU, sbsx_rd_req_trkr_occ_cnt_ovfl) \
1898 __PMC_EV(CMN600_PMU, sbsx_wr_req_trkr_occ_cnt_ovfl) \
1899 __PMC_EV(CMN600_PMU, sbsx_cmo_req_trkr_occ_cnt_ovfl) \
1900 __PMC_EV(CMN600_PMU, sbsx_wdb_occ_cnt_ovfl) \
1901 __PMC_EV(CMN600_PMU, sbsx_rd_axi_trkr_occ_cnt_ovfl) \
1902 __PMC_EV(CMN600_PMU, sbsx_cmo_axi_trkr_occ_cnt_ovfl) \
1903 __PMC_EV(CMN600_PMU, sbsx_arvalid_no_arready) \
1904 __PMC_EV(CMN600_PMU, sbsx_awvalid_no_awready) \
1905 __PMC_EV(CMN600_PMU, sbsx_wvalid_no_wready) \
1906 __PMC_EV(CMN600_PMU, sbsx_txdat_stall) \
1907 __PMC_EV(CMN600_PMU, sbsx_txrsp_stall) \
1908 __PMC_EV(CMN600_PMU, rnd_s0_rdata_beats) \
1909 __PMC_EV(CMN600_PMU, rnd_s1_rdata_beats) \
1910 __PMC_EV(CMN600_PMU, rnd_s2_rdata_beats) \
1911 __PMC_EV(CMN600_PMU, rnd_rxdat_flits) \
1912 __PMC_EV(CMN600_PMU, rnd_txdat_flits) \
1913 __PMC_EV(CMN600_PMU, rnd_txreq_flits_total) \
1914 __PMC_EV(CMN600_PMU, rnd_txreq_flits_retried) \
1915 __PMC_EV(CMN600_PMU, rnd_rrt_occ_ovfl) \
1916 __PMC_EV(CMN600_PMU, rnd_wrt_occ_ovfl) \
1917 __PMC_EV(CMN600_PMU, rnd_txreq_flits_replayed) \
1918 __PMC_EV(CMN600_PMU, rnd_wrcancel_sent) \
1919 __PMC_EV(CMN600_PMU, rnd_s0_wdata_beats) \
1920 __PMC_EV(CMN600_PMU, rnd_s1_wdata_beats) \
1921 __PMC_EV(CMN600_PMU, rnd_s2_wdata_beats) \
1922 __PMC_EV(CMN600_PMU, rnd_rrt_alloc) \
1923 __PMC_EV(CMN600_PMU, rnd_wrt_alloc) \
1924 __PMC_EV(CMN600_PMU, rnd_rdb_unord) \
1925 __PMC_EV(CMN600_PMU, rnd_rdb_replay) \
1926 __PMC_EV(CMN600_PMU, rnd_rdb_hybrid) \
1927 __PMC_EV(CMN600_PMU, rnd_rdb_ord) \
1928 __PMC_EV(CMN600_PMU, rni_s0_rdata_beats) \
1929 __PMC_EV(CMN600_PMU, rni_s1_rdata_beats) \
1930 __PMC_EV(CMN600_PMU, rni_s2_rdata_beats) \
1931 __PMC_EV(CMN600_PMU, rni_rxdat_flits) \
1932 __PMC_EV(CMN600_PMU, rni_txdat_flits) \
1933 __PMC_EV(CMN600_PMU, rni_txreq_flits_total) \
1934 __PMC_EV(CMN600_PMU, rni_txreq_flits_retried) \
1935 __PMC_EV(CMN600_PMU, rni_rrt_occ_ovfl) \
1936 __PMC_EV(CMN600_PMU, rni_wrt_occ_ovfl) \
1937 __PMC_EV(CMN600_PMU, rni_txreq_flits_replayed) \
1938 __PMC_EV(CMN600_PMU, rni_wrcancel_sent) \
1939 __PMC_EV(CMN600_PMU, rni_s0_wdata_beats) \
1940 __PMC_EV(CMN600_PMU, rni_s1_wdata_beats) \
1941 __PMC_EV(CMN600_PMU, rni_s2_wdata_beats) \
1942 __PMC_EV(CMN600_PMU, rni_rrt_alloc) \
1943 __PMC_EV(CMN600_PMU, rni_wrt_alloc) \
1944 __PMC_EV(CMN600_PMU, rni_rdb_unord) \
1945 __PMC_EV(CMN600_PMU, rni_rdb_replay) \
1946 __PMC_EV(CMN600_PMU, rni_rdb_hybrid) \
1947 __PMC_EV(CMN600_PMU, rni_rdb_ord) \
1948 __PMC_EV(CMN600_PMU, cxha_rddatbyp) \
1949 __PMC_EV(CMN600_PMU, cxha_chirsp_up_stall) \
1950 __PMC_EV(CMN600_PMU, cxha_chidat_up_stall) \
1951 __PMC_EV(CMN600_PMU, cxha_snppcrd_lnk0_stall) \
1952 __PMC_EV(CMN600_PMU, cxha_snppcrd_lnk1_stall) \
1953 __PMC_EV(CMN600_PMU, cxha_snppcrd_lnk2_stall) \
1954 __PMC_EV(CMN600_PMU, cxha_reqtrk_occ) \
1955 __PMC_EV(CMN600_PMU, cxha_rdb_occ) \
1956 __PMC_EV(CMN600_PMU, cxha_rdbbyp_occ) \
1957 __PMC_EV(CMN600_PMU, cxha_wdb_occ) \
1958 __PMC_EV(CMN600_PMU, cxha_snptrk_occ) \
1959 __PMC_EV(CMN600_PMU, cxha_sdb_occ) \
1960 __PMC_EV(CMN600_PMU, cxha_snphaz_occ) \
1961 __PMC_EV(CMN600_PMU, cxra_req_trk_occ) \
1962 __PMC_EV(CMN600_PMU, cxra_snp_trk_occ) \
1963 __PMC_EV(CMN600_PMU, cxra_rd_dat_buf_occ) \
1964 __PMC_EV(CMN600_PMU, cxra_wr_dat_buf_occ) \
1965 __PMC_EV(CMN600_PMU, cxra_snp_sink_buf_occ) \
1966 __PMC_EV(CMN600_PMU, cxra_snp_bcasts) \
1967 __PMC_EV(CMN600_PMU, cxra_req_chains) \
1968 __PMC_EV(CMN600_PMU, cxra_req_chain_avg_len) \
1969 __PMC_EV(CMN600_PMU, cxra_chi_rsp_upload_stalls) \
1970 __PMC_EV(CMN600_PMU, cxra_chi_dat_upload_stalls) \
1971 __PMC_EV(CMN600_PMU, cxra_dat_pcrd_stalls_lnk0) \
1972 __PMC_EV(CMN600_PMU, cxra_dat_pcrd_stalls_lnk1) \
1973 __PMC_EV(CMN600_PMU, cxra_dat_pcrd_stalls_lnk2) \
1974 __PMC_EV(CMN600_PMU, cxra_req_pcrd_stalls_lnk0) \
1975 __PMC_EV(CMN600_PMU, cxra_req_pcrd_stalls_lnk1) \
1976 __PMC_EV(CMN600_PMU, cxra_req_pcrd_stalls_lnk2) \
1977 __PMC_EV(CMN600_PMU, cxra_ext_rsp_stall) \
1978 __PMC_EV(CMN600_PMU, cxra_ext_dat_stall) \
1979 __PMC_EV(CMN600_PMU, cxla_rx_tlp_link0) \
1980 __PMC_EV(CMN600_PMU, cxla_rx_tlp_link1) \
1981 __PMC_EV(CMN600_PMU, cxla_rx_tlp_link2) \
1982 __PMC_EV(CMN600_PMU, cxla_tx_tlp_link0) \
1983 __PMC_EV(CMN600_PMU, cxla_tx_tlp_link1) \
1984 __PMC_EV(CMN600_PMU, cxla_tx_tlp_link2) \
1985 __PMC_EV(CMN600_PMU, cxla_rx_cxs_link0) \
1986 __PMC_EV(CMN600_PMU, cxla_rx_cxs_link1) \
1987 __PMC_EV(CMN600_PMU, cxla_rx_cxs_link2) \
1988 __PMC_EV(CMN600_PMU, cxla_tx_cxs_link0) \
1989 __PMC_EV(CMN600_PMU, cxla_tx_cxs_link1) \
1990 __PMC_EV(CMN600_PMU, cxla_tx_cxs_link2) \
1991 __PMC_EV(CMN600_PMU, cxla_avg_rx_tlp_sz_dws) \
1992 __PMC_EV(CMN600_PMU, cxla_avg_tx_tlp_sz_dws) \
1993 __PMC_EV(CMN600_PMU, cxla_avg_rx_tlp_sz_ccix_msg) \
1994 __PMC_EV(CMN600_PMU, cxla_avg_tx_tlp_sz_ccix_msg) \
1995 __PMC_EV(CMN600_PMU, cxla_avg_sz_rx_cxs_dw_beat) \
1996 __PMC_EV(CMN600_PMU, cxla_avg_sz_tx_cxs_dw_beat) \
1997 __PMC_EV(CMN600_PMU, cxla_tx_cxs_link_credit_backpressure) \
1998 __PMC_EV(CMN600_PMU, cxla_rx_tlp_buffer_full) \
1999 __PMC_EV(CMN600_PMU, cxla_tx_tlp_buffer_full) \
2000 __PMC_EV(CMN600_PMU, cxla_avg_latency_process_rx_tlp) \
2001 __PMC_EV(CMN600_PMU, cxla_avg_latency_form_tx_tlp)
2002
2003
2004 #define PMC_EV_CMN600_PMU_FIRST PMC_EV_CMN600_PMU_dn_rxreq_dvmop
2005 #define PMC_EV_CMN600_PMU_LAST \
2006 PMC_EV_CMN600_PMU_cxla_avg_latency_form_tx_tlp
2007
2008 #define __PMC_EV_PPC7450() \
2009 __PMC_EV(PPC7450, CYCLE) \
2010 __PMC_EV(PPC7450, INSTR_COMPLETED) \
2011 __PMC_EV(PPC7450, TLB_BIT_TRANSITIONS) \
2012 __PMC_EV(PPC7450, INSTR_DISPATCHED) \
2013 __PMC_EV(PPC7450, PMON_EXCEPT) \
2014 __PMC_EV(PPC7450, PMON_SIG) \
2015 __PMC_EV(PPC7450, VPU_INSTR_COMPLETED) \
2016 __PMC_EV(PPC7450, VFPU_INSTR_COMPLETED) \
2017 __PMC_EV(PPC7450, VIU1_INSTR_COMPLETED) \
2018 __PMC_EV(PPC7450, VIU2_INSTR_COMPLETED) \
2019 __PMC_EV(PPC7450, MTVSCR_INSTR_COMPLETED) \
2020 __PMC_EV(PPC7450, MTVRSAVE_INSTR_COMPLETED) \
2021 __PMC_EV(PPC7450, VPU_INSTR_WAIT_CYCLES) \
2022 __PMC_EV(PPC7450, VFPU_INSTR_WAIT_CYCLES) \
2023 __PMC_EV(PPC7450, VIU1_INSTR_WAIT_CYCLES) \
2024 __PMC_EV(PPC7450, VIU2_INSTR_WAIT_CYCLES) \
2025 __PMC_EV(PPC7450, MFVSCR_SYNC_CYCLES) \
2026 __PMC_EV(PPC7450, VSCR_SAT_SET) \
2027 __PMC_EV(PPC7450, STORE_INSTR_COMPLETED) \
2028 __PMC_EV(PPC7450, L1_INSTR_CACHE_MISSES) \
2029 __PMC_EV(PPC7450, L1_DATA_SNOOPS) \
2030 __PMC_EV(PPC7450, UNRESOLVED_BRANCHES) \
2031 __PMC_EV(PPC7450, SPEC_BUFFER_CYCLES) \
2032 __PMC_EV(PPC7450, BRANCH_UNIT_STALL_CYCLES) \
2033 __PMC_EV(PPC7450, TRUE_BRANCH_TARGET_HITS) \
2034 __PMC_EV(PPC7450, BRANCH_LINK_STAC_PREDICTED) \
2035 __PMC_EV(PPC7450, GPR_ISSUE_QUEUE_DISPATCHES) \
2036 __PMC_EV(PPC7450, CYCLES_THREE_INSTR_DISPATCHED) \
2037 __PMC_EV(PPC7450, THRESHOLD_INSTR_QUEUE_ENTRIES_CYCLES) \
2038 __PMC_EV(PPC7450, THRESHOLD_VEC_INSTR_QUEUE_ENTRIES_CYCLES) \
2039 __PMC_EV(PPC7450, CYCLES_NO_COMPLETED_INSTRS) \
2040 __PMC_EV(PPC7450, IU2_INSTR_COMPLETED) \
2041 __PMC_EV(PPC7450, BRANCHES_COMPLETED) \
2042 __PMC_EV(PPC7450, EIEIO_INSTR_COMPLETED) \
2043 __PMC_EV(PPC7450, MTSPR_INSTR_COMPLETED) \
2044 __PMC_EV(PPC7450, SC_INSTR_COMPLETED) \
2045 __PMC_EV(PPC7450, LS_LM_COMPLETED) \
2046 __PMC_EV(PPC7450, ITLB_HW_TABLE_SEARCH_CYCLES) \
2047 __PMC_EV(PPC7450, DTLB_HW_SEARCH_CYCLES_OVER_THRESHOLD) \
2048 __PMC_EV(PPC7450, L1_INSTR_CACHE_ACCESSES) \
2049 __PMC_EV(PPC7450, INSTR_BKPT_MATCHES) \
2050 __PMC_EV(PPC7450, L1_DATA_CACHE_LOAD_MISS_CYCLES_OVER_THRESHOLD)\
2051 __PMC_EV(PPC7450, L1_DATA_SNOOP_HIT_ON_MODIFIED) \
2052 __PMC_EV(PPC7450, LOAD_MISS_ALIAS) \
2053 __PMC_EV(PPC7450, LOAD_MISS_ALIAS_ON_TOUCH) \
2054 __PMC_EV(PPC7450, TOUCH_ALIAS) \
2055 __PMC_EV(PPC7450, L1_DATA_SNOOP_HIT_CASTOUT_QUEUE) \
2056 __PMC_EV(PPC7450, L1_DATA_SNOOP_HIT_CASTOUT) \
2057 __PMC_EV(PPC7450, L1_DATA_SNOOP_HITS) \
2058 __PMC_EV(PPC7450, WRITE_THROUGH_STORES) \
2059 __PMC_EV(PPC7450, CACHE_INHIBITED_STORES) \
2060 __PMC_EV(PPC7450, L1_DATA_LOAD_HIT) \
2061 __PMC_EV(PPC7450, L1_DATA_TOUCH_HIT) \
2062 __PMC_EV(PPC7450, L1_DATA_STORE_HIT) \
2063 __PMC_EV(PPC7450, L1_DATA_TOTAL_HITS) \
2064 __PMC_EV(PPC7450, DST_INSTR_DISPATCHED) \
2065 __PMC_EV(PPC7450, REFRESHED_DSTS) \
2066 __PMC_EV(PPC7450, SUCCESSFUL_DST_TABLE_SEARCHES) \
2067 __PMC_EV(PPC7450, DSS_INSTR_COMPLETED) \
2068 __PMC_EV(PPC7450, DST_STREAM_0_CACHE_LINE_FETCHES) \
2069 __PMC_EV(PPC7450, VTQ_SUSPENDS_DUE_TO_CTX_CHANGE) \
2070 __PMC_EV(PPC7450, VTQ_LINE_FETCH_HIT) \
2071 __PMC_EV(PPC7450, VEC_LOAD_INSTR_COMPLETED) \
2072 __PMC_EV(PPC7450, FP_STORE_INSTR_COMPLETED_IN_LSU) \
2073 __PMC_EV(PPC7450, FPU_RENORMALIZATION) \
2074 __PMC_EV(PPC7450, FPU_DENORMALIZATION) \
2075 __PMC_EV(PPC7450, FP_STORE_CAUSES_STALL_IN_LSU) \
2076 __PMC_EV(PPC7450, LD_ST_TRUE_ALIAS_STALL) \
2077 __PMC_EV(PPC7450, LSU_INDEXED_ALIAS_STALL) \
2078 __PMC_EV(PPC7450, LSU_ALIAS_VS_FSQ_WB0_WB1) \
2079 __PMC_EV(PPC7450, LSU_ALIAS_VS_CSQ) \
2080 __PMC_EV(PPC7450, LSU_LOAD_HIT_LINE_ALIAS_VS_CSQ0) \
2081 __PMC_EV(PPC7450, LSU_LOAD_MISS_LINE_ALIAS_VS_CSQ0) \
2082 __PMC_EV(PPC7450, LSU_TOUCH_LINE_ALIAS_VS_FSQ_WB0_WB1) \
2083 __PMC_EV(PPC7450, LSU_TOUCH_ALIAS_VS_CSQ) \
2084 __PMC_EV(PPC7450, LSU_LMQ_FULL_STALL) \
2085 __PMC_EV(PPC7450, FP_LOAD_INSTR_COMPLETED_IN_LSU) \
2086 __PMC_EV(PPC7450, FP_LOAD_SINGLE_INSTR_COMPLETED_IN_LSU) \
2087 __PMC_EV(PPC7450, FP_LOAD_DOUBLE_COMPLETED_IN_LSU) \
2088 __PMC_EV(PPC7450, LSU_RA_LATCH_STALL) \
2089 __PMC_EV(PPC7450, LSU_LOAD_VS_STORE_QUEUE_ALIAS_STALL) \
2090 __PMC_EV(PPC7450, LSU_LMQ_INDEX_ALIAS) \
2091 __PMC_EV(PPC7450, LSU_STORE_QUEUE_INDEX_ALIAS) \
2092 __PMC_EV(PPC7450, LSU_CSQ_FORWARDING) \
2093 __PMC_EV(PPC7450, LSU_MISALIGNED_LOAD_FINISH) \
2094 __PMC_EV(PPC7450, LSU_MISALIGN_STORE_COMPLETED) \
2095 __PMC_EV(PPC7450, LSU_MISALIGN_STALL) \
2096 __PMC_EV(PPC7450, FP_ONE_QUARTER_FPSCR_RENAMES_BUSY) \
2097 __PMC_EV(PPC7450, FP_ONE_HALF_FPSCR_RENAMES_BUSY) \
2098 __PMC_EV(PPC7450, FP_THREE_QUARTERS_FPSCR_RENAMES_BUSY) \
2099 __PMC_EV(PPC7450, FP_ALL_FPSCR_RENAMES_BUSY) \
2100 __PMC_EV(PPC7450, FP_DENORMALIZED_RESULT) \
2101 __PMC_EV(PPC7450, L1_DATA_TOTAL_MISSES) \
2102 __PMC_EV(PPC7450, DISPATCHES_TO_FPR_ISSUE_QUEUE) \
2103 __PMC_EV(PPC7450, LSU_INSTR_COMPLETED) \
2104 __PMC_EV(PPC7450, LOAD_INSTR_COMPLETED) \
2105 __PMC_EV(PPC7450, SS_SM_INSTR_COMPLETED) \
2106 __PMC_EV(PPC7450, TLBIE_INSTR_COMPLETED) \
2107 __PMC_EV(PPC7450, LWARX_INSTR_COMPLETED) \
2108 __PMC_EV(PPC7450, MFSPR_INSTR_COMPLETED) \
2109 __PMC_EV(PPC7450, REFETCH_SERIALIZATION) \
2110 __PMC_EV(PPC7450, COMPLETION_QUEUE_ENTRIES_OVER_THRESHOLD) \
2111 __PMC_EV(PPC7450, CYCLES_ONE_INSTR_DISPATCHED) \
2112 __PMC_EV(PPC7450, CYCLES_TWO_INSTR_COMPLETED) \
2113 __PMC_EV(PPC7450, ITLB_NON_SPECULATIVE_MISSES) \
2114 __PMC_EV(PPC7450, CYCLES_WAITING_FROM_L1_INSTR_CACHE_MISS) \
2115 __PMC_EV(PPC7450, L1_DATA_LOAD_ACCESS_MISS) \
2116 __PMC_EV(PPC7450, L1_DATA_TOUCH_MISS) \
2117 __PMC_EV(PPC7450, L1_DATA_STORE_MISS) \
2118 __PMC_EV(PPC7450, L1_DATA_TOUCH_MISS_CYCLES) \
2119 __PMC_EV(PPC7450, L1_DATA_CYCLES_USED) \
2120 __PMC_EV(PPC7450, DST_STREAM_1_CACHE_LINE_FETCHES) \
2121 __PMC_EV(PPC7450, VTQ_STREAM_CANCELED_PREMATURELY) \
2122 __PMC_EV(PPC7450, VTQ_RESUMES_DUE_TO_CTX_CHANGE) \
2123 __PMC_EV(PPC7450, VTQ_LINE_FETCH_MISS) \
2124 __PMC_EV(PPC7450, VTQ_LINE_FETCH) \
2125 __PMC_EV(PPC7450, TLBIE_SNOOPS) \
2126 __PMC_EV(PPC7450, L1_INSTR_CACHE_RELOADS) \
2127 __PMC_EV(PPC7450, L1_DATA_CACHE_RELOADS) \
2128 __PMC_EV(PPC7450, L1_DATA_CACHE_CASTOUTS_TO_L2) \
2129 __PMC_EV(PPC7450, STORE_MERGE_GATHER) \
2130 __PMC_EV(PPC7450, CACHEABLE_STORE_MERGE_TO_32_BYTES) \
2131 __PMC_EV(PPC7450, DATA_BKPT_MATCHES) \
2132 __PMC_EV(PPC7450, FALL_THROUGH_BRANCHES_PROCESSED) \
2133 __PMC_EV(PPC7450, \
2134 FIRST_SPECULATIVE_BRANCH_BUFFER_RESOLVED_CORRECTLY) \
2135 __PMC_EV(PPC7450, SECOND_SPECULATION_BUFFER_ACTIVE) \
2136 __PMC_EV(PPC7450, BPU_STALL_ON_LR_DEPENDENCY) \
2137 __PMC_EV(PPC7450, BTIC_MISS) \
2138 __PMC_EV(PPC7450, BRANCH_LINK_STACK_CORRECTLY_RESOLVED) \
2139 __PMC_EV(PPC7450, FPR_ISSUE_STALLED) \
2140 __PMC_EV(PPC7450, SWITCHES_BETWEEN_PRIV_USER) \
2141 __PMC_EV(PPC7450, LSU_COMPLETES_FP_STORE_SINGLE) \
2142 __PMC_EV(PPC7450, VR_ISSUE_QUEUE_DISPATCHES) \
2143 __PMC_EV(PPC7450, VR_STALLS) \
2144 __PMC_EV(PPC7450, GPR_RENAME_BUFFER_ENTRIES_OVER_THRESHOLD) \
2145 __PMC_EV(PPC7450, FPR_ISSUE_QUEUE_ENTRIES) \
2146 __PMC_EV(PPC7450, FPU_INSTR_COMPLETED) \
2147 __PMC_EV(PPC7450, STWCX_INSTR_COMPLETED) \
2148 __PMC_EV(PPC7450, LS_LM_INSTR_PIECES) \
2149 __PMC_EV(PPC7450, ITLB_HW_SEARCH_CYCLES_OVER_THRESHOLD) \
2150 __PMC_EV(PPC7450, DTLB_MISSES) \
2151 __PMC_EV(PPC7450, CANCELLED_L1_INSTR_CACHE_MISSES) \
2152 __PMC_EV(PPC7450, L1_DATA_CACHE_OP_HIT) \
2153 __PMC_EV(PPC7450, L1_DATA_LOAD_MISS_CYCLES) \
2154 __PMC_EV(PPC7450, L1_DATA_PUSHES) \
2155 __PMC_EV(PPC7450, L1_DATA_TOTAL_MISS) \
2156 __PMC_EV(PPC7450, VT2_FETCHES) \
2157 __PMC_EV(PPC7450, TAKEN_BRANCHES_PROCESSED) \
2158 __PMC_EV(PPC7450, BRANCH_FLUSHES) \
2159 __PMC_EV(PPC7450, \
2160 SECOND_SPECULATIVE_BRANCH_BUFFER_RESOLVED_CORRECTLY) \
2161 __PMC_EV(PPC7450, THIRD_SPECULATION_BUFFER_ACTIVE) \
2162 __PMC_EV(PPC7450, BRANCH_UNIT_STALL_ON_CTR_DEPENDENCY) \
2163 __PMC_EV(PPC7450, FAST_BTIC_HIT) \
2164 __PMC_EV(PPC7450, BRANCH_LINK_STACK_MISPREDICTED) \
2165 __PMC_EV(PPC7450, CYCLES_THREE_INSTR_COMPLETED) \
2166 __PMC_EV(PPC7450, CYCLES_NO_INSTR_DISPATCHED) \
2167 __PMC_EV(PPC7450, GPR_ISSUE_QUEUE_ENTRIES_OVER_THRESHOLD) \
2168 __PMC_EV(PPC7450, GPR_ISSUE_QUEUE_STALLED) \
2169 __PMC_EV(PPC7450, IU1_INSTR_COMPLETED) \
2170 __PMC_EV(PPC7450, DSSALL_INSTR_COMPLETED) \
2171 __PMC_EV(PPC7450, TLBSYNC_INSTR_COMPLETED) \
2172 __PMC_EV(PPC7450, SYNC_INSTR_COMPLETED) \
2173 __PMC_EV(PPC7450, SS_SM_INSTR_PIECES) \
2174 __PMC_EV(PPC7450, DTLB_HW_SEARCH_CYCLES) \
2175 __PMC_EV(PPC7450, SNOOP_RETRIES) \
2176 __PMC_EV(PPC7450, SUCCESSFUL_STWCX) \
2177 __PMC_EV(PPC7450, DST_STREAM_3_CACHE_LINE_FETCHES) \
2178 __PMC_EV(PPC7450, \
2179 THIRD_SPECULATIVE_BRANCH_BUFFER_RESOLVED_CORRECTLY) \
2180 __PMC_EV(PPC7450, MISPREDICTED_BRANCHES) \
2181 __PMC_EV(PPC7450, FOLDED_BRANCHES) \
2182 __PMC_EV(PPC7450, FP_STORE_DOUBLE_COMPLETES_IN_LSU) \
2183 __PMC_EV(PPC7450, L2_CACHE_HITS) \
2184 __PMC_EV(PPC7450, L3_CACHE_HITS) \
2185 __PMC_EV(PPC7450, L2_INSTR_CACHE_MISSES) \
2186 __PMC_EV(PPC7450, L3_INSTR_CACHE_MISSES) \
2187 __PMC_EV(PPC7450, L2_DATA_CACHE_MISSES) \
2188 __PMC_EV(PPC7450, L3_DATA_CACHE_MISSES) \
2189 __PMC_EV(PPC7450, L2_LOAD_HITS) \
2190 __PMC_EV(PPC7450, L2_STORE_HITS) \
2191 __PMC_EV(PPC7450, L3_LOAD_HITS) \
2192 __PMC_EV(PPC7450, L3_STORE_HITS) \
2193 __PMC_EV(PPC7450, L2_TOUCH_HITS) \
2194 __PMC_EV(PPC7450, L3_TOUCH_HITS) \
2195 __PMC_EV(PPC7450, SNOOP_MODIFIED) \
2196 __PMC_EV(PPC7450, SNOOP_VALID) \
2197 __PMC_EV(PPC7450, INTERVENTION) \
2198 __PMC_EV(PPC7450, L2_CACHE_MISSES) \
2199 __PMC_EV(PPC7450, L3_CACHE_MISSES) \
2200 __PMC_EV(PPC7450, L2_CACHE_CASTOUTS) \
2201 __PMC_EV(PPC7450, L3_CACHE_CASTOUTS) \
2202 __PMC_EV(PPC7450, L2SQ_FULL_CYCLES) \
2203 __PMC_EV(PPC7450, L3SQ_FULL_CYCLES) \
2204 __PMC_EV(PPC7450, RAQ_FULL_CYCLES) \
2205 __PMC_EV(PPC7450, WAQ_FULL_CYCLES) \
2206 __PMC_EV(PPC7450, L1_EXTERNAL_INTERVENTIONS) \
2207 __PMC_EV(PPC7450, L2_EXTERNAL_INTERVENTIONS) \
2208 __PMC_EV(PPC7450, L3_EXTERNAL_INTERVENTIONS) \
2209 __PMC_EV(PPC7450, EXTERNAL_INTERVENTIONS) \
2210 __PMC_EV(PPC7450, EXTERNAL_PUSHES) \
2211 __PMC_EV(PPC7450, EXTERNAL_SNOOP_RETRY) \
2212 __PMC_EV(PPC7450, DTQ_FULL_CYCLES) \
2213 __PMC_EV(PPC7450, BUS_RETRY) \
2214 __PMC_EV(PPC7450, L2_VALID_REQUEST) \
2215 __PMC_EV(PPC7450, BORDQ_FULL) \
2216 __PMC_EV(PPC7450, BUS_TAS_FOR_READS) \
2217 __PMC_EV(PPC7450, BUS_TAS_FOR_WRITES) \
2218 __PMC_EV(PPC7450, BUS_READS_NOT_RETRIED) \
2219 __PMC_EV(PPC7450, BUS_WRITES_NOT_RETRIED) \
2220 __PMC_EV(PPC7450, BUS_READS_WRITES_NOT_RETRIED) \
2221 __PMC_EV(PPC7450, BUS_RETRY_DUE_TO_L1_RETRY) \
2222 __PMC_EV(PPC7450, BUS_RETRY_DUE_TO_PREVIOUS_ADJACENT) \
2223 __PMC_EV(PPC7450, BUS_RETRY_DUE_TO_COLLISION) \
2224 __PMC_EV(PPC7450, BUS_RETRY_DUE_TO_INTERVENTION_ORDERING) \
2225 __PMC_EV(PPC7450, SNOOP_REQUESTS) \
2226 __PMC_EV(PPC7450, PREFETCH_ENGINE_REQUEST) \
2227 __PMC_EV(PPC7450, PREFETCH_ENGINE_COLLISION_VS_LOAD) \
2228 __PMC_EV(PPC7450, PREFETCH_ENGINE_COLLISION_VS_STORE) \
2229 __PMC_EV(PPC7450, PREFETCH_ENGINE_COLLISION_VS_INSTR_FETCH) \
2230 __PMC_EV(PPC7450, \
2231 PREFETCH_ENGINE_COLLISION_VS_LOAD_STORE_INSTR_FETCH) \
2232 __PMC_EV(PPC7450, PREFETCH_ENGINE_FULL)
2233
2234 #define PMC_EV_PPC7450_FIRST PMC_EV_PPC7450_CYCLE
2235 #define PMC_EV_PPC7450_LAST PMC_EV_PPC7450_PREFETCH_ENGINE_FULL
2236
2237 #define __PMC_EV_PPC970() \
2238 __PMC_EV(PPC970, INSTR_COMPLETED) \
2239 __PMC_EV(PPC970, MARKED_GROUP_DISPATCH) \
2240 __PMC_EV(PPC970, MARKED_STORE_COMPLETED) \
2241 __PMC_EV(PPC970, GCT_EMPTY) \
2242 __PMC_EV(PPC970, RUN_CYCLES) \
2243 __PMC_EV(PPC970, OVERFLOW) \
2244 __PMC_EV(PPC970, CYCLES) \
2245 __PMC_EV(PPC970, THRESHOLD_TIMEOUT) \
2246 __PMC_EV(PPC970, GROUP_DISPATCH) \
2247 __PMC_EV(PPC970, BR_MARKED_INSTR_FINISH) \
2248 __PMC_EV(PPC970, GCT_EMPTY_BY_SRQ_FULL) \
2249 __PMC_EV(PPC970, STOP_COMPLETION) \
2250 __PMC_EV(PPC970, LSU_EMPTY) \
2251 __PMC_EV(PPC970, MARKED_STORE_WITH_INTR) \
2252 __PMC_EV(PPC970, CYCLES_IN_SUPER) \
2253 __PMC_EV(PPC970, VPU_MARKED_INSTR_COMPLETED) \
2254 __PMC_EV(PPC970, FXU0_IDLE_FXU1_BUSY) \
2255 __PMC_EV(PPC970, SRQ_EMPTY) \
2256 __PMC_EV(PPC970, MARKED_GROUP_COMPLETED) \
2257 __PMC_EV(PPC970, CR_MARKED_INSTR_FINISH) \
2258 __PMC_EV(PPC970, DISPATCH_SUCCESS) \
2259 __PMC_EV(PPC970, FXU0_IDLE_FXU1_IDLE) \
2260 __PMC_EV(PPC970, ONE_PLUS_INSTR_COMPLETED) \
2261 __PMC_EV(PPC970, GROUP_MARKED_IDU) \
2262 __PMC_EV(PPC970, MARKED_GROUP_COMPLETE_TIMEOUT) \
2263 __PMC_EV(PPC970, FXU0_BUSY_FXU1_BUSY) \
2264 __PMC_EV(PPC970, MARKED_STORE_SENT_TO_STS) \
2265 __PMC_EV(PPC970, FXU_MARKED_INSTR_FINISHED) \
2266 __PMC_EV(PPC970, MARKED_GROUP_ISSUED) \
2267 __PMC_EV(PPC970, FXU0_BUSY_FXU1_IDLE) \
2268 __PMC_EV(PPC970, GROUP_COMPLETED) \
2269 __PMC_EV(PPC970, FPU_MARKED_INSTR_COMPLETED) \
2270 __PMC_EV(PPC970, MARKED_INSTR_FINISH_ANY_UNIT) \
2271 __PMC_EV(PPC970, EXTERNAL_INTERRUPT) \
2272 __PMC_EV(PPC970, GROUP_DISPATCH_REJECT) \
2273 __PMC_EV(PPC970, LSU_MARKED_INSTR_FINISH) \
2274 __PMC_EV(PPC970, TIMEBASE_EVENT) \
2275 __PMC_EV(PPC970, LSU_COMPLETION_STALL) \
2276 __PMC_EV(PPC970, FXU_COMPLETION_STALL) \
2277 __PMC_EV(PPC970, DCACHE_MISS_COMPLETION_STALL) \
2278 __PMC_EV(PPC970, FPU_COMPLETION_STALL) \
2279 __PMC_EV(PPC970, FXU_LONG_INSTR_COMPLETION_STALL) \
2280 __PMC_EV(PPC970, REJECT_COMPLETION_STALL) \
2281 __PMC_EV(PPC970, FPU_LONG_INSTR_COMPLETION_STALL) \
2282 __PMC_EV(PPC970, GCT_EMPTY_BY_ICACHE_MISS) \
2283 __PMC_EV(PPC970, REJECT_COMPLETION_STALL_ERAT_MISS) \
2284 __PMC_EV(PPC970, GCT_EMPTY_BY_BRANCH_MISS_PREDICT) \
2285 __PMC_EV(PPC970, BUS_HIGH) \
2286 __PMC_EV(PPC970, BUS_LOW) \
2287 __PMC_EV(PPC970, ADDER)
2288
2289
2290 #define PMC_EV_PPC970_FIRST PMC_EV_PPC970_INSTR_COMPLETED
2291 #define PMC_EV_PPC970_LAST PMC_EV_PPC970_ADDER
2292
2293 #define __PMC_EV_E500() \
2294 __PMC_EV(E500, CYCLES) \
2295 __PMC_EV(E500, INSTR_COMPLETED) \
2296 __PMC_EV(E500, UOPS_COMPLETED) \
2297 __PMC_EV(E500, INSTR_FETCHED) \
2298 __PMC_EV(E500, UOPS_DECODED) \
2299 __PMC_EV(E500, PM_EVENT_TRANSITIONS) \
2300 __PMC_EV(E500, PM_EVENT_CYCLES) \
2301 __PMC_EV(E500, BRANCH_INSTRS_COMPLETED) \
2302 __PMC_EV(E500, LOAD_UOPS_COMPLETED) \
2303 __PMC_EV(E500, STORE_UOPS_COMPLETED) \
2304 __PMC_EV(E500, CQ_REDIRECTS) \
2305 __PMC_EV(E500, BRANCHES_FINISHED) \
2306 __PMC_EV(E500, TAKEN_BRANCHES_FINISHED) \
2307 __PMC_EV(E500, FINISHED_UNCOND_BRANCHES_MISS_BTB) \
2308 __PMC_EV(E500, BRANCH_MISPRED) \
2309 __PMC_EV(E500, BTB_BRANCH_MISPRED_FROM_DIRECTION) \
2310 __PMC_EV(E500, BTB_HITS_PSEUDO_HITS) \
2311 __PMC_EV(E500, CYCLES_DECODE_STALLED) \
2312 __PMC_EV(E500, CYCLES_ISSUE_STALLED) \
2313 __PMC_EV(E500, CYCLES_BRANCH_ISSUE_STALLED) \
2314 __PMC_EV(E500, CYCLES_SU1_SCHED_STALLED) \
2315 __PMC_EV(E500, CYCLES_SU2_SCHED_STALLED) \
2316 __PMC_EV(E500, CYCLES_MU_SCHED_STALLED) \
2317 __PMC_EV(E500, CYCLES_LRU_SCHED_STALLED) \
2318 __PMC_EV(E500, CYCLES_BU_SCHED_STALLED) \
2319 __PMC_EV(E500, TOTAL_TRANSLATED) \
2320 __PMC_EV(E500, LOADS_TRANSLATED) \
2321 __PMC_EV(E500, STORES_TRANSLATED) \
2322 __PMC_EV(E500, TOUCHES_TRANSLATED) \
2323 __PMC_EV(E500, CACHEOPS_TRANSLATED) \
2324 __PMC_EV(E500, CACHE_INHIBITED_ACCESS_TRANSLATED) \
2325 __PMC_EV(E500, GUARDED_LOADS_TRANSLATED) \
2326 __PMC_EV(E500, WRITE_THROUGH_STORES_TRANSLATED) \
2327 __PMC_EV(E500, MISALIGNED_LOAD_STORE_ACCESS_TRANSLATED) \
2328 __PMC_EV(E500, TOTAL_ALLOCATED_TO_DLFB) \
2329 __PMC_EV(E500, LOADS_TRANSLATED_ALLOCATED_TO_DLFB) \
2330 __PMC_EV(E500, STORES_COMPLETED_ALLOCATED_TO_DLFB) \
2331 __PMC_EV(E500, TOUCHES_TRANSLATED_ALLOCATED_TO_DLFB) \
2332 __PMC_EV(E500, STORES_COMPLETED) \
2333 __PMC_EV(E500, DATA_L1_CACHE_LOCKS) \
2334 __PMC_EV(E500, DATA_L1_CACHE_RELOADS) \
2335 __PMC_EV(E500, DATA_L1_CACHE_CASTOUTS) \
2336 __PMC_EV(E500, LOAD_MISS_DLFB_FULL) \
2337 __PMC_EV(E500, LOAD_MISS_LDQ_FULL) \
2338 __PMC_EV(E500, LOAD_GUARDED_MISS) \
2339 __PMC_EV(E500, STORE_TRANSLATE_WHEN_QUEUE_FULL) \
2340 __PMC_EV(E500, ADDRESS_COLLISION) \
2341 __PMC_EV(E500, DATA_MMU_MISS) \
2342 __PMC_EV(E500, DATA_MMU_BUSY) \
2343 __PMC_EV(E500, PART2_MISALIGNED_CACHE_ACCESS) \
2344 __PMC_EV(E500, LOAD_MISS_DLFB_FULL_CYCLES) \
2345 __PMC_EV(E500, LOAD_MISS_LDQ_FULL_CYCLES) \
2346 __PMC_EV(E500, LOAD_GUARDED_MISS_CYCLES) \
2347 __PMC_EV(E500, STORE_TRANSLATE_WHEN_QUEUE_FULL_CYCLES) \
2348 __PMC_EV(E500, ADDRESS_COLLISION_CYCLES) \
2349 __PMC_EV(E500, DATA_MMU_MISS_CYCLES) \
2350 __PMC_EV(E500, DATA_MMU_BUSY_CYCLES) \
2351 __PMC_EV(E500, PART2_MISALIGNED_CACHE_ACCESS_CYCLES) \
2352 __PMC_EV(E500, INSTR_L1_CACHE_LOCKS) \
2353 __PMC_EV(E500, INSTR_L1_CACHE_RELOADS) \
2354 __PMC_EV(E500, INSTR_L1_CACHE_FETCHES) \
2355 __PMC_EV(E500, INSTR_MMU_TLB4K_RELOADS) \
2356 __PMC_EV(E500, INSTR_MMU_VSP_RELOADS) \
2357 __PMC_EV(E500, DATA_MMU_TLB4K_RELOADS) \
2358 __PMC_EV(E500, DATA_MMU_VSP_RELOADS) \
2359 __PMC_EV(E500, L2MMU_MISSES) \
2360 __PMC_EV(E500, BIU_MASTER_REQUESTS) \
2361 __PMC_EV(E500, BIU_MASTER_INSTR_SIDE_REQUESTS) \
2362 __PMC_EV(E500, BIU_MASTER_DATA_SIDE_REQUESTS) \
2363 __PMC_EV(E500, BIU_MASTER_DATA_SIDE_CASTOUT_REQUESTS) \
2364 __PMC_EV(E500, BIU_MASTER_RETRIES) \
2365 __PMC_EV(E500, SNOOP_REQUESTS) \
2366 __PMC_EV(E500, SNOOP_HITS) \
2367 __PMC_EV(E500, SNOOP_PUSHES) \
2368 __PMC_EV(E500, SNOOP_RETRIES) \
2369 __PMC_EV(E500, DLFB_LOAD_MISS_CYCLES) \
2370 __PMC_EV(E500, ILFB_FETCH_MISS_CYCLES) \
2371 __PMC_EV(E500, EXT_INPU_INTR_LATENCY_CYCLES) \
2372 __PMC_EV(E500, CRIT_INPUT_INTR_LATENCY_CYCLES) \
2373 __PMC_EV(E500, EXT_INPUT_INTR_PENDING_LATENCY_CYCLES) \
2374 __PMC_EV(E500, CRIT_INPUT_INTR_PENDING_LATENCY_CYCLES) \
2375 __PMC_EV(E500, PMC0_OVERFLOW) \
2376 __PMC_EV(E500, PMC1_OVERFLOW) \
2377 __PMC_EV(E500, PMC2_OVERFLOW) \
2378 __PMC_EV(E500, PMC3_OVERFLOW) \
2379 __PMC_EV(E500, INTERRUPTS_TAKEN) \
2380 __PMC_EV(E500, EXT_INPUT_INTR_TAKEN) \
2381 __PMC_EV(E500, CRIT_INPUT_INTR_TAKEN) \
2382 __PMC_EV(E500, SYSCALL_TRAP_INTR) \
2383 __PMC_EV(E500, TLB_BIT_TRANSITIONS) \
2384 __PMC_EV(E500, L2_LINEFILL_BUFFER) \
2385 __PMC_EV(E500, LV2_VS) \
2386 __PMC_EV(E500, CASTOUTS_RELEASED) \
2387 __PMC_EV(E500, INTV_ALLOCATIONS) \
2388 __PMC_EV(E500, DLFB_RETRIES_TO_MBAR) \
2389 __PMC_EV(E500, STORE_RETRIES) \
2390 __PMC_EV(E500, STASH_L1_HITS) \
2391 __PMC_EV(E500, STASH_L2_HITS) \
2392 __PMC_EV(E500, STASH_BUSY_1) \
2393 __PMC_EV(E500, STASH_BUSY_2) \
2394 __PMC_EV(E500, STASH_BUSY_3) \
2395 __PMC_EV(E500, STASH_HITS) \
2396 __PMC_EV(E500, STASH_HIT_DLFB) \
2397 __PMC_EV(E500, STASH_REQUESTS) \
2398 __PMC_EV(E500, STASH_REQUESTS_L1) \
2399 __PMC_EV(E500, STASH_REQUESTS_L2) \
2400 __PMC_EV(E500, STALLS_NO_CAQ_OR_COB) \
2401 __PMC_EV(E500, L2_CACHE_ACCESSES) \
2402 __PMC_EV(E500, L2_HIT_CACHE_ACCESSES) \
2403 __PMC_EV(E500, L2_CACHE_DATA_ACCESSES) \
2404 __PMC_EV(E500, L2_CACHE_DATA_HITS) \
2405 __PMC_EV(E500, L2_CACHE_INSTR_ACCESSES) \
2406 __PMC_EV(E500, L2_CACHE_INSTR_HITS) \
2407 __PMC_EV(E500, L2_CACHE_ALLOCATIONS) \
2408 __PMC_EV(E500, L2_CACHE_DATA_ALLOCATIONS) \
2409 __PMC_EV(E500, L2_CACHE_DIRTY_DATA_ALLOCATIONS) \
2410 __PMC_EV(E500, L2_CACHE_INSTR_ALLOCATIONS) \
2411 __PMC_EV(E500, L2_CACHE_UPDATES) \
2412 __PMC_EV(E500, L2_CACHE_CLEAN_UPDATES) \
2413 __PMC_EV(E500, L2_CACHE_DIRTY_UPDATES) \
2414 __PMC_EV(E500, L2_CACHE_CLEAN_REDUNDANT_UPDATES) \
2415 __PMC_EV(E500, L2_CACHE_DIRTY_REDUNDANT_UPDATES) \
2416 __PMC_EV(E500, L2_CACHE_LOCKS) \
2417 __PMC_EV(E500, L2_CACHE_CASTOUTS) \
2418 __PMC_EV(E500, L2_CACHE_DATA_DIRTY_HITS) \
2419 __PMC_EV(E500, INSTR_LFB_WENT_HIGH_PRIORITY) \
2420 __PMC_EV(E500, SNOOP_THROTTLING_TURNED_ON) \
2421 __PMC_EV(E500, L2_CLEAN_LINE_INVALIDATIONS) \
2422 __PMC_EV(E500, L2_INCOHERENT_LINE_INVALIDATIONS) \
2423 __PMC_EV(E500, L2_COHERENT_LINE_INVALIDATIONS) \
2424 __PMC_EV(E500, COHERENT_LOOKUP_MISS_DUE_TO_VALID_BUT_INCOHERENT_MATCHES) \
2425 __PMC_EV(E500, IAC1S_DETECTED) \
2426 __PMC_EV(E500, IAC2S_DETECTED) \
2427 __PMC_EV(E500, DAC1S_DTECTED) \
2428 __PMC_EV(E500, DAC2S_DTECTED) \
2429 __PMC_EV(E500, DVT0_DETECTED) \
2430 __PMC_EV(E500, DVT1_DETECTED) \
2431 __PMC_EV(E500, DVT2_DETECTED) \
2432 __PMC_EV(E500, DVT3_DETECTED) \
2433 __PMC_EV(E500, DVT4_DETECTED) \
2434 __PMC_EV(E500, DVT5_DETECTED) \
2435 __PMC_EV(E500, DVT6_DETECTED) \
2436 __PMC_EV(E500, DVT7_DETECTED) \
2437 __PMC_EV(E500, CYCLES_COMPLETION_STALLED_NEXUS_FIFO_FULL) \
2438 __PMC_EV(E500, FPU_DOUBLE_PUMP) \
2439 __PMC_EV(E500, FPU_FINISH) \
2440 __PMC_EV(E500, FPU_DIVIDE_CYCLES) \
2441 __PMC_EV(E500, FPU_DENORM_INPUT_CYCLES) \
2442 __PMC_EV(E500, FPU_RESULT_STALL_CYCLES) \
2443 __PMC_EV(E500, FPU_FPSCR_FULL_STALL) \
2444 __PMC_EV(E500, FPU_PIPE_SYNC_STALLS) \
2445 __PMC_EV(E500, FPU_INPUT_DATA_STALLS) \
2446 __PMC_EV(E500, DECORATED_LOADS) \
2447 __PMC_EV(E500, DECORATED_STORES) \
2448 __PMC_EV(E500, LOAD_RETRIES) \
2449 __PMC_EV(E500, STWCX_SUCCESSES) \
2450 __PMC_EV(E500, STWCX_FAILURES) \
2451
2452 #define PMC_EV_E500_FIRST PMC_EV_E500_CYCLES
2453 #define PMC_EV_E500_LAST PMC_EV_E500_STWCX_FAILURES
2454 /*
2455 * All known PMC events.
2456 *
2457 * PMC event numbers are allocated sparsely to allow new PMC events to
2458 * be added to a PMC class without breaking ABI compatibility. The
2459 * current allocation scheme is:
2460 *
2461 * START #EVENTS DESCRIPTION
2462 * 0 0x1000 Reserved
2463 * 0x1000 0x0001 TSC
2464 * 0x2000 0x0080 AMD K7 events
2465 * 0x2080 0x0100 AMD K8 events
2466 * 0x10000 0x0080 INTEL architectural fixed-function events
2467 * 0x10080 0x0F80 INTEL architectural programmable events
2468 * 0x11000 0x0080 INTEL Pentium 4 events
2469 * 0x11080 0x0080 INTEL Pentium MMX events
2470 * 0x11100 0x0100 INTEL Pentium Pro/P-II/P-III/Pentium-M events
2471 * 0x11200 0x00FF free (was INTEL XScale events)
2472 * 0x11300 0x00FF free (was MIPS 24K events)
2473 * 0x11400 0x00FF free (was Octeon events)
2474 * 0x11500 0x00FF free (was MIPS 74K events)
2475 * 0x11600 0x00FF free (was BERI statcounters)
2476 * 0x13000 0x00FF MPC7450 events
2477 * 0x13100 0x00FF IBM PPC970 events
2478 * 0x13200 0x00FF free (was IBM POWER8 events)
2479 * 0x13300 0x00FF Freescale e500 events
2480 * 0x14000 0x0100 ARMv7 events
2481 * 0x14100 0x0400 ARMv8 events
2482 * 0x14500 0x0020 ARM DMC-620 clkdiv2 events
2483 * 0x14520 0x0080 ARM DMC-620 clk events
2484 * 0x14600 0x0100 ARM CMN-600 events
2485 * 0x20000 0x1000 Software events
2486 */
2487 #define __PMC_EVENTS() \
2488 __PMC_EV_BLOCK(TSC, 0x01000) \
2489 __PMC_EV_TSC() \
2490 __PMC_EV_BLOCK(IAF, 0x10000) \
2491 __PMC_EV_IAF() \
2492 __PMC_EV_BLOCK(K7, 0x2000) \
2493 __PMC_EV_K7() \
2494 __PMC_EV_BLOCK(K8, 0x2080) \
2495 __PMC_EV_K8() \
2496 __PMC_EV_BLOCK(UCP, 0x12080) \
2497 __PMC_EV_UCP() \
2498 __PMC_EV_BLOCK(PPC7450, 0x13000) \
2499 __PMC_EV_PPC7450() \
2500 __PMC_EV_BLOCK(PPC970, 0x13100) \
2501 __PMC_EV_PPC970() \
2502 __PMC_EV_BLOCK(E500, 0x13300) \
2503 __PMC_EV_E500() \
2504 __PMC_EV_BLOCK(ARMV7, 0x14000) \
2505 __PMC_EV_ARMV7() \
2506 __PMC_EV_BLOCK(ARMV8, 0x14100) \
2507 __PMC_EV_ARMV8() \
2508 __PMC_EV_BLOCK(DMC620_PMU_CD2, 0x14500) \
2509 __PMC_EV_DMC620_PMU_CD2() \
2510 __PMC_EV_BLOCK(DMC620_PMU_C, 0x14520) \
2511 __PMC_EV_DMC620_PMU_C() \
2512 __PMC_EV_BLOCK(CMN600_PMU, 0x14600) \
2513 __PMC_EV_CMN600_PMU()
2514
2515 #define PMC_EVENT_FIRST PMC_EV_TSC_TSC
2516 #define PMC_EVENT_LAST PMC_EV_SOFT_LAST
2517
2518 #endif /* _DEV_HWPMC_PMC_EVENTS_H_ */
Cache object: 7a6c037ee78b90bba03a938b326ce6cf
|