pmc_events.h revision 197412
1/*-
2 * Copyright (c) 2005  Joseph Koshy
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 *    notice, this list of conditions and the following disclaimer in the
12 *    documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/dev/hwpmc/pmc_events.h 197412 2009-09-22 17:45:28Z rpaulo $
27 */
28
29#ifndef _DEV_HWPMC_PMC_EVENTS_H_
30#define	_DEV_HWPMC_PMC_EVENTS_H_
31
32/*
33 * Note: Documentation on adding events can be found both in
34 * the source tree at src/share/doc/papers/hwpmc/hwpmc.ms
35 * as well as on-line at:
36 *
37 * http://wiki.freebsd.org/PmcTools/PmcHardwareHowTo
38 *
39 * Please refer to those resources before you attempt to modify
40 * this file or the hwpmc driver/subsystem.
41 */
42
43/* * PMC event codes.
44 *
45 * __PMC_EV(CLASS, SYMBOLIC-NAME)
46 *
47 */
48
49/*
50 * AMD K7 Events, from "The AMD Athlon(tm) Processor x86 Code
51 * Optimization Guide" [Doc#22007K, Feb 2002]
52 */
53
54#define	__PMC_EV_K7()					\
55__PMC_EV(K7, DC_ACCESSES)				\
56__PMC_EV(K7, DC_MISSES)					\
57__PMC_EV(K7, DC_REFILLS_FROM_L2)			\
58__PMC_EV(K7, DC_REFILLS_FROM_SYSTEM)			\
59__PMC_EV(K7, DC_WRITEBACKS)				\
60__PMC_EV(K7, L1_DTLB_MISS_AND_L2_DTLB_HITS)		\
61__PMC_EV(K7, L1_AND_L2_DTLB_MISSES)			\
62__PMC_EV(K7, MISALIGNED_REFERENCES)			\
63__PMC_EV(K7, IC_FETCHES)				\
64__PMC_EV(K7, IC_MISSES)					\
65__PMC_EV(K7, L1_ITLB_MISSES)				\
66__PMC_EV(K7, L1_L2_ITLB_MISSES)				\
67__PMC_EV(K7, RETIRED_INSTRUCTIONS)			\
68__PMC_EV(K7, RETIRED_OPS)				\
69__PMC_EV(K7, RETIRED_BRANCHES)				\
70__PMC_EV(K7, RETIRED_BRANCHES_MISPREDICTED)		\
71__PMC_EV(K7, RETIRED_TAKEN_BRANCHES)			\
72__PMC_EV(K7, RETIRED_TAKEN_BRANCHES_MISPREDICTED)	\
73__PMC_EV(K7, RETIRED_FAR_CONTROL_TRANSFERS)		\
74__PMC_EV(K7, RETIRED_RESYNC_BRANCHES)			\
75__PMC_EV(K7, INTERRUPTS_MASKED_CYCLES)			\
76__PMC_EV(K7, INTERRUPTS_MASKED_WHILE_PENDING_CYCLES)	\
77__PMC_EV(K7, HARDWARE_INTERRUPTS)
78
79#define	PMC_EV_K7_FIRST	PMC_EV_K7_DC_ACCESSES
80#define	PMC_EV_K7_LAST	PMC_EV_K7_HARDWARE_INTERRUPTS
81
82
83/*
84 * Intel P4 Events, from "IA-32 Intel(r) Architecture Software
85 * Developer's Manual, Volume 3: System Programming Guide" [245472-012]
86 */
87
88#define	__PMC_EV_P4()				\
89__PMC_EV(P4, TC_DELIVER_MODE)			\
90__PMC_EV(P4, BPU_FETCH_REQUEST)			\
91__PMC_EV(P4, ITLB_REFERENCE)			\
92__PMC_EV(P4, MEMORY_CANCEL)			\
93__PMC_EV(P4, MEMORY_COMPLETE)			\
94__PMC_EV(P4, LOAD_PORT_REPLAY)			\
95__PMC_EV(P4, STORE_PORT_REPLAY)			\
96__PMC_EV(P4, MOB_LOAD_REPLAY)			\
97__PMC_EV(P4, PAGE_WALK_TYPE)			\
98__PMC_EV(P4, BSQ_CACHE_REFERENCE)		\
99__PMC_EV(P4, IOQ_ALLOCATION)			\
100__PMC_EV(P4, IOQ_ACTIVE_ENTRIES)		\
101__PMC_EV(P4, FSB_DATA_ACTIVITY)			\
102__PMC_EV(P4, BSQ_ALLOCATION)			\
103__PMC_EV(P4, BSQ_ACTIVE_ENTRIES)		\
104__PMC_EV(P4, SSE_INPUT_ASSIST)			\
105__PMC_EV(P4, PACKED_SP_UOP)			\
106__PMC_EV(P4, PACKED_DP_UOP)			\
107__PMC_EV(P4, SCALAR_SP_UOP)			\
108__PMC_EV(P4, SCALAR_DP_UOP)			\
109__PMC_EV(P4, 64BIT_MMX_UOP)			\
110__PMC_EV(P4, 128BIT_MMX_UOP)			\
111__PMC_EV(P4, X87_FP_UOP)			\
112__PMC_EV(P4, X87_SIMD_MOVES_UOP)		\
113__PMC_EV(P4, GLOBAL_POWER_EVENTS)		\
114__PMC_EV(P4, TC_MS_XFER)			\
115__PMC_EV(P4, UOP_QUEUE_WRITES)			\
116__PMC_EV(P4, RETIRED_MISPRED_BRANCH_TYPE)	\
117__PMC_EV(P4, RETIRED_BRANCH_TYPE)		\
118__PMC_EV(P4, RESOURCE_STALL)			\
119__PMC_EV(P4, WC_BUFFER)				\
120__PMC_EV(P4, B2B_CYCLES)			\
121__PMC_EV(P4, BNR)				\
122__PMC_EV(P4, SNOOP)				\
123__PMC_EV(P4, RESPONSE)				\
124__PMC_EV(P4, FRONT_END_EVENT)			\
125__PMC_EV(P4, EXECUTION_EVENT)			\
126__PMC_EV(P4, REPLAY_EVENT)			\
127__PMC_EV(P4, INSTR_RETIRED)			\
128__PMC_EV(P4, UOPS_RETIRED)			\
129__PMC_EV(P4, UOP_TYPE)				\
130__PMC_EV(P4, BRANCH_RETIRED)			\
131__PMC_EV(P4, MISPRED_BRANCH_RETIRED)		\
132__PMC_EV(P4, X87_ASSIST)			\
133__PMC_EV(P4, MACHINE_CLEAR)
134
135#define	PMC_EV_P4_FIRST PMC_EV_P4_TC_DELIVER_MODE
136#define	PMC_EV_P4_LAST	PMC_EV_P4_MACHINE_CLEAR
137
138/* Intel Pentium Pro, P-II, P-III and Pentium-M style events */
139
140#define	__PMC_EV_P6()				\
141__PMC_EV(P6, DATA_MEM_REFS)			\
142__PMC_EV(P6, DCU_LINES_IN)			\
143__PMC_EV(P6, DCU_M_LINES_IN)			\
144__PMC_EV(P6, DCU_M_LINES_OUT)			\
145__PMC_EV(P6, DCU_MISS_OUTSTANDING)		\
146__PMC_EV(P6, IFU_FETCH)				\
147__PMC_EV(P6, IFU_FETCH_MISS)			\
148__PMC_EV(P6, ITLB_MISS)				\
149__PMC_EV(P6, IFU_MEM_STALL)			\
150__PMC_EV(P6, ILD_STALL)				\
151__PMC_EV(P6, L2_IFETCH)				\
152__PMC_EV(P6, L2_LD)				\
153__PMC_EV(P6, L2_ST)				\
154__PMC_EV(P6, L2_LINES_IN)			\
155__PMC_EV(P6, L2_LINES_OUT)			\
156__PMC_EV(P6, L2_M_LINES_INM)			\
157__PMC_EV(P6, L2_M_LINES_OUTM)			\
158__PMC_EV(P6, L2_RQSTS)				\
159__PMC_EV(P6, L2_ADS)				\
160__PMC_EV(P6, L2_DBUS_BUSY)			\
161__PMC_EV(P6, L2_DBUS_BUSY_RD)			\
162__PMC_EV(P6, BUS_DRDY_CLOCKS)			\
163__PMC_EV(P6, BUS_LOCK_CLOCKS)			\
164__PMC_EV(P6, BUS_REQ_OUTSTANDING)		\
165__PMC_EV(P6, BUS_TRAN_BRD)			\
166__PMC_EV(P6, BUS_TRAN_RFO)			\
167__PMC_EV(P6, BUS_TRANS_WB)			\
168__PMC_EV(P6, BUS_TRAN_IFETCH)			\
169__PMC_EV(P6, BUS_TRAN_INVAL)			\
170__PMC_EV(P6, BUS_TRAN_PWR)			\
171__PMC_EV(P6, BUS_TRANS_P)			\
172__PMC_EV(P6, BUS_TRANS_IO)			\
173__PMC_EV(P6, BUS_TRAN_DEF)			\
174__PMC_EV(P6, BUS_TRAN_BURST)			\
175__PMC_EV(P6, BUS_TRAN_ANY)			\
176__PMC_EV(P6, BUS_TRAN_MEM)			\
177__PMC_EV(P6, BUS_DATA_RCV)			\
178__PMC_EV(P6, BUS_BNR_DRV)			\
179__PMC_EV(P6, BUS_HIT_DRV)			\
180__PMC_EV(P6, BUS_HITM_DRV)			\
181__PMC_EV(P6, BUS_SNOOP_STALL)			\
182__PMC_EV(P6, FLOPS)				\
183__PMC_EV(P6, FP_COMPS_OPS_EXE)			\
184__PMC_EV(P6, FP_ASSIST)				\
185__PMC_EV(P6, MUL)				\
186__PMC_EV(P6, DIV)				\
187__PMC_EV(P6, CYCLES_DIV_BUSY)			\
188__PMC_EV(P6, LD_BLOCKS)				\
189__PMC_EV(P6, SB_DRAINS)				\
190__PMC_EV(P6, MISALIGN_MEM_REF)			\
191__PMC_EV(P6, EMON_KNI_PREF_DISPATCHED)		\
192__PMC_EV(P6, EMON_KNI_PREF_MISS)		\
193__PMC_EV(P6, INST_RETIRED)			\
194__PMC_EV(P6, UOPS_RETIRED)			\
195__PMC_EV(P6, INST_DECODED)			\
196__PMC_EV(P6, EMON_KNI_INST_RETIRED)		\
197__PMC_EV(P6, EMON_KNI_COMP_INST_RET)		\
198__PMC_EV(P6, HW_INT_RX)				\
199__PMC_EV(P6, CYCLES_INT_MASKED)			\
200__PMC_EV(P6, CYCLES_INT_PENDING_AND_MASKED)	\
201__PMC_EV(P6, BR_INST_RETIRED)			\
202__PMC_EV(P6, BR_MISS_PRED_RETIRED)		\
203__PMC_EV(P6, BR_TAKEN_RETIRED)			\
204__PMC_EV(P6, BR_MISS_PRED_TAKEN_RET)		\
205__PMC_EV(P6, BR_INST_DECODED)			\
206__PMC_EV(P6, BTB_MISSES)			\
207__PMC_EV(P6, BR_BOGUS)				\
208__PMC_EV(P6, BACLEARS)				\
209__PMC_EV(P6, RESOURCE_STALLS)			\
210__PMC_EV(P6, PARTIAL_RAT_STALLS)		\
211__PMC_EV(P6, SEGMENT_REG_LOADS)			\
212__PMC_EV(P6, CPU_CLK_UNHALTED)			\
213__PMC_EV(P6, MMX_INSTR_EXEC)			\
214__PMC_EV(P6, MMX_SAT_INSTR_EXEC)		\
215__PMC_EV(P6, MMX_UOPS_EXEC)			\
216__PMC_EV(P6, MMX_INSTR_TYPE_EXEC)		\
217__PMC_EV(P6, FP_MMX_TRANS)			\
218__PMC_EV(P6, MMX_ASSIST)			\
219__PMC_EV(P6, MMX_INSTR_RET)			\
220__PMC_EV(P6, SEG_RENAME_STALLS)			\
221__PMC_EV(P6, SEG_REG_RENAMES)			\
222__PMC_EV(P6, RET_SEG_RENAMES)			\
223__PMC_EV(P6, EMON_EST_TRANS)			\
224__PMC_EV(P6, EMON_THERMAL_TRIP)			\
225__PMC_EV(P6, BR_INST_EXEC)			\
226__PMC_EV(P6, BR_MISSP_EXEC)			\
227__PMC_EV(P6, BR_BAC_MISSP_EXEC)			\
228__PMC_EV(P6, BR_CND_EXEC)			\
229__PMC_EV(P6, BR_CND_MISSP_EXEC)			\
230__PMC_EV(P6, BR_IND_EXEC)			\
231__PMC_EV(P6, BR_IND_MISSP_EXEC)			\
232__PMC_EV(P6, BR_RET_EXEC)			\
233__PMC_EV(P6, BR_RET_MISSP_EXEC)			\
234__PMC_EV(P6, BR_RET_BAC_MISSP_EXEC)		\
235__PMC_EV(P6, BR_CALL_EXEC)			\
236__PMC_EV(P6, BR_CALL_MISSP_EXEC)		\
237__PMC_EV(P6, BR_IND_CALL_EXEC)			\
238__PMC_EV(P6, EMON_SIMD_INSTR_RETIRED)		\
239__PMC_EV(P6, EMON_SYNCH_UOPS)			\
240__PMC_EV(P6, EMON_ESP_UOPS)			\
241__PMC_EV(P6, EMON_FUSED_UOPS_RET)		\
242__PMC_EV(P6, EMON_UNFUSION)			\
243__PMC_EV(P6, EMON_PREF_RQSTS_UP)		\
244__PMC_EV(P6, EMON_PREF_RQSTS_DN)		\
245__PMC_EV(P6, EMON_SSE_SSE2_INST_RETIRED)	\
246__PMC_EV(P6, EMON_SSE_SSE2_COMP_INST_RETIRED)
247
248
249#define	PMC_EV_P6_FIRST	PMC_EV_P6_DATA_MEM_REFS
250#define	PMC_EV_P6_LAST	PMC_EV_P6_EMON_SSE_SSE2_COMP_INST_RETIRED
251
252/* AMD K8 PMCs */
253
254#define	__PMC_EV_K8()							\
255__PMC_EV(K8, FP_DISPATCHED_FPU_OPS)					\
256__PMC_EV(K8, FP_CYCLES_WITH_NO_FPU_OPS_RETIRED)				\
257__PMC_EV(K8, FP_DISPATCHED_FPU_FAST_FLAG_OPS)				\
258__PMC_EV(K8, LS_SEGMENT_REGISTER_LOAD)					\
259__PMC_EV(K8, LS_MICROARCHITECTURAL_RESYNC_BY_SELF_MODIFYING_CODE)	\
260__PMC_EV(K8, LS_MICROARCHITECTURAL_RESYNC_BY_SNOOP)			\
261__PMC_EV(K8, LS_BUFFER2_FULL)						\
262__PMC_EV(K8, LS_LOCKED_OPERATION)					\
263__PMC_EV(K8, LS_MICROARCHITECTURAL_LATE_CANCEL)				\
264__PMC_EV(K8, LS_RETIRED_CFLUSH_INSTRUCTIONS)				\
265__PMC_EV(K8, LS_RETIRED_CPUID_INSTRUCTIONS)				\
266__PMC_EV(K8, DC_ACCESS)							\
267__PMC_EV(K8, DC_MISS)							\
268__PMC_EV(K8, DC_REFILL_FROM_L2)						\
269__PMC_EV(K8, DC_REFILL_FROM_SYSTEM)					\
270__PMC_EV(K8, DC_COPYBACK)						\
271__PMC_EV(K8, DC_L1_DTLB_MISS_AND_L2_DTLB_HIT)				\
272__PMC_EV(K8, DC_L1_DTLB_MISS_AND_L2_DTLB_MISS)				\
273__PMC_EV(K8, DC_MISALIGNED_DATA_REFERENCE)				\
274__PMC_EV(K8, DC_MICROARCHITECTURAL_LATE_CANCEL)				\
275__PMC_EV(K8, DC_MICROARCHITECTURAL_EARLY_CANCEL)			\
276__PMC_EV(K8, DC_ONE_BIT_ECC_ERROR)					\
277__PMC_EV(K8, DC_DISPATCHED_PREFETCH_INSTRUCTIONS)			\
278__PMC_EV(K8, DC_DCACHE_ACCESSES_BY_LOCKS)				\
279__PMC_EV(K8, BU_CPU_CLK_UNHALTED)					\
280__PMC_EV(K8, BU_INTERNAL_L2_REQUEST)					\
281__PMC_EV(K8, BU_FILL_REQUEST_L2_MISS)					\
282__PMC_EV(K8, BU_FILL_INTO_L2)						\
283__PMC_EV(K8, IC_FETCH)							\
284__PMC_EV(K8, IC_MISS)							\
285__PMC_EV(K8, IC_REFILL_FROM_L2)						\
286__PMC_EV(K8, IC_REFILL_FROM_SYSTEM)					\
287__PMC_EV(K8, IC_L1_ITLB_MISS_AND_L2_ITLB_HIT)				\
288__PMC_EV(K8, IC_L1_ITLB_MISS_AND_L2_ITLB_MISS)				\
289__PMC_EV(K8, IC_MICROARCHITECTURAL_RESYNC_BY_SNOOP)			\
290__PMC_EV(K8, IC_INSTRUCTION_FETCH_STALL)				\
291__PMC_EV(K8, IC_RETURN_STACK_HIT)					\
292__PMC_EV(K8, IC_RETURN_STACK_OVERFLOW)					\
293__PMC_EV(K8, FR_RETIRED_X86_INSTRUCTIONS)				\
294__PMC_EV(K8, FR_RETIRED_UOPS)						\
295__PMC_EV(K8, FR_RETIRED_BRANCHES)					\
296__PMC_EV(K8, FR_RETIRED_BRANCHES_MISPREDICTED)				\
297__PMC_EV(K8, FR_RETIRED_TAKEN_BRANCHES)					\
298__PMC_EV(K8, FR_RETIRED_TAKEN_BRANCHES_MISPREDICTED)			\
299__PMC_EV(K8, FR_RETIRED_FAR_CONTROL_TRANSFERS)				\
300__PMC_EV(K8, FR_RETIRED_RESYNCS)					\
301__PMC_EV(K8, FR_RETIRED_NEAR_RETURNS)					\
302__PMC_EV(K8, FR_RETIRED_NEAR_RETURNS_MISPREDICTED)			\
303__PMC_EV(K8, FR_RETIRED_TAKEN_BRANCHES_MISPREDICTED_BY_ADDR_MISCOMPARE)	\
304__PMC_EV(K8, FR_RETIRED_FPU_INSTRUCTIONS)				\
305__PMC_EV(K8, FR_RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS)		\
306__PMC_EV(K8, FR_INTERRUPTS_MASKED_CYCLES)				\
307__PMC_EV(K8, FR_INTERRUPTS_MASKED_WHILE_PENDING_CYCLES)			\
308__PMC_EV(K8, FR_TAKEN_HARDWARE_INTERRUPTS)				\
309__PMC_EV(K8, FR_DECODER_EMPTY)						\
310__PMC_EV(K8, FR_DISPATCH_STALLS)					\
311__PMC_EV(K8, FR_DISPATCH_STALL_FROM_BRANCH_ABORT_TO_RETIRE)		\
312__PMC_EV(K8, FR_DISPATCH_STALL_FOR_SERIALIZATION)			\
313__PMC_EV(K8, FR_DISPATCH_STALL_FOR_SEGMENT_LOAD)			\
314__PMC_EV(K8, FR_DISPATCH_STALL_WHEN_REORDER_BUFFER_IS_FULL)		\
315__PMC_EV(K8, FR_DISPATCH_STALL_WHEN_RESERVATION_STATIONS_ARE_FULL)	\
316__PMC_EV(K8, FR_DISPATCH_STALL_WHEN_FPU_IS_FULL)			\
317__PMC_EV(K8, FR_DISPATCH_STALL_WHEN_LS_IS_FULL)				\
318__PMC_EV(K8, FR_DISPATCH_STALL_WHEN_WAITING_FOR_ALL_TO_BE_QUIET)	\
319__PMC_EV(K8, FR_DISPATCH_STALL_WHEN_FAR_XFER_OR_RESYNC_BRANCH_PENDING)	\
320__PMC_EV(K8, FR_FPU_EXCEPTIONS)						\
321__PMC_EV(K8, FR_NUMBER_OF_BREAKPOINTS_FOR_DR0)				\
322__PMC_EV(K8, FR_NUMBER_OF_BREAKPOINTS_FOR_DR1)				\
323__PMC_EV(K8, FR_NUMBER_OF_BREAKPOINTS_FOR_DR2)				\
324__PMC_EV(K8, FR_NUMBER_OF_BREAKPOINTS_FOR_DR3)				\
325__PMC_EV(K8, NB_MEMORY_CONTROLLER_PAGE_ACCESS_EVENT)			\
326__PMC_EV(K8, NB_MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOW)			\
327__PMC_EV(K8, NB_MEMORY_CONTROLLER_DRAM_COMMAND_SLOTS_MISSED)		\
328__PMC_EV(K8, NB_MEMORY_CONTROLLER_TURNAROUND)				\
329__PMC_EV(K8, NB_MEMORY_CONTROLLER_BYPASS_SATURATION)			\
330__PMC_EV(K8, NB_SIZED_COMMANDS)						\
331__PMC_EV(K8, NB_PROBE_RESULT)						\
332__PMC_EV(K8, NB_HT_BUS0_BANDWIDTH)					\
333__PMC_EV(K8, NB_HT_BUS1_BANDWIDTH)					\
334__PMC_EV(K8, NB_HT_BUS2_BANDWIDTH)
335
336#define	PMC_EV_K8_FIRST		PMC_EV_K8_FP_DISPATCHED_FPU_OPS
337#define	PMC_EV_K8_LAST		PMC_EV_K8_NB_HT_BUS2_BANDWIDTH
338
339
340/*
341 * Intel Pentium and Pentium MMX events, from the "Intel 64 and IA-32
342 * Architectures Software Developer's Manual, Volume 3B: System Programming
343 * Guide, Part 2, August 2007".
344 */
345#define	__PMC_EV_P5()							\
346__PMC_EV(P5, DATA_READ)							\
347__PMC_EV(P5, DATA_WRITE)						\
348__PMC_EV(P5, DATA_TLB_MISS)						\
349__PMC_EV(P5, DATA_READ_MISS)						\
350__PMC_EV(P5, DATA_WRITE_MISS)						\
351__PMC_EV(P5, WRITE_HIT_TO_M_OR_E_STATE_LINES)				\
352__PMC_EV(P5, DATA_CACHE_LINES_WRITTEN_BACK)				\
353__PMC_EV(P5, EXTERNAL_SNOOPS)						\
354__PMC_EV(P5, EXTERNAL_DATA_CACHE_SNOOP_HITS)				\
355__PMC_EV(P5, MEMORY_ACCESSES_IN_BOTH_PIPES)				\
356__PMC_EV(P5, BANK_CONFLICTS)						\
357__PMC_EV(P5, MISALIGNED_DATA_OR_IO_REFERENCES)				\
358__PMC_EV(P5, CODE_READ)							\
359__PMC_EV(P5, CODE_TLB_MISS)						\
360__PMC_EV(P5, CODE_CACHE_MISS)						\
361__PMC_EV(P5, ANY_SEGMENT_REGISTER_LOADED)				\
362__PMC_EV(P5, BRANCHES)							\
363__PMC_EV(P5, BTB_HITS)							\
364__PMC_EV(P5, TAKEN_BRANCH_OR_BTB_HIT)					\
365__PMC_EV(P5, PIPELINE_FLUSHES)						\
366__PMC_EV(P5, INSTRUCTIONS_EXECUTED)					\
367__PMC_EV(P5, INSTRUCTIONS_EXECUTED_V_PIPE)				\
368__PMC_EV(P5, BUS_CYCLE_DURATION)					\
369__PMC_EV(P5, WRITE_BUFFER_FULL_STALL_DURATION)				\
370__PMC_EV(P5, WAITING_FOR_DATA_MEMORY_READ_STALL_DURATION)		\
371__PMC_EV(P5, STALL_ON_WRITE_TO_AN_E_OR_M_STATE_LINE)			\
372__PMC_EV(P5, LOCKED_BUS_CYCLE)						\
373__PMC_EV(P5, IO_READ_OR_WRITE_CYCLE)					\
374__PMC_EV(P5, NONCACHEABLE_MEMORY_READS)					\
375__PMC_EV(P5, PIPELINE_AGI_STALLS)					\
376__PMC_EV(P5, FLOPS)							\
377__PMC_EV(P5, BREAKPOINT_MATCH_ON_DR0_REGISTER)				\
378__PMC_EV(P5, BREAKPOINT_MATCH_ON_DR1_REGISTER)				\
379__PMC_EV(P5, BREAKPOINT_MATCH_ON_DR2_REGISTER)				\
380__PMC_EV(P5, BREAKPOINT_MATCH_ON_DR3_REGISTER)				\
381__PMC_EV(P5, HARDWARE_INTERRUPTS)					\
382__PMC_EV(P5, DATA_READ_OR_WRITE)					\
383__PMC_EV(P5, DATA_READ_MISS_OR_WRITE_MISS)				\
384__PMC_EV(P5, BUS_OWNERSHIP_LATENCY)					\
385__PMC_EV(P5, BUS_OWNERSHIP_TRANSFERS)					\
386__PMC_EV(P5, MMX_INSTRUCTIONS_EXECUTED_U_PIPE)				\
387__PMC_EV(P5, MMX_INSTRUCTIONS_EXECUTED_V_PIPE)				\
388__PMC_EV(P5, CACHE_M_LINE_SHARING)					\
389__PMC_EV(P5, CACHE_LINE_SHARING)					\
390__PMC_EV(P5, EMMS_INSTRUCTIONS_EXECUTED)				\
391__PMC_EV(P5, TRANSITIONS_BETWEEN_MMX_AND_FP_INSTRUCTIONS)		\
392__PMC_EV(P5, BUS_UTILIZATION_DUE_TO_PROCESSOR_ACTIVITY)			\
393__PMC_EV(P5, WRITES_TO_NONCACHEABLE_MEMORY)				\
394__PMC_EV(P5, SATURATING_MMX_INSTRUCTIONS_EXECUTED)			\
395__PMC_EV(P5, SATURATIONS_PERFORMED)					\
396__PMC_EV(P5, NUMBER_OF_CYCLES_NOT_IN_HALT_STATE)			\
397__PMC_EV(P5, DATA_CACHE_TLB_MISS_STALL_DURATION)			\
398__PMC_EV(P5, MMX_INSTRUCTION_DATA_READS)				\
399__PMC_EV(P5, MMX_INSTRUCTION_DATA_READ_MISSES)				\
400__PMC_EV(P5, FLOATING_POINT_STALLS_DURATION)				\
401__PMC_EV(P5, TAKEN_BRANCHES)						\
402__PMC_EV(P5, D1_STARVATION_AND_FIFO_IS_EMPTY)				\
403__PMC_EV(P5, D1_STARVATION_AND_ONLY_ONE_INSTRUCTION_IN_FIFO)		\
404__PMC_EV(P5, MMX_INSTRUCTION_DATA_WRITES)				\
405__PMC_EV(P5, MMX_INSTRUCTION_DATA_WRITE_MISSES)				\
406__PMC_EV(P5, PIPELINE_FLUSHES_DUE_TO_WRONG_BRANCH_PREDICTIONS)		\
407__PMC_EV(P5,								\
408    PIPELINE_FLUSHES_DUE_TO_WRONG_BRANCH_PREDICTIONS_RESOLVED_IN_WB_STAGE) \
409__PMC_EV(P5, MISALIGNED_DATA_MEMORY_REFERENCE_ON_MMX_INSTRUCTIONS)	\
410__PMC_EV(P5, PIPELINE_STALL_FOR_MMX_INSTRUCTION_DATA_MEMORY_READS)	\
411__PMC_EV(P5, MISPREDICTED_OR_UNPREDICTED_RETURNS)			\
412__PMC_EV(P5, PREDICTED_RETURNS)						\
413__PMC_EV(P5, MMX_MULTIPLY_UNIT_INTERLOCK)				\
414__PMC_EV(P5, MOVD_MOVQ_STORE_STALL_DUE_TO_PREVIOUS_MMX_OPERATION)	\
415__PMC_EV(P5, RETURNS)							\
416__PMC_EV(P5, BTB_FALSE_ENTRIES)						\
417__PMC_EV(P5, BTB_MISS_PREDICTION_ON_NOT_TAKEN_BRANCH)			\
418__PMC_EV(P5,								\
419    FULL_WRITE_BUFFER_STALL_DURATION_WHILE_EXECUTING_MMX_INSTRUCTIONS)	\
420__PMC_EV(P5, STALL_ON_MMX_INSTRUCTION_WRITE_TO_E_OR_M_STATE_LINE)
421
422#define	PMC_EV_P5_FIRST		PMC_EV_P5_DATA_READ
423#define	PMC_EV_P5_LAST	        \
424	PMC_EV_P5_STALL_ON_MMX_INSTRUCTION_WRITE_TO_E_OR_M_STATE_LINE
425
426/*
427 * Events supported by Intel architectural fixed function counters,
428 * from the "Intel 64 and IA-32 Architectures Software Developer's
429 * Manual Volume 3B: System Programming Guide, Part 2", July 2008.
430 */
431#define	__PMC_EV_IAF()							\
432__PMC_EV(IAF, INSTR_RETIRED_ANY)					\
433__PMC_EV(IAF, CPU_CLK_UNHALTED_CORE)					\
434__PMC_EV(IAF, CPU_CLK_UNHALTED_REF)
435
436#define	PMC_EV_IAF_FIRST	PMC_EV_IAF_INSTR_RETIRED_ANY
437#define	PMC_EV_IAF_LAST		PMC_EV_IAF_CPU_CLK_UNHALTED_REF
438
439#define	__PMC_EV_ALIAS_IAF()						\
440__PMC_EV_ALIAS("instruction-retired",	IAF_INSTR_RETIRED_ANY)		\
441__PMC_EV_ALIAS("unhalted-core-cycles",	IAF_CPU_CLK_UNHALTED_CORE)	\
442__PMC_EV_ALIAS("unhalted-reference-cycles", IAF_CPU_CLK_UNHALTED_REF)
443
444/*
445 * Events supported by programmable function counters present in
446 * Intel Atom, Core and Core2 CPUs, from the "Intel 64 and IA-32
447 * Architectures Software Developer's Manual Volume 3B: System Programming
448 * Guide, Part 2", July 2008.
449 *
450 * These PMCs select events with a combination of an event code and
451 * unit mask.  Quirks that need to be taken care of include:
452 * - The set of (event code, umask) combinations supported by a processor
453 *   varies according to the processor model.
454 * - A given (event code, umask) combination need not measure the same
455 *   hardware event in all processor models.
456 * - Event names in vendor documentation for an (event code, umask) pair
457 *   may vary according to the CPU model.
458 * - Identically named events can map to different (event code, umask)
459 *   pairs on different CPUs.
460 * - New (event code, umask) combinations continue to be added as CPUs
461 *   evolve.  The interface between hwpmc(4) and libpmc(3) needs to be
462 *   robust with respect to ABI changes.
463 *
464 * The IAP_EVENT_* symbols below define the ABI between userland and kernel.
465 * New (event code, * umask) combinations used in new CPUs would be added
466 * to the end of the list.  Vendor names for events are mapped to IAP_EVENT_*
467 * symbols using aliases.  The final disambiguation of semantics based on
468 * the CPU model happens inside hwpmc(4).
469 */
470#define	__PMC_EV_IAP()				\
471__PMC_EV(IAP, EVENT_02H_81H)			\
472__PMC_EV(IAP, EVENT_03H_00H)			\
473__PMC_EV(IAP, EVENT_03H_02H)			\
474__PMC_EV(IAP, EVENT_03H_04H)			\
475__PMC_EV(IAP, EVENT_03H_08H)			\
476__PMC_EV(IAP, EVENT_03H_10H)			\
477__PMC_EV(IAP, EVENT_03H_20H)			\
478__PMC_EV(IAP, EVENT_04H_00H)			\
479__PMC_EV(IAP, EVENT_04H_01H)			\
480__PMC_EV(IAP, EVENT_04H_02H)			\
481__PMC_EV(IAP, EVENT_04H_08H)			\
482__PMC_EV(IAP, EVENT_05H_00H)			\
483__PMC_EV(IAP, EVENT_06H_00H)			\
484__PMC_EV(IAP, EVENT_07H_00H)			\
485__PMC_EV(IAP, EVENT_07H_01H)			\
486__PMC_EV(IAP, EVENT_07H_02H)			\
487__PMC_EV(IAP, EVENT_07H_03H)			\
488__PMC_EV(IAP, EVENT_07H_06H)			\
489__PMC_EV(IAP, EVENT_07H_08H)			\
490__PMC_EV(IAP, EVENT_08H_01H)			\
491__PMC_EV(IAP, EVENT_08H_02H)			\
492__PMC_EV(IAP, EVENT_08H_04H)			\
493__PMC_EV(IAP, EVENT_08H_05H)			\
494__PMC_EV(IAP, EVENT_08H_06H)			\
495__PMC_EV(IAP, EVENT_08H_07H)			\
496__PMC_EV(IAP, EVENT_08H_08H)			\
497__PMC_EV(IAP, EVENT_08H_09H)			\
498__PMC_EV(IAP, EVENT_09H_01H)			\
499__PMC_EV(IAP, EVENT_09H_02H)			\
500__PMC_EV(IAP, EVENT_0CH_01H)			\
501__PMC_EV(IAP, EVENT_0CH_02H)			\
502__PMC_EV(IAP, EVENT_0CH_03H)			\
503__PMC_EV(IAP, EVENT_10H_00H)			\
504__PMC_EV(IAP, EVENT_10H_01H)			\
505__PMC_EV(IAP, EVENT_10H_81H)			\
506__PMC_EV(IAP, EVENT_11H_00H)			\
507__PMC_EV(IAP, EVENT_11H_01H)			\
508__PMC_EV(IAP, EVENT_11H_81H)			\
509__PMC_EV(IAP, EVENT_12H_00H)			\
510__PMC_EV(IAP, EVENT_12H_01H)			\
511__PMC_EV(IAP, EVENT_12H_81H)			\
512__PMC_EV(IAP, EVENT_13H_00H)			\
513__PMC_EV(IAP, EVENT_13H_01H)			\
514__PMC_EV(IAP, EVENT_13H_81H)			\
515__PMC_EV(IAP, EVENT_14H_00H)			\
516__PMC_EV(IAP, EVENT_14H_01H)			\
517__PMC_EV(IAP, EVENT_18H_00H)			\
518__PMC_EV(IAP, EVENT_19H_00H)			\
519__PMC_EV(IAP, EVENT_19H_01H)			\
520__PMC_EV(IAP, EVENT_19H_02H)			\
521__PMC_EV(IAP, EVENT_21H)			\
522__PMC_EV(IAP, EVENT_22H)			\
523__PMC_EV(IAP, EVENT_23H)			\
524__PMC_EV(IAP, EVENT_24H)			\
525__PMC_EV(IAP, EVENT_25H)			\
526__PMC_EV(IAP, EVENT_26H)			\
527__PMC_EV(IAP, EVENT_27H)			\
528__PMC_EV(IAP, EVENT_28H)			\
529__PMC_EV(IAP, EVENT_29H)			\
530__PMC_EV(IAP, EVENT_2AH)			\
531__PMC_EV(IAP, EVENT_2BH)			\
532__PMC_EV(IAP, EVENT_2EH)			\
533__PMC_EV(IAP, EVENT_2EH_41H)			\
534__PMC_EV(IAP, EVENT_2EH_4FH)			\
535__PMC_EV(IAP, EVENT_30H)			\
536__PMC_EV(IAP, EVENT_32H)			\
537__PMC_EV(IAP, EVENT_3AH)			\
538__PMC_EV(IAP, EVENT_3AH_00H)			\
539__PMC_EV(IAP, EVENT_3BH_C0H)			\
540__PMC_EV(IAP, EVENT_3CH_00H)			\
541__PMC_EV(IAP, EVENT_3CH_01H)			\
542__PMC_EV(IAP, EVENT_3CH_02H)			\
543__PMC_EV(IAP, EVENT_40H)			\
544__PMC_EV(IAP, EVENT_40H_21H)			\
545__PMC_EV(IAP, EVENT_41H)			\
546__PMC_EV(IAP, EVENT_41H_22H)			\
547__PMC_EV(IAP, EVENT_42H)			\
548__PMC_EV(IAP, EVENT_42H_10H)			\
549__PMC_EV(IAP, EVENT_43H_01H)			\
550__PMC_EV(IAP, EVENT_43H_02H)			\
551__PMC_EV(IAP, EVENT_44H_02H)			\
552__PMC_EV(IAP, EVENT_45H_0FH)			\
553__PMC_EV(IAP, EVENT_46H_00H)			\
554__PMC_EV(IAP, EVENT_47H_00H)			\
555__PMC_EV(IAP, EVENT_48H_00H)			\
556__PMC_EV(IAP, EVENT_49H_00H)			\
557__PMC_EV(IAP, EVENT_49H_01H)			\
558__PMC_EV(IAP, EVENT_49H_02H)			\
559__PMC_EV(IAP, EVENT_4BH_00H)			\
560__PMC_EV(IAP, EVENT_4BH_01H)			\
561__PMC_EV(IAP, EVENT_4BH_02H)			\
562__PMC_EV(IAP, EVENT_4BH_03H)			\
563__PMC_EV(IAP, EVENT_4CH_00H)			\
564__PMC_EV(IAP, EVENT_4EH_10H)			\
565__PMC_EV(IAP, EVENT_4FH_00H)			\
566__PMC_EV(IAP, EVENT_60H)			\
567__PMC_EV(IAP, EVENT_61H)			\
568__PMC_EV(IAP, EVENT_61H_00H)			\
569__PMC_EV(IAP, EVENT_62H)			\
570__PMC_EV(IAP, EVENT_62H_00H)			\
571__PMC_EV(IAP, EVENT_63H)			\
572__PMC_EV(IAP, EVENT_64H)			\
573__PMC_EV(IAP, EVENT_64H_40H)			\
574__PMC_EV(IAP, EVENT_65H)			\
575__PMC_EV(IAP, EVENT_66H)			\
576__PMC_EV(IAP, EVENT_67H)			\
577__PMC_EV(IAP, EVENT_68H)			\
578__PMC_EV(IAP, EVENT_69H)			\
579__PMC_EV(IAP, EVENT_6AH)			\
580__PMC_EV(IAP, EVENT_6BH)			\
581__PMC_EV(IAP, EVENT_6CH)			\
582__PMC_EV(IAP, EVENT_6DH)			\
583__PMC_EV(IAP, EVENT_6EH)			\
584__PMC_EV(IAP, EVENT_6FH)			\
585__PMC_EV(IAP, EVENT_70H)			\
586__PMC_EV(IAP, EVENT_77H)			\
587__PMC_EV(IAP, EVENT_78H)			\
588__PMC_EV(IAP, EVENT_7AH)			\
589__PMC_EV(IAP, EVENT_7BH)			\
590__PMC_EV(IAP, EVENT_7DH)			\
591__PMC_EV(IAP, EVENT_7EH)			\
592__PMC_EV(IAP, EVENT_7EH_00H)			\
593__PMC_EV(IAP, EVENT_7FH)			\
594__PMC_EV(IAP, EVENT_80H_00H)			\
595__PMC_EV(IAP, EVENT_80H_02H)			\
596__PMC_EV(IAP, EVENT_80H_03H)			\
597__PMC_EV(IAP, EVENT_81H_00H)			\
598__PMC_EV(IAP, EVENT_82H_02H)			\
599__PMC_EV(IAP, EVENT_82H_04H)			\
600__PMC_EV(IAP, EVENT_82H_10H)			\
601__PMC_EV(IAP, EVENT_82H_12H)			\
602__PMC_EV(IAP, EVENT_82H_40H)			\
603__PMC_EV(IAP, EVENT_83H_02H)			\
604__PMC_EV(IAP, EVENT_85H_00H)			\
605__PMC_EV(IAP, EVENT_86H_00H)			\
606__PMC_EV(IAP, EVENT_87H_00H)			\
607__PMC_EV(IAP, EVENT_88H_00H)			\
608__PMC_EV(IAP, EVENT_89H_00H)			\
609__PMC_EV(IAP, EVENT_8AH_00H)			\
610__PMC_EV(IAP, EVENT_8BH_00H)			\
611__PMC_EV(IAP, EVENT_8CH_00H)			\
612__PMC_EV(IAP, EVENT_8DH_00H)			\
613__PMC_EV(IAP, EVENT_8EH_00H)			\
614__PMC_EV(IAP, EVENT_8FH_00H)			\
615__PMC_EV(IAP, EVENT_90H_00H)			\
616__PMC_EV(IAP, EVENT_91H_00H)			\
617__PMC_EV(IAP, EVENT_92H_00H)			\
618__PMC_EV(IAP, EVENT_93H_00H)			\
619__PMC_EV(IAP, EVENT_94H_00H)			\
620__PMC_EV(IAP, EVENT_97H_00H)			\
621__PMC_EV(IAP, EVENT_98H_00H)			\
622__PMC_EV(IAP, EVENT_A0H_00H)			\
623__PMC_EV(IAP, EVENT_A1H_01H)			\
624__PMC_EV(IAP, EVENT_A1H_02H)			\
625__PMC_EV(IAP, EVENT_A1H_04H)			\
626__PMC_EV(IAP, EVENT_A1H_08H)			\
627__PMC_EV(IAP, EVENT_A1H_10H)			\
628__PMC_EV(IAP, EVENT_A1H_20H)			\
629__PMC_EV(IAP, EVENT_A2H_00H)			\
630__PMC_EV(IAP, EVENT_AAH_01H)			\
631__PMC_EV(IAP, EVENT_AAH_02H)			\
632__PMC_EV(IAP, EVENT_AAH_03H)			\
633__PMC_EV(IAP, EVENT_AAH_08H)			\
634__PMC_EV(IAP, EVENT_ABH_01H)			\
635__PMC_EV(IAP, EVENT_ABH_02H)			\
636__PMC_EV(IAP, EVENT_B0H_00H)			\
637__PMC_EV(IAP, EVENT_B0H_80H)			\
638__PMC_EV(IAP, EVENT_B1H_00H)			\
639__PMC_EV(IAP, EVENT_B1H_80H)			\
640__PMC_EV(IAP, EVENT_B3H_01H)			\
641__PMC_EV(IAP, EVENT_B3H_02H)			\
642__PMC_EV(IAP, EVENT_B3H_04H)			\
643__PMC_EV(IAP, EVENT_B3H_08H)			\
644__PMC_EV(IAP, EVENT_B3H_10H)			\
645__PMC_EV(IAP, EVENT_B3H_20H)			\
646__PMC_EV(IAP, EVENT_B3H_81H)			\
647__PMC_EV(IAP, EVENT_B3H_82H)			\
648__PMC_EV(IAP, EVENT_B3H_84H)			\
649__PMC_EV(IAP, EVENT_B3H_88H)			\
650__PMC_EV(IAP, EVENT_B3H_90H)			\
651__PMC_EV(IAP, EVENT_B3H_A0H)			\
652__PMC_EV(IAP, EVENT_C0H_00H)			\
653__PMC_EV(IAP, EVENT_C0H_01H)			\
654__PMC_EV(IAP, EVENT_C0H_02H)			\
655__PMC_EV(IAP, EVENT_C0H_04H)			\
656__PMC_EV(IAP, EVENT_C0H_08H)			\
657__PMC_EV(IAP, EVENT_C1H_00H)			\
658__PMC_EV(IAP, EVENT_C1H_01H)			\
659__PMC_EV(IAP, EVENT_C1H_FEH)			\
660__PMC_EV(IAP, EVENT_C2H_00H)			\
661__PMC_EV(IAP, EVENT_C2H_01H)			\
662__PMC_EV(IAP, EVENT_C2H_02H)			\
663__PMC_EV(IAP, EVENT_C2H_04H)			\
664__PMC_EV(IAP, EVENT_C2H_07H)			\
665__PMC_EV(IAP, EVENT_C2H_0FH)			\
666__PMC_EV(IAP, EVENT_C2H_10H)			\
667__PMC_EV(IAP, EVENT_C2H_08H)			\
668__PMC_EV(IAP, EVENT_C3H_00H)			\
669__PMC_EV(IAP, EVENT_C3H_01H)			\
670__PMC_EV(IAP, EVENT_C3H_04H)			\
671__PMC_EV(IAP, EVENT_C4H_00H)			\
672__PMC_EV(IAP, EVENT_C4H_01H)			\
673__PMC_EV(IAP, EVENT_C4H_02H)			\
674__PMC_EV(IAP, EVENT_C4H_04H)			\
675__PMC_EV(IAP, EVENT_C4H_08H)			\
676__PMC_EV(IAP, EVENT_C4H_0CH)			\
677__PMC_EV(IAP, EVENT_C4H_0FH)			\
678__PMC_EV(IAP, EVENT_C5H_00H)			\
679__PMC_EV(IAP, EVENT_C6H_00H)			\
680__PMC_EV(IAP, EVENT_C6H_01H)			\
681__PMC_EV(IAP, EVENT_C6H_02H)			\
682__PMC_EV(IAP, EVENT_C7H_00H)			\
683__PMC_EV(IAP, EVENT_C7H_01H)			\
684__PMC_EV(IAP, EVENT_C7H_02H)			\
685__PMC_EV(IAP, EVENT_C7H_04H)			\
686__PMC_EV(IAP, EVENT_C7H_08H)			\
687__PMC_EV(IAP, EVENT_C7H_10H)			\
688__PMC_EV(IAP, EVENT_C7H_1FH)			\
689__PMC_EV(IAP, EVENT_C8H_00H)			\
690__PMC_EV(IAP, EVENT_C9H_00H)			\
691__PMC_EV(IAP, EVENT_CAH_00H)			\
692__PMC_EV(IAP, EVENT_CAH_01H)			\
693__PMC_EV(IAP, EVENT_CAH_02H)			\
694__PMC_EV(IAP, EVENT_CAH_04H)			\
695__PMC_EV(IAP, EVENT_CAH_08H)			\
696__PMC_EV(IAP, EVENT_CBH_01H)			\
697__PMC_EV(IAP, EVENT_CBH_02H)			\
698__PMC_EV(IAP, EVENT_CBH_04H)			\
699__PMC_EV(IAP, EVENT_CBH_08H)			\
700__PMC_EV(IAP, EVENT_CBH_10H)			\
701__PMC_EV(IAP, EVENT_CCH_00H)			\
702__PMC_EV(IAP, EVENT_CCH_01H)			\
703__PMC_EV(IAP, EVENT_CCH_02H)			\
704__PMC_EV(IAP, EVENT_CDH_00H)			\
705__PMC_EV(IAP, EVENT_CEH_00H)			\
706__PMC_EV(IAP, EVENT_CFH_00H)			\
707__PMC_EV(IAP, EVENT_D0H_00H)			\
708__PMC_EV(IAP, EVENT_D2H_01H)			\
709__PMC_EV(IAP, EVENT_D2H_02H)			\
710__PMC_EV(IAP, EVENT_D2H_04H)			\
711__PMC_EV(IAP, EVENT_D2H_08H)			\
712__PMC_EV(IAP, EVENT_D2H_0FH)			\
713__PMC_EV(IAP, EVENT_D2H_10H)			\
714__PMC_EV(IAP, EVENT_D4H_01H)			\
715__PMC_EV(IAP, EVENT_D4H_02H)			\
716__PMC_EV(IAP, EVENT_D4H_04H)			\
717__PMC_EV(IAP, EVENT_D4H_08H)			\
718__PMC_EV(IAP, EVENT_D4H_0FH)			\
719__PMC_EV(IAP, EVENT_D5H_01H)			\
720__PMC_EV(IAP, EVENT_D5H_02H)			\
721__PMC_EV(IAP, EVENT_D5H_04H)			\
722__PMC_EV(IAP, EVENT_D5H_08H)			\
723__PMC_EV(IAP, EVENT_D5H_0FH)			\
724__PMC_EV(IAP, EVENT_D7H_00H)			\
725__PMC_EV(IAP, EVENT_D8H_00H)			\
726__PMC_EV(IAP, EVENT_D8H_01H)			\
727__PMC_EV(IAP, EVENT_D8H_02H)			\
728__PMC_EV(IAP, EVENT_D8H_03H)			\
729__PMC_EV(IAP, EVENT_D8H_04H)			\
730__PMC_EV(IAP, EVENT_D9H_00H)			\
731__PMC_EV(IAP, EVENT_D9H_01H)			\
732__PMC_EV(IAP, EVENT_D9H_02H)			\
733__PMC_EV(IAP, EVENT_D9H_03H)			\
734__PMC_EV(IAP, EVENT_DAH_00H)			\
735__PMC_EV(IAP, EVENT_DAH_01H)			\
736__PMC_EV(IAP, EVENT_DAH_02H)			\
737__PMC_EV(IAP, EVENT_DBH_00H)			\
738__PMC_EV(IAP, EVENT_DCH_01H)			\
739__PMC_EV(IAP, EVENT_DCH_02H)			\
740__PMC_EV(IAP, EVENT_DCH_04H)			\
741__PMC_EV(IAP, EVENT_DCH_08H)			\
742__PMC_EV(IAP, EVENT_DCH_10H)			\
743__PMC_EV(IAP, EVENT_DCH_1FH)			\
744__PMC_EV(IAP, EVENT_E0H_00H)			\
745__PMC_EV(IAP, EVENT_E0H_01H)			\
746__PMC_EV(IAP, EVENT_E2H_00H)			\
747__PMC_EV(IAP, EVENT_E4H_00H)			\
748__PMC_EV(IAP, EVENT_E6H_00H)			\
749__PMC_EV(IAP, EVENT_E6H_01H)			\
750__PMC_EV(IAP, EVENT_F0H_00H)			\
751__PMC_EV(IAP, EVENT_F8H_00H)			\
752__PMC_EV(IAP, EVENT_02H_01H)			\
753__PMC_EV(IAP, EVENT_03H_01H)			\
754__PMC_EV(IAP, EVENT_05H_01H)			\
755__PMC_EV(IAP, EVENT_05H_02H)			\
756__PMC_EV(IAP, EVENT_05H_03H)			\
757__PMC_EV(IAP, EVENT_06H_01H)			\
758__PMC_EV(IAP, EVENT_06H_02H)			\
759__PMC_EV(IAP, EVENT_06H_04H)			\
760__PMC_EV(IAP, EVENT_06H_08H)			\
761__PMC_EV(IAP, EVENT_06H_0FH)			\
762__PMC_EV(IAP, EVENT_08H_10H)			\
763__PMC_EV(IAP, EVENT_08H_20H)			\
764__PMC_EV(IAP, EVENT_08H_40H)			\
765__PMC_EV(IAP, EVENT_08H_80H)			\
766__PMC_EV(IAP, EVENT_09H_04H)			\
767__PMC_EV(IAP, EVENT_09H_08H)			\
768__PMC_EV(IAP, EVENT_0BH_01H)			\
769__PMC_EV(IAP, EVENT_0BH_02H)			\
770__PMC_EV(IAP, EVENT_0EH_01H)			\
771__PMC_EV(IAP, EVENT_0EH_02H)			\
772__PMC_EV(IAP, EVENT_0FH_02H)			\
773__PMC_EV(IAP, EVENT_0FH_08H)			\
774__PMC_EV(IAP, EVENT_0FH_10H)			\
775__PMC_EV(IAP, EVENT_0FH_20H)			\
776__PMC_EV(IAP, EVENT_10H_02H)			\
777__PMC_EV(IAP, EVENT_10H_04H)			\
778__PMC_EV(IAP, EVENT_10H_08H)			\
779__PMC_EV(IAP, EVENT_10H_10H)			\
780__PMC_EV(IAP, EVENT_10H_20H)			\
781__PMC_EV(IAP, EVENT_10H_40H)			\
782__PMC_EV(IAP, EVENT_10H_80H)			\
783__PMC_EV(IAP, EVENT_12H_02H)			\
784__PMC_EV(IAP, EVENT_12H_04H)			\
785__PMC_EV(IAP, EVENT_12H_08H)			\
786__PMC_EV(IAP, EVENT_12H_10H)			\
787__PMC_EV(IAP, EVENT_12H_20H)			\
788__PMC_EV(IAP, EVENT_12H_40H)			\
789__PMC_EV(IAP, EVENT_13H_02H)			\
790__PMC_EV(IAP, EVENT_13H_04H)			\
791__PMC_EV(IAP, EVENT_13H_07H)			\
792__PMC_EV(IAP, EVENT_14H_02H)			\
793__PMC_EV(IAP, EVENT_17H_01H)			\
794__PMC_EV(IAP, EVENT_18H_01H)			\
795__PMC_EV(IAP, EVENT_1DH_01H)			\
796__PMC_EV(IAP, EVENT_1DH_02H)			\
797__PMC_EV(IAP, EVENT_1DH_04H)			\
798__PMC_EV(IAP, EVENT_1EH_01H)			\
799__PMC_EV(IAP, EVENT_24H_01H)			\
800__PMC_EV(IAP, EVENT_24H_02H)			\
801__PMC_EV(IAP, EVENT_24H_03H)			\
802__PMC_EV(IAP, EVENT_24H_04H)			\
803__PMC_EV(IAP, EVENT_24H_08H)			\
804__PMC_EV(IAP, EVENT_24H_0CH)			\
805__PMC_EV(IAP, EVENT_24H_10H)			\
806__PMC_EV(IAP, EVENT_24H_20H)			\
807__PMC_EV(IAP, EVENT_24H_30H)			\
808__PMC_EV(IAP, EVENT_24H_40H)			\
809__PMC_EV(IAP, EVENT_24H_80H)			\
810__PMC_EV(IAP, EVENT_24H_AAH)			\
811__PMC_EV(IAP, EVENT_24H_C0H)			\
812__PMC_EV(IAP, EVENT_24H_FFH)			\
813__PMC_EV(IAP, EVENT_26H_01H)			\
814__PMC_EV(IAP, EVENT_26H_02H)			\
815__PMC_EV(IAP, EVENT_26H_04H)			\
816__PMC_EV(IAP, EVENT_26H_08H)			\
817__PMC_EV(IAP, EVENT_26H_0FH)			\
818__PMC_EV(IAP, EVENT_26H_10H)			\
819__PMC_EV(IAP, EVENT_26H_20H)			\
820__PMC_EV(IAP, EVENT_26H_40H)			\
821__PMC_EV(IAP, EVENT_26H_80H)			\
822__PMC_EV(IAP, EVENT_26H_F0H)			\
823__PMC_EV(IAP, EVENT_26H_FFH)			\
824__PMC_EV(IAP, EVENT_27H_01H)			\
825__PMC_EV(IAP, EVENT_27H_02H)			\
826__PMC_EV(IAP, EVENT_27H_04H)			\
827__PMC_EV(IAP, EVENT_27H_08H)			\
828__PMC_EV(IAP, EVENT_27H_0EH)			\
829__PMC_EV(IAP, EVENT_27H_0FH)			\
830__PMC_EV(IAP, EVENT_27H_10H)			\
831__PMC_EV(IAP, EVENT_27H_20H)			\
832__PMC_EV(IAP, EVENT_27H_40H)			\
833__PMC_EV(IAP, EVENT_27H_80H)			\
834__PMC_EV(IAP, EVENT_27H_E0H)			\
835__PMC_EV(IAP, EVENT_27H_F0H)			\
836__PMC_EV(IAP, EVENT_28H_01H)			\
837__PMC_EV(IAP, EVENT_28H_02H)			\
838__PMC_EV(IAP, EVENT_28H_04H)			\
839__PMC_EV(IAP, EVENT_28H_08H)			\
840__PMC_EV(IAP, EVENT_28H_0FH)			\
841__PMC_EV(IAP, EVENT_3DH_01H)			\
842__PMC_EV(IAP, EVENT_40H_01H)			\
843__PMC_EV(IAP, EVENT_40H_02H)			\
844__PMC_EV(IAP, EVENT_40H_04H)			\
845__PMC_EV(IAP, EVENT_40H_08H)			\
846__PMC_EV(IAP, EVENT_40H_0FH)			\
847__PMC_EV(IAP, EVENT_41H_01H)			\
848__PMC_EV(IAP, EVENT_41H_02H)			\
849__PMC_EV(IAP, EVENT_41H_04H)			\
850__PMC_EV(IAP, EVENT_41H_08H)			\
851__PMC_EV(IAP, EVENT_41H_0FH)			\
852__PMC_EV(IAP, EVENT_42H_01H)			\
853__PMC_EV(IAP, EVENT_42H_02H)			\
854__PMC_EV(IAP, EVENT_42H_04H)			\
855__PMC_EV(IAP, EVENT_42H_08H)			\
856__PMC_EV(IAP, EVENT_48H_02H)			\
857__PMC_EV(IAP, EVENT_49H_10H)			\
858__PMC_EV(IAP, EVENT_49H_20H)			\
859__PMC_EV(IAP, EVENT_49H_40H)			\
860__PMC_EV(IAP, EVENT_49H_80H)			\
861__PMC_EV(IAP, EVENT_4BH_08H)			\
862__PMC_EV(IAP, EVENT_4CH_01H)			\
863__PMC_EV(IAP, EVENT_4DH_01H)			\
864__PMC_EV(IAP, EVENT_4EH_01H)			\
865__PMC_EV(IAP, EVENT_4EH_02H)			\
866__PMC_EV(IAP, EVENT_4EH_04H)			\
867__PMC_EV(IAP, EVENT_4FH_02H)			\
868__PMC_EV(IAP, EVENT_4FH_04H)			\
869__PMC_EV(IAP, EVENT_4FH_08H)			\
870__PMC_EV(IAP, EVENT_51H_01H)			\
871__PMC_EV(IAP, EVENT_51H_02H)			\
872__PMC_EV(IAP, EVENT_51H_04H)			\
873__PMC_EV(IAP, EVENT_51H_08H)			\
874__PMC_EV(IAP, EVENT_52H_01H)			\
875__PMC_EV(IAP, EVENT_53H_01H)			\
876__PMC_EV(IAP, EVENT_60H_01H)			\
877__PMC_EV(IAP, EVENT_60H_02H)			\
878__PMC_EV(IAP, EVENT_60H_04H)			\
879__PMC_EV(IAP, EVENT_60H_08H)			\
880__PMC_EV(IAP, EVENT_63H_01H)			\
881__PMC_EV(IAP, EVENT_63H_02H)			\
882__PMC_EV(IAP, EVENT_6CH_01H)			\
883__PMC_EV(IAP, EVENT_80H_01H)			\
884__PMC_EV(IAP, EVENT_80H_04H)			\
885__PMC_EV(IAP, EVENT_80H_10H)			\
886__PMC_EV(IAP, EVENT_81H_01H)			\
887__PMC_EV(IAP, EVENT_81H_02H)			\
888__PMC_EV(IAP, EVENT_82H_01H)			\
889__PMC_EV(IAP, EVENT_83H_01H)			\
890__PMC_EV(IAP, EVENT_85H_01H)			\
891__PMC_EV(IAP, EVENT_85H_02H)			\
892__PMC_EV(IAP, EVENT_85H_04H)			\
893__PMC_EV(IAP, EVENT_85H_10H)			\
894__PMC_EV(IAP, EVENT_85H_20H)			\
895__PMC_EV(IAP, EVENT_85H_40H)			\
896__PMC_EV(IAP, EVENT_85H_80H)			\
897__PMC_EV(IAP, EVENT_87H_01H)			\
898__PMC_EV(IAP, EVENT_87H_02H)			\
899__PMC_EV(IAP, EVENT_87H_04H)			\
900__PMC_EV(IAP, EVENT_87H_08H)			\
901__PMC_EV(IAP, EVENT_87H_0FH)			\
902__PMC_EV(IAP, EVENT_88H_01H)			\
903__PMC_EV(IAP, EVENT_88H_02H)			\
904__PMC_EV(IAP, EVENT_88H_04H)			\
905__PMC_EV(IAP, EVENT_88H_07H)			\
906__PMC_EV(IAP, EVENT_88H_08H)			\
907__PMC_EV(IAP, EVENT_88H_10H)			\
908__PMC_EV(IAP, EVENT_88H_20H)			\
909__PMC_EV(IAP, EVENT_88H_30H)			\
910__PMC_EV(IAP, EVENT_88H_40H)			\
911__PMC_EV(IAP, EVENT_89H_01H)			\
912__PMC_EV(IAP, EVENT_89H_02H)			\
913__PMC_EV(IAP, EVENT_89H_04H)			\
914__PMC_EV(IAP, EVENT_89H_07H)			\
915__PMC_EV(IAP, EVENT_89H_08H)			\
916__PMC_EV(IAP, EVENT_89H_10H)			\
917__PMC_EV(IAP, EVENT_89H_20H)			\
918__PMC_EV(IAP, EVENT_89H_30H)			\
919__PMC_EV(IAP, EVENT_89H_40H)			\
920__PMC_EV(IAP, EVENT_89H_7FH)			\
921__PMC_EV(IAP, EVENT_A2H_01H)			\
922__PMC_EV(IAP, EVENT_A2H_02H)			\
923__PMC_EV(IAP, EVENT_A2H_04H)			\
924__PMC_EV(IAP, EVENT_A2H_08H)			\
925__PMC_EV(IAP, EVENT_A2H_10H)			\
926__PMC_EV(IAP, EVENT_A2H_20H)			\
927__PMC_EV(IAP, EVENT_A2H_40H)			\
928__PMC_EV(IAP, EVENT_A2H_80H)			\
929__PMC_EV(IAP, EVENT_A6H_01H)			\
930__PMC_EV(IAP, EVENT_A7H_01H)			\
931__PMC_EV(IAP, EVENT_A8H_01H)			\
932__PMC_EV(IAP, EVENT_B0H_01H)			\
933__PMC_EV(IAP, EVENT_B0H_02H)			\
934__PMC_EV(IAP, EVENT_B0H_04H)			\
935__PMC_EV(IAP, EVENT_B0H_08H)			\
936__PMC_EV(IAP, EVENT_B0H_20H)			\
937__PMC_EV(IAP, EVENT_B0H_40H)			\
938__PMC_EV(IAP, EVENT_B1H_01H)			\
939__PMC_EV(IAP, EVENT_B1H_02H)			\
940__PMC_EV(IAP, EVENT_B1H_04H)			\
941__PMC_EV(IAP, EVENT_B1H_08H)			\
942__PMC_EV(IAP, EVENT_B1H_10H)			\
943__PMC_EV(IAP, EVENT_B1H_20H)			\
944__PMC_EV(IAP, EVENT_B1H_40H)			\
945__PMC_EV(IAP, EVENT_B2H_01H)			\
946__PMC_EV(IAP, EVENT_B7H_01H)			\
947__PMC_EV(IAP, EVENT_B8H_01H)			\
948__PMC_EV(IAP, EVENT_B8H_02H)			\
949__PMC_EV(IAP, EVENT_B8H_04H)			\
950__PMC_EV(IAP, EVENT_BAH_01H)			\
951__PMC_EV(IAP, EVENT_BAH_02H)			\
952__PMC_EV(IAP, EVENT_C3H_02H)			\
953__PMC_EV(IAP, EVENT_C3H_10H)			\
954__PMC_EV(IAP, EVENT_C5H_02H)			\
955__PMC_EV(IAP, EVENT_C8H_20H)			\
956__PMC_EV(IAP, EVENT_CBH_40H)			\
957__PMC_EV(IAP, EVENT_CBH_80H)			\
958__PMC_EV(IAP, EVENT_CCH_03H)			\
959__PMC_EV(IAP, EVENT_D0H_01H)			\
960__PMC_EV(IAP, EVENT_D1H_02H)			\
961__PMC_EV(IAP, EVENT_D1H_04H)			\
962__PMC_EV(IAP, EVENT_D1H_08H)			\
963__PMC_EV(IAP, EVENT_DBH_01H)			\
964__PMC_EV(IAP, EVENT_E4H_01H)			\
965__PMC_EV(IAP, EVENT_E5H_01H)			\
966__PMC_EV(IAP, EVENT_F3H_04H)			\
967__PMC_EV(IAP, EVENT_F3H_08H)			\
968__PMC_EV(IAP, EVENT_F3H_10H)			\
969__PMC_EV(IAP, EVENT_F3H_20H)			\
970__PMC_EV(IAP, EVENT_F4H_01H)			\
971__PMC_EV(IAP, EVENT_F4H_02H)			\
972__PMC_EV(IAP, EVENT_F4H_04H)			\
973__PMC_EV(IAP, EVENT_F4H_08H)			\
974__PMC_EV(IAP, EVENT_F4H_10H)			\
975__PMC_EV(IAP, EVENT_F6H_01H)			\
976__PMC_EV(IAP, EVENT_F7H_01H)			\
977__PMC_EV(IAP, EVENT_F7H_02H)			\
978__PMC_EV(IAP, EVENT_F7H_04H)			\
979__PMC_EV(IAP, EVENT_F8H_01H)			\
980__PMC_EV(IAP, EVENT_FDH_01H)			\
981__PMC_EV(IAP, EVENT_FDH_02H)			\
982__PMC_EV(IAP, EVENT_FDH_04H)			\
983__PMC_EV(IAP, EVENT_FDH_08H)			\
984__PMC_EV(IAP, EVENT_FDH_10H)			\
985__PMC_EV(IAP, EVENT_FDH_20H)			\
986__PMC_EV(IAP, EVENT_FDH_40H)			\
987__PMC_EV(IAP, EVENT_E6H_02H)			\
988__PMC_EV(IAP, EVENT_E8H_01H)			\
989__PMC_EV(IAP, EVENT_E8H_02H)			\
990__PMC_EV(IAP, EVENT_E8H_03H)			\
991__PMC_EV(IAP, EVENT_F0H_01H)			\
992__PMC_EV(IAP, EVENT_F0H_02H)			\
993__PMC_EV(IAP, EVENT_F0H_04H)			\
994__PMC_EV(IAP, EVENT_F0H_08H)			\
995__PMC_EV(IAP, EVENT_F0H_10H)			\
996__PMC_EV(IAP, EVENT_F0H_20H)			\
997__PMC_EV(IAP, EVENT_F0H_40H)			\
998__PMC_EV(IAP, EVENT_F0H_80H)			\
999__PMC_EV(IAP, EVENT_F1H_02H)			\
1000__PMC_EV(IAP, EVENT_F1H_04H)			\
1001__PMC_EV(IAP, EVENT_F1H_07H)			\
1002__PMC_EV(IAP, EVENT_F2H_01H)			\
1003__PMC_EV(IAP, EVENT_F2H_02H)			\
1004__PMC_EV(IAP, EVENT_F2H_04H)			\
1005__PMC_EV(IAP, EVENT_F2H_08H)			\
1006__PMC_EV(IAP, EVENT_F2H_0FH)			\
1007__PMC_EV(IAP, EVENT_F3H_01H)			\
1008__PMC_EV(IAP, EVENT_F3H_02H)
1009
1010
1011#define	PMC_EV_IAP_FIRST	PMC_EV_IAP_EVENT_02H_81H
1012#define	PMC_EV_IAP_LAST		PMC_EV_IAP_EVENT_FDH_40H
1013
1014/*
1015 * Map "architectural" event names to event ids.
1016 */
1017#define	__PMC_EV_ALIAS_INTEL_ARCHITECTURAL()				\
1018__PMC_EV_ALIAS("branch-instruction-retired",	IAP_EVENT_C4H_00H)	\
1019__PMC_EV_ALIAS("branch-misses-retired",		IAP_EVENT_C5H_00H)	\
1020__PMC_EV_ALIAS("instruction-retired",		IAP_EVENT_C0H_00H)	\
1021__PMC_EV_ALIAS("llc-misses",			IAP_EVENT_2EH_41H)	\
1022__PMC_EV_ALIAS("llc-reference",			IAP_EVENT_2EH_4FH)	\
1023__PMC_EV_ALIAS("unhalted-reference-cycles",	IAP_EVENT_3CH_01H)	\
1024__PMC_EV_ALIAS("unhalted-core-cycles",		IAP_EVENT_3CH_00H)
1025
1026/*
1027 * Aliases for Atom PMCs.
1028 */
1029#define	__PMC_EV_ALIAS_ATOM()						\
1030__PMC_EV_ALIAS_INTEL_ARCHITECTURAL()					\
1031__PMC_EV_ALIAS("BACLEARS",			IAP_EVENT_E6H_01H)	\
1032__PMC_EV_ALIAS("BOGUS_BR",			IAP_EVENT_E4H_00H)	\
1033__PMC_EV_ALIAS("BR_BAC_MISSP_EXEC",		IAP_EVENT_8AH_00H)	\
1034__PMC_EV_ALIAS("BR_CALL_EXEC",			IAP_EVENT_92H_00H)	\
1035__PMC_EV_ALIAS("BR_CALL_MISSP_EXEC",		IAP_EVENT_93H_00H)	\
1036__PMC_EV_ALIAS("BR_CND_EXEC",			IAP_EVENT_8BH_00H)	\
1037__PMC_EV_ALIAS("BR_CND_MISSP_EXEC",		IAP_EVENT_8CH_00H)	\
1038__PMC_EV_ALIAS("BR_IND_CALL_EXEC",		IAP_EVENT_94H_00H)	\
1039__PMC_EV_ALIAS("BR_IND_EXEC",			IAP_EVENT_8DH_00H)	\
1040__PMC_EV_ALIAS("BR_IND_MISSP_EXEC",		IAP_EVENT_8EH_00H)	\
1041__PMC_EV_ALIAS("BR_INST_DECODED",		IAP_EVENT_E0H_01H)	\
1042__PMC_EV_ALIAS("BR_INST_EXEC",			IAP_EVENT_88H_00H)	\
1043__PMC_EV_ALIAS("BR_INST_RETIRED.ANY",		IAP_EVENT_C4H_00H)	\
1044__PMC_EV_ALIAS("BR_INST_RETIRED.ANY1",		IAP_EVENT_C4H_0FH)	\
1045__PMC_EV_ALIAS("BR_INST_RETIRED.MISPRED",	IAP_EVENT_C5H_00H)	\
1046__PMC_EV_ALIAS("BR_INST_RETIRED.MISPRED_NOT_TAKEN",			\
1047    IAP_EVENT_C4H_02H)							\
1048__PMC_EV_ALIAS("BR_INST_RETIRED.MISPRED_TAKEN",	IAP_EVENT_C4H_08H)	\
1049__PMC_EV_ALIAS("BR_INST_RETIRED.PRED_NOT_TAKEN",IAP_EVENT_C4H_01H)	\
1050__PMC_EV_ALIAS("BR_INST_RETIRED.PRED_TAKEN",	IAP_EVENT_C4H_04H)	\
1051__PMC_EV_ALIAS("BR_INST_RETIRED.TAKEN",		IAP_EVENT_C4H_0CH)	\
1052__PMC_EV_ALIAS("BR_MISSP_EXEC",			IAP_EVENT_89H_00H)	\
1053__PMC_EV_ALIAS("BR_RET_BAC_MISSP_EXEC",		IAP_EVENT_91H_00H)	\
1054__PMC_EV_ALIAS("BR_RET_EXEC",			IAP_EVENT_8FH_00H)	\
1055__PMC_EV_ALIAS("BR_RET_MISSP_EXEC",		IAP_EVENT_90H_00H)	\
1056__PMC_EV_ALIAS("BR_TKN_BUBBLE_1",		IAP_EVENT_97H_00H)	\
1057__PMC_EV_ALIAS("BR_TKN_BUBBLE_2",		IAP_EVENT_98H_00H)	\
1058__PMC_EV_ALIAS("BUSQ_EMPTY",			IAP_EVENT_7DH)		\
1059__PMC_EV_ALIAS("BUS_BNR_DRV",			IAP_EVENT_61H)		\
1060__PMC_EV_ALIAS("BUS_DATA_RCV",			IAP_EVENT_64H)		\
1061__PMC_EV_ALIAS("BUS_DRDY_CLOCKS",		IAP_EVENT_62H)		\
1062__PMC_EV_ALIAS("BUS_HITM_DRV",			IAP_EVENT_7BH)		\
1063__PMC_EV_ALIAS("BUS_HIT_DRV",			IAP_EVENT_7AH)		\
1064__PMC_EV_ALIAS("BUS_IO_WAIT",			IAP_EVENT_7FH)		\
1065__PMC_EV_ALIAS("BUS_LOCK_CLOCKS",		IAP_EVENT_63H)		\
1066__PMC_EV_ALIAS("BUS_REQUEST_OUTSTANDING",	IAP_EVENT_60H)		\
1067__PMC_EV_ALIAS("BUS_TRANS_ANY",			IAP_EVENT_70H)		\
1068__PMC_EV_ALIAS("BUS_TRANS_BRD",			IAP_EVENT_65H)		\
1069__PMC_EV_ALIAS("BUS_TRANS_BURST",		IAP_EVENT_6EH)		\
1070__PMC_EV_ALIAS("BUS_TRANS_DEF",			IAP_EVENT_6DH)		\
1071__PMC_EV_ALIAS("BUS_TRANS_IFETCH",		IAP_EVENT_68H)		\
1072__PMC_EV_ALIAS("BUS_TRANS_INVAL",		IAP_EVENT_69H)		\
1073__PMC_EV_ALIAS("BUS_TRANS_IO",			IAP_EVENT_6CH)		\
1074__PMC_EV_ALIAS("BUS_TRANS_MEM",			IAP_EVENT_6FH)		\
1075__PMC_EV_ALIAS("BUS_TRANS_P",			IAP_EVENT_6BH)		\
1076__PMC_EV_ALIAS("BUS_TRANS_PWR",			IAP_EVENT_6AH)		\
1077__PMC_EV_ALIAS("BUS_TRANS_RFO",			IAP_EVENT_66H)		\
1078__PMC_EV_ALIAS("BUS_TRANS_WB",			IAP_EVENT_67H)		\
1079__PMC_EV_ALIAS("CMP_SNOOP",			IAP_EVENT_78H)		\
1080__PMC_EV_ALIAS("CPU_CLK_UNHALTED.BUS",		IAP_EVENT_3CH_01H)	\
1081__PMC_EV_ALIAS("CPU_CLK_UNHALTED.CORE_P",	IAP_EVENT_3CH_00H)	\
1082__PMC_EV_ALIAS("CPU_CLK_UNHALTED.NO_OTHER",	IAP_EVENT_3CH_02H)	\
1083__PMC_EV_ALIAS("CYCLES_DIV_BUSY",		IAP_EVENT_14H_01H)	\
1084__PMC_EV_ALIAS("CYCLES_INT_MASKED.CYCLES_INT_MASKED",			\
1085    IAP_EVENT_C6H_01H)							\
1086__PMC_EV_ALIAS("CYCLES_INT_MASKED.CYCLES_INT_PENDING_AND_MASKED",	\
1087    IAP_EVENT_C6H_02H)							\
1088__PMC_EV_ALIAS("CYCLES_L1I_MEM_STALLED",	IAP_EVENT_86H_00H)	\
1089__PMC_EV_ALIAS("DATA_TLB_MISSES.DTLB_MISS",	IAP_EVENT_08H_07H)	\
1090__PMC_EV_ALIAS("DATA_TLB_MISSES.DTLB_MISS_LD",	IAP_EVENT_08H_05H)	\
1091__PMC_EV_ALIAS("DATA_TLB_MISSES.DTLB_MISS_ST",	IAP_EVENT_08H_06H)	\
1092__PMC_EV_ALIAS("DATA_TLB_MISSES.UTLB_MISS_LD",	IAP_EVENT_08H_09H)	\
1093__PMC_EV_ALIAS("DELAYED_BYPASS.FP",		IAP_EVENT_19H_00H)	\
1094__PMC_EV_ALIAS("DELAYED_BYPASS.LOAD",		IAP_EVENT_19H_01H)	\
1095__PMC_EV_ALIAS("DELAYED_BYPASS.SIMD",		IAP_EVENT_19H_02H)	\
1096__PMC_EV_ALIAS("DIV",				IAP_EVENT_13H_00H)	\
1097__PMC_EV_ALIAS("DIV.AR",			IAP_EVENT_13H_81H)	\
1098__PMC_EV_ALIAS("DIV.S",				IAP_EVENT_13H_01H)	\
1099__PMC_EV_ALIAS("DTLB_MISSES.ANY",		IAP_EVENT_08H_01H)	\
1100__PMC_EV_ALIAS("DTLB_MISSES.L0_MISS_LD",	IAP_EVENT_08H_04H)	\
1101__PMC_EV_ALIAS("DTLB_MISSES.MISS_LD",		IAP_EVENT_08H_02H)	\
1102__PMC_EV_ALIAS("DTLB_MISSES.MISS_ST",		IAP_EVENT_08H_08H)	\
1103__PMC_EV_ALIAS("EIST_TRANS",			IAP_EVENT_3AH_00H)	\
1104__PMC_EV_ALIAS("ESP.ADDITIONS",			IAP_EVENT_ABH_02H)	\
1105__PMC_EV_ALIAS("ESP.SYNCH",			IAP_EVENT_ABH_01H)	\
1106__PMC_EV_ALIAS("EXT_SNOOP",			IAP_EVENT_77H)		\
1107__PMC_EV_ALIAS("FP_ASSIST",			IAP_EVENT_11H_01H)	\
1108__PMC_EV_ALIAS("FP_ASSIST.AR",			IAP_EVENT_11H_81H)	\
1109__PMC_EV_ALIAS("FP_COMP_OPS_EXE",		IAP_EVENT_10H_00H)	\
1110__PMC_EV_ALIAS("FP_MMX_TRANS_TO_FP",		IAP_EVENT_CCH_02H)	\
1111__PMC_EV_ALIAS("FP_MMX_TRANS_TO_MMX",		IAP_EVENT_CCH_01H)	\
1112__PMC_EV_ALIAS("HW_INT_RCV",			IAP_EVENT_C8H_00H)	\
1113__PMC_EV_ALIAS("ICACHE.ACCESSES",		IAP_EVENT_80H_03H)	\
1114__PMC_EV_ALIAS("ICACHE.MISSES",			IAP_EVENT_80H_02H)	\
1115__PMC_EV_ALIAS("IDLE_DURING_DIV",		IAP_EVENT_18H_00H)	\
1116__PMC_EV_ALIAS("ILD_STALL",			IAP_EVENT_87H_00H)	\
1117__PMC_EV_ALIAS("INST_QUEUE.FULL",		IAP_EVENT_83H_02H)	\
1118__PMC_EV_ALIAS("INST_RETIRED.ANY_P",		IAP_EVENT_C0H_00H)	\
1119__PMC_EV_ALIAS("INST_RETIRED.LOADS",		IAP_EVENT_C0H_01H)	\
1120__PMC_EV_ALIAS("INST_RETIRED.OTHER",		IAP_EVENT_C0H_04H)	\
1121__PMC_EV_ALIAS("INST_RETIRED.STORES",		IAP_EVENT_C0H_02H)	\
1122__PMC_EV_ALIAS("ITLB.FLUSH",			IAP_EVENT_82H_04H)	\
1123__PMC_EV_ALIAS("ITLB.LARGE_MISS",		IAP_EVENT_82H_10H)	\
1124__PMC_EV_ALIAS("ITLB.MISSES",			IAP_EVENT_82H_02H)	\
1125__PMC_EV_ALIAS("ITLB.SMALL_MISS",		IAP_EVENT_82H_02H)	\
1126__PMC_EV_ALIAS("ITLB_MISS_RETIRED",		IAP_EVENT_C9H_00H)	\
1127__PMC_EV_ALIAS("L1D_ALL_CACHE_REF",		IAP_EVENT_43H_02H)	\
1128__PMC_EV_ALIAS("L1D_ALL_REF",			IAP_EVENT_43H_01H)	\
1129__PMC_EV_ALIAS("L1D_CACHE.LD",			IAP_EVENT_40H_21H)	\
1130__PMC_EV_ALIAS("L1D_CACHE.ST",			IAP_EVENT_41H_22H)	\
1131__PMC_EV_ALIAS("L1D_CACHE_LOCK",		IAP_EVENT_42H)		\
1132__PMC_EV_ALIAS("L1D_CACHE_LOCK_DURATION",	IAP_EVENT_42H_10H)	\
1133__PMC_EV_ALIAS("L1D_M_EVICT",			IAP_EVENT_47H_00H)	\
1134__PMC_EV_ALIAS("L1D_M_REPL",			IAP_EVENT_46H_00H)	\
1135__PMC_EV_ALIAS("L1D_PEND_MISS",			IAP_EVENT_48H_00H)	\
1136__PMC_EV_ALIAS("L1D_PREFETCH.REQUESTS",		IAP_EVENT_4EH_10H)	\
1137__PMC_EV_ALIAS("L1D_REPL",			IAP_EVENT_45H_0FH)	\
1138__PMC_EV_ALIAS("L1D_SPLIT.LOADS",		IAP_EVENT_49H_01H)	\
1139__PMC_EV_ALIAS("L1D_SPLIT.STORES",		IAP_EVENT_49H_02H)	\
1140__PMC_EV_ALIAS("L1I_MISSES",			IAP_EVENT_81H_00H)	\
1141__PMC_EV_ALIAS("L1I_READS",			IAP_EVENT_80H_00H)	\
1142__PMC_EV_ALIAS("L2_ADS",			IAP_EVENT_21H)		\
1143__PMC_EV_ALIAS("L2_DBUS_BUSY_RD",		IAP_EVENT_23H)		\
1144__PMC_EV_ALIAS("L2_IFETCH",			IAP_EVENT_28H)		\
1145__PMC_EV_ALIAS("L2_LD",				IAP_EVENT_29H)		\
1146__PMC_EV_ALIAS("L2_LINES_IN",			IAP_EVENT_24H)		\
1147__PMC_EV_ALIAS("L2_LINES_OUT",			IAP_EVENT_26H)		\
1148__PMC_EV_ALIAS("L2_LOCK",			IAP_EVENT_2BH)		\
1149__PMC_EV_ALIAS("L2_M_LINES_IN",			IAP_EVENT_25H)		\
1150__PMC_EV_ALIAS("L2_M_LINES_OUT",		IAP_EVENT_27H)		\
1151__PMC_EV_ALIAS("L2_NO_REQ",			IAP_EVENT_32H)		\
1152__PMC_EV_ALIAS("L2_REJECT_BUSQ",		IAP_EVENT_30H)		\
1153__PMC_EV_ALIAS("L2_RQSTS",			IAP_EVENT_2EH)		\
1154__PMC_EV_ALIAS("L2_RQSTS.SELF.DEMAND.I_STATE",	IAP_EVENT_2EH_41H)	\
1155__PMC_EV_ALIAS("L2_RQSTS.SELF.DEMAND.MESI",	IAP_EVENT_2EH_4FH)	\
1156__PMC_EV_ALIAS("L2_ST",				IAP_EVENT_2AH)		\
1157__PMC_EV_ALIAS("LOAD_BLOCK.L1D",		IAP_EVENT_03H_20H)	\
1158__PMC_EV_ALIAS("LOAD_BLOCK.OVERLAP_STORE",	IAP_EVENT_03H_08H)	\
1159__PMC_EV_ALIAS("LOAD_BLOCK.STA",		IAP_EVENT_03H_02H)	\
1160__PMC_EV_ALIAS("LOAD_BLOCK.STD",		IAP_EVENT_03H_04H)	\
1161__PMC_EV_ALIAS("LOAD_BLOCK.UNTIL_RETIRE",	IAP_EVENT_03H_10H)	\
1162__PMC_EV_ALIAS("LOAD_HIT_PRE",			IAP_EVENT_4CH_00H)	\
1163__PMC_EV_ALIAS("MACHINE_CLEARS.SMC",		IAP_EVENT_C3H_01H)	\
1164__PMC_EV_ALIAS("MACHINE_NUKES.MEM_ORDER",	IAP_EVENT_C3H_04H)	\
1165__PMC_EV_ALIAS("MACRO_INSTS.ALL_DECODED",	IAP_EVENT_AAH_03H)	\
1166__PMC_EV_ALIAS("MACRO_INSTS.CISC_DECODED",	IAP_EVENT_AAH_02H)	\
1167__PMC_EV_ALIAS("MEMORY_DISAMBIGUATION.RESET",	IAP_EVENT_09H_01H)	\
1168__PMC_EV_ALIAS("MEMORY_DISAMBIGUATION.SUCCESS",	IAP_EVENT_09H_02H)	\
1169__PMC_EV_ALIAS("MEM_LOAD_RETIRED.DTLB_MISS",	IAP_EVENT_CBH_04H)	\
1170__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L2_HIT",	IAP_EVENT_CBH_01H)	\
1171__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L2_LINE_MISS",	IAP_EVENT_CBH_08H)	\
1172__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L2_MISS",	IAP_EVENT_CBH_02H)	\
1173__PMC_EV_ALIAS("MUL",				IAP_EVENT_12H_00H)	\
1174__PMC_EV_ALIAS("MUL.AR",			IAP_EVENT_12H_81H)	\
1175__PMC_EV_ALIAS("MUL.S",				IAP_EVENT_12H_01H)	\
1176__PMC_EV_ALIAS("PAGE_WALKS.CYCLES",		IAP_EVENT_0CH_03H)	\
1177__PMC_EV_ALIAS("PAGE_WALKS.WALKS",		IAP_EVENT_0CH_03H)	\
1178__PMC_EV_ALIAS("PREFETCH.PREFETCHNTA",		IAP_EVENT_07H_08H)	\
1179__PMC_EV_ALIAS("PREFETCH.PREFETCHT0",		IAP_EVENT_07H_01H)	\
1180__PMC_EV_ALIAS("PREFETCH.SW_L2",		IAP_EVENT_07H_06H)	\
1181__PMC_EV_ALIAS("PREF_RQSTS_DN",			IAP_EVENT_F8H_00H)	\
1182__PMC_EV_ALIAS("PREF_RQSTS_UP",			IAP_EVENT_F0H_00H)	\
1183__PMC_EV_ALIAS("RAT_STALLS.ANY",		IAP_EVENT_D2H_0FH)	\
1184__PMC_EV_ALIAS("RAT_STALLS.FLAGS",		IAP_EVENT_D2H_04H)	\
1185__PMC_EV_ALIAS("RAT_STALLS.FPSW",		IAP_EVENT_D2H_08H)	\
1186__PMC_EV_ALIAS("RAT_STALLS.PARTIAL_CYCLES",	IAP_EVENT_D2H_02H)	\
1187__PMC_EV_ALIAS("RAT_STALLS.ROB_READ_PORT",	IAP_EVENT_D2H_01H)	\
1188__PMC_EV_ALIAS("RESOURCE_STALLS.ANY",		IAP_EVENT_DCH_1FH)	\
1189__PMC_EV_ALIAS("RESOURCE_STALLS.BR_MISS_CLEAR",	IAP_EVENT_DCH_10H)	\
1190__PMC_EV_ALIAS("RESOURCE_STALLS.FPCW",		IAP_EVENT_DCH_08H)	\
1191__PMC_EV_ALIAS("RESOURCE_STALLS.LD_ST",		IAP_EVENT_DCH_04H)	\
1192__PMC_EV_ALIAS("RESOURCE_STALLS.ROB_FULL",	IAP_EVENT_DCH_01H)	\
1193__PMC_EV_ALIAS("RESOURCE_STALLS.RS_FULL",	IAP_EVENT_DCH_02H)	\
1194__PMC_EV_ALIAS("RS_UOPS_DISPATCHED",		IAP_EVENT_A0H_00H)	\
1195__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT0",	IAP_EVENT_A1H_01H)	\
1196__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT1",	IAP_EVENT_A1H_02H)	\
1197__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT2",	IAP_EVENT_A1H_04H)	\
1198__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT3",	IAP_EVENT_A1H_08H)	\
1199__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT4",	IAP_EVENT_A1H_10H)	\
1200__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT5",	IAP_EVENT_A1H_20H)	\
1201__PMC_EV_ALIAS("SB_DRAIN_CYCLES",		IAP_EVENT_04H_01H)	\
1202__PMC_EV_ALIAS("SEGMENT_REG_LOADS.ANY",		IAP_EVENT_06H_00H)	\
1203__PMC_EV_ALIAS("SEG_REG_RENAMES.ANY",		IAP_EVENT_D5H_0FH)	\
1204__PMC_EV_ALIAS("SEG_REG_RENAMES.DS",		IAP_EVENT_D5H_02H)	\
1205__PMC_EV_ALIAS("SEG_REG_RENAMES.ES",		IAP_EVENT_D5H_01H)	\
1206__PMC_EV_ALIAS("SEG_REG_RENAMES.FS",		IAP_EVENT_D5H_04H)	\
1207__PMC_EV_ALIAS("SEG_REG_RENAMES.GS",		IAP_EVENT_D5H_08H)	\
1208__PMC_EV_ALIAS("SEG_RENAME_STALLS.ANY",		IAP_EVENT_D4H_0FH)	\
1209__PMC_EV_ALIAS("SEG_RENAME_STALLS.DS",		IAP_EVENT_D4H_02H)	\
1210__PMC_EV_ALIAS("SEG_RENAME_STALLS.ES",		IAP_EVENT_D4H_01H)	\
1211__PMC_EV_ALIAS("SEG_RENAME_STALLS.FS",		IAP_EVENT_D4H_04H)	\
1212__PMC_EV_ALIAS("SEG_RENAME_STALLS.GS",		IAP_EVENT_D4H_08H)	\
1213__PMC_EV_ALIAS("SIMD_ASSIST",			IAP_EVENT_CDH_00H)	\
1214__PMC_EV_ALIAS("SIMD_COMP_INST_RETIRED.PACKED_DOUBLE",			\
1215    IAP_EVENT_CAH_04H)							\
1216__PMC_EV_ALIAS("SIMD_COMP_INST_RETIRED.PACKED_SINGLE",			\
1217    IAP_EVENT_CAH_01H)							\
1218__PMC_EV_ALIAS("SIMD_COMP_INST_RETIRED.SCALAR_DOUBLE",			\
1219    IAP_EVENT_CAH_08H)							\
1220__PMC_EV_ALIAS("SIMD_COMP_INST_RETIRED.SCALAR_SINGLE",			\
1221    IAP_EVENT_CAH_02H)							\
1222__PMC_EV_ALIAS("SIMD_INSTR_RETIRED",		IAP_EVENT_CEH_00H)	\
1223__PMC_EV_ALIAS("SIMD_INST_RETIRED.ANY",		IAP_EVENT_C7H_1FH)	\
1224__PMC_EV_ALIAS("SIMD_INST_RETIRED.PACKED_DOUBLE", IAP_EVENT_C7H_04H)	\
1225__PMC_EV_ALIAS("SIMD_INST_RETIRED.PACKED_SINGLE", IAP_EVENT_C7H_01H)	\
1226__PMC_EV_ALIAS("SIMD_INST_RETIRED.SCALAR_DOUBLE", IAP_EVENT_C7H_08H)	\
1227__PMC_EV_ALIAS("SIMD_INST_RETIRED.SCALAR_SINGLE", IAP_EVENT_C7H_02H)	\
1228__PMC_EV_ALIAS("SIMD_INST_RETIRED.VECTOR",	IAP_EVENT_C7H_10H)	\
1229__PMC_EV_ALIAS("SIMD_SAT_INSTR_RETIRED",	IAP_EVENT_CFH_00H)	\
1230__PMC_EV_ALIAS("SIMD_SAT_UOP_EXEC.AR",		IAP_EVENT_B1H_80H)	\
1231__PMC_EV_ALIAS("SIMD_SAT_UOP_EXEC.S",		IAP_EVENT_B1H_00H)	\
1232__PMC_EV_ALIAS("SIMD_UOPS_EXEC.AR",		IAP_EVENT_B0H_80H)	\
1233__PMC_EV_ALIAS("SIMD_UOPS_EXEC.S",		IAP_EVENT_B0H_00H)	\
1234__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.ARITHMETIC.AR", IAP_EVENT_B3H_A0H)	\
1235__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.ARITHMETIC.S",  IAP_EVENT_B3H_20H)	\
1236__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.LOGICAL.AR",	IAP_EVENT_B3H_90H)	\
1237__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.LOGICAL.S",	IAP_EVENT_B3H_10H)	\
1238__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.MUL.AR",	IAP_EVENT_B3H_81H)	\
1239__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.MUL.S",	IAP_EVENT_B3H_01H)	\
1240__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.PACK.AR",	IAP_EVENT_B3H_84H)	\
1241__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.PACK.S",	IAP_EVENT_B3H_04H)	\
1242__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.SHIFT.AR",	IAP_EVENT_B3H_82H)	\
1243__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.SHIFT.S",	IAP_EVENT_B3H_02H)	\
1244__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.UNPACK.AR",	IAP_EVENT_B3H_88H)	\
1245__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.UNPACK.S",	IAP_EVENT_B3H_08H)	\
1246__PMC_EV_ALIAS("SNOOP_STALL_DRV",		IAP_EVENT_7EH)		\
1247__PMC_EV_ALIAS("SSE_PRE_EXEC.L2",		IAP_EVENT_07H_02H)	\
1248__PMC_EV_ALIAS("SSE_PRE_EXEC.STORES",		IAP_EVENT_07H_03H)	\
1249__PMC_EV_ALIAS("SSE_PRE_MISS.L1",		IAP_EVENT_4BH_01H)	\
1250__PMC_EV_ALIAS("SSE_PRE_MISS.L2",		IAP_EVENT_4BH_02H)	\
1251__PMC_EV_ALIAS("SSE_PRE_MISS.NTA",		IAP_EVENT_4BH_00H)	\
1252__PMC_EV_ALIAS("STORE_BLOCK.ORDER",		IAP_EVENT_04H_02H)	\
1253__PMC_EV_ALIAS("STORE_BLOCK.SNOOP",		IAP_EVENT_04H_08H)	\
1254__PMC_EV_ALIAS("STORE_FORWARDS.GOOD",		IAP_EVENT_02H_81H)	\
1255__PMC_EV_ALIAS("THERMAL_TRIP",			IAP_EVENT_3BH_C0H)	\
1256__PMC_EV_ALIAS("UOPS_RETIRED.ANY",		IAP_EVENT_C2H_10H)	\
1257__PMC_EV_ALIAS("UOPS_RETIRED.FUSED",		IAP_EVENT_C2H_07H)	\
1258__PMC_EV_ALIAS("UOPS_RETIRED.LD_IND_BR",	IAP_EVENT_C2H_01H)	\
1259__PMC_EV_ALIAS("UOPS_RETIRED.MACRO_FUSION",	IAP_EVENT_C2H_04H)	\
1260__PMC_EV_ALIAS("UOPS_RETIRED.NON_FUSED",	IAP_EVENT_C2H_08H)	\
1261__PMC_EV_ALIAS("UOPS_RETIRED.STD_STA",		IAP_EVENT_C2H_02H)	\
1262__PMC_EV_ALIAS("X87_COMP_OPS_EXE.ANY.AR",	IAP_EVENT_10H_81H)	\
1263__PMC_EV_ALIAS("X87_COMP_OPS_EXE.ANY.S",	IAP_EVENT_10H_01H)	\
1264__PMC_EV_ALIAS("X87_OPS_RETIRED.ANY",		IAP_EVENT_C1H_FEH)	\
1265__PMC_EV_ALIAS("X87_OPS_RETIRED.FXCH",		IAP_EVENT_C1H_01H)
1266
1267/*
1268 * Aliases for Core PMC events.
1269 */
1270#define	__PMC_EV_ALIAS_CORE()					\
1271__PMC_EV_ALIAS_INTEL_ARCHITECTURAL()				\
1272__PMC_EV_ALIAS("BAClears",		IAP_EVENT_E6H_00H)	\
1273__PMC_EV_ALIAS("BTB_Misses",		IAP_EVENT_E2H_00H)	\
1274__PMC_EV_ALIAS("Br_BAC_Missp_Exec",	IAP_EVENT_8AH_00H)	\
1275__PMC_EV_ALIAS("Br_Bogus",		IAP_EVENT_E4H_00H)	\
1276__PMC_EV_ALIAS("Br_Call_Exec",		IAP_EVENT_92H_00H)	\
1277__PMC_EV_ALIAS("Br_Call_Missp_Exec",	IAP_EVENT_93H_00H)	\
1278__PMC_EV_ALIAS("Br_Cnd_Exec",		IAP_EVENT_8BH_00H)	\
1279__PMC_EV_ALIAS("Br_Cnd_Missp_Exec",	IAP_EVENT_8CH_00H)	\
1280__PMC_EV_ALIAS("Br_Ind_Call_Exec",	IAP_EVENT_94H_00H)	\
1281__PMC_EV_ALIAS("Br_Ind_Exec",		IAP_EVENT_8DH_00H)	\
1282__PMC_EV_ALIAS("Br_Ind_Missp_Exec",	IAP_EVENT_8EH_00H)	\
1283__PMC_EV_ALIAS("Br_Inst_Exec",		IAP_EVENT_88H_00H)	\
1284__PMC_EV_ALIAS("Br_Instr_Decoded",	IAP_EVENT_E0H_00H)	\
1285__PMC_EV_ALIAS("Br_Instr_Ret",		IAP_EVENT_C4H_00H)	\
1286__PMC_EV_ALIAS("Br_MisPred_Ret",	IAP_EVENT_C5H_00H)	\
1287__PMC_EV_ALIAS("Br_MisPred_Taken_Ret",	IAP_EVENT_CAH_00H)	\
1288__PMC_EV_ALIAS("Br_Missp_Exec",		IAP_EVENT_89H_00H)	\
1289__PMC_EV_ALIAS("Br_Ret_BAC_Missp_Exec",	IAP_EVENT_91H_00H)	\
1290__PMC_EV_ALIAS("Br_Ret_Exec",		IAP_EVENT_8FH_00H)	\
1291__PMC_EV_ALIAS("Br_Ret_Missp_Exec",	IAP_EVENT_90H_00H)	\
1292__PMC_EV_ALIAS("Br_Taken_Ret",		IAP_EVENT_C9H_00H)	\
1293__PMC_EV_ALIAS("Bus_BNR_Clocks",	IAP_EVENT_61H_00H)	\
1294__PMC_EV_ALIAS("Bus_DRDY_Clocks",	IAP_EVENT_62H_00H)	\
1295__PMC_EV_ALIAS("Bus_Data_Rcv",		IAP_EVENT_64H_40H)	\
1296__PMC_EV_ALIAS("Bus_Locks_Clocks",	IAP_EVENT_63H)		\
1297__PMC_EV_ALIAS("Bus_Not_In_Use",	IAP_EVENT_7DH)		\
1298__PMC_EV_ALIAS("Bus_Req_Outstanding",	IAP_EVENT_60H)		\
1299__PMC_EV_ALIAS("Bus_Snoop_Stall",	IAP_EVENT_7EH_00H)	\
1300__PMC_EV_ALIAS("Bus_Snoops",		IAP_EVENT_77H)		\
1301__PMC_EV_ALIAS("Bus_Trans_Any",		IAP_EVENT_70H)		\
1302__PMC_EV_ALIAS("Bus_Trans_Brd",		IAP_EVENT_65H)		\
1303__PMC_EV_ALIAS("Bus_Trans_Burst",	IAP_EVENT_6EH)		\
1304__PMC_EV_ALIAS("Bus_Trans_Def",		IAP_EVENT_6DH)		\
1305__PMC_EV_ALIAS("Bus_Trans_IO",		IAP_EVENT_6CH)		\
1306__PMC_EV_ALIAS("Bus_Trans_Ifetch",	IAP_EVENT_68H)		\
1307__PMC_EV_ALIAS("Bus_Trans_Inval",	IAP_EVENT_69H)		\
1308__PMC_EV_ALIAS("Bus_Trans_Mem",		IAP_EVENT_6FH)		\
1309__PMC_EV_ALIAS("Bus_Trans_P",		IAP_EVENT_6BH)		\
1310__PMC_EV_ALIAS("Bus_Trans_Pwr",		IAP_EVENT_6AH)		\
1311__PMC_EV_ALIAS("Bus_Trans_RFO",		IAP_EVENT_66H)		\
1312__PMC_EV_ALIAS("Bus_Trans_WB",		IAP_EVENT_67H)		\
1313__PMC_EV_ALIAS("Cycles_Div_Busy",	IAP_EVENT_14H_00H)	\
1314__PMC_EV_ALIAS("Cycles_Int_Masked",	IAP_EVENT_C6H_00H)	\
1315__PMC_EV_ALIAS("Cycles_Int_Pending_Masked", IAP_EVENT_C7H_00H)	\
1316__PMC_EV_ALIAS("DCU_Snoop_To_Share",	IAP_EVENT_78H)		\
1317__PMC_EV_ALIAS("DCache_Cache_LD",	IAP_EVENT_40H)		\
1318__PMC_EV_ALIAS("DCache_Cache_Lock",	IAP_EVENT_42H)		\
1319__PMC_EV_ALIAS("DCache_Cache_ST",	IAP_EVENT_41H)		\
1320__PMC_EV_ALIAS("DCache_M_Evict",	IAP_EVENT_47H_00H)	\
1321__PMC_EV_ALIAS("DCache_M_Repl",		IAP_EVENT_46H_00H)	\
1322__PMC_EV_ALIAS("DCache_Pend_Miss",	IAP_EVENT_48H_00H)	\
1323__PMC_EV_ALIAS("DCache_Repl",		IAP_EVENT_45H_0FH)	\
1324__PMC_EV_ALIAS("Data_Mem_Cache_Ref",	IAP_EVENT_44H_02H)	\
1325__PMC_EV_ALIAS("Data_Mem_Ref",		IAP_EVENT_43H_01H)	\
1326__PMC_EV_ALIAS("Dbus_Busy",		IAP_EVENT_22H)		\
1327__PMC_EV_ALIAS("Dbus_Busy_Rd",		IAP_EVENT_23H)		\
1328__PMC_EV_ALIAS("Div",			IAP_EVENT_13H_00H)	\
1329__PMC_EV_ALIAS("Dtlb_Miss",		IAP_EVENT_49H_00H)	\
1330__PMC_EV_ALIAS("ESP_Uops",		IAP_EVENT_D7H_00H)	\
1331__PMC_EV_ALIAS("EST_Trans",		IAP_EVENT_3AH)		\
1332__PMC_EV_ALIAS("FP_Assist",		IAP_EVENT_11H_00H)	\
1333__PMC_EV_ALIAS("FP_Comp_Instr_Ret",	IAP_EVENT_C1H_00H)	\
1334__PMC_EV_ALIAS("FP_Comps_Op_Exe",	IAP_EVENT_10H_00H)	\
1335__PMC_EV_ALIAS("FP_MMX_Trans",		IAP_EVENT_CCH_01H)	\
1336__PMC_EV_ALIAS("Fused_Ld_Uops_Ret",	IAP_EVENT_DAH_01H)	\
1337__PMC_EV_ALIAS("Fused_St_Uops_Ret",	IAP_EVENT_DAH_02H)	\
1338__PMC_EV_ALIAS("Fused_Uops_Ret",	IAP_EVENT_DAH_00H)	\
1339__PMC_EV_ALIAS("HW_Int_Rx",		IAP_EVENT_C8H_00H)	\
1340__PMC_EV_ALIAS("ICache_Misses",		IAP_EVENT_81H_00H)	\
1341__PMC_EV_ALIAS("ICache_Reads",		IAP_EVENT_80H_00H)	\
1342__PMC_EV_ALIAS("IFU_Mem_Stall",		IAP_EVENT_86H_00H)	\
1343__PMC_EV_ALIAS("ILD_Stall",		IAP_EVENT_87H_00H)	\
1344__PMC_EV_ALIAS("ITLB_Misses",		IAP_EVENT_85H_00H)	\
1345__PMC_EV_ALIAS("Instr_Decoded",		IAP_EVENT_D0H_00H)	\
1346__PMC_EV_ALIAS("Instr_Ret",		IAP_EVENT_C0H_00H)	\
1347__PMC_EV_ALIAS("L1_Pref_Req",		IAP_EVENT_4FH_00H)	\
1348__PMC_EV_ALIAS("L2_ADS",		IAP_EVENT_21H)		\
1349__PMC_EV_ALIAS("L2_IFetch",		IAP_EVENT_28H)		\
1350__PMC_EV_ALIAS("L2_LD",			IAP_EVENT_29H)		\
1351__PMC_EV_ALIAS("L2_Lines_In",		IAP_EVENT_24H)		\
1352__PMC_EV_ALIAS("L2_Lines_Out",		IAP_EVENT_26H)		\
1353__PMC_EV_ALIAS("L2_M_Lines_In",		IAP_EVENT_25H)		\
1354__PMC_EV_ALIAS("L2_M_Lines_Out",	IAP_EVENT_27H)		\
1355__PMC_EV_ALIAS("L2_No_Request_Cycles",	IAP_EVENT_32H)		\
1356__PMC_EV_ALIAS("L2_Reject_Cycles",	IAP_EVENT_30H)		\
1357__PMC_EV_ALIAS("L2_Rqsts",		IAP_EVENT_2EH)		\
1358__PMC_EV_ALIAS("L2_ST",			IAP_EVENT_2AH)		\
1359__PMC_EV_ALIAS("LD_Blocks",		IAP_EVENT_03H_00H)	\
1360__PMC_EV_ALIAS("LLC_Misses",		IAP_EVENT_2EH_41H)	\
1361__PMC_EV_ALIAS("LLC_Reference",		IAP_EVENT_2EH_4FH)	\
1362__PMC_EV_ALIAS("MMX_Assist",		IAP_EVENT_CDH_00H)	\
1363__PMC_EV_ALIAS("MMX_FP_Trans",		IAP_EVENT_CCH_00H)	\
1364__PMC_EV_ALIAS("MMX_Instr_Exec",	IAP_EVENT_B0H_00H)	\
1365__PMC_EV_ALIAS("MMX_Instr_Ret",		IAP_EVENT_CEH_00H)	\
1366__PMC_EV_ALIAS("Misalign_Mem_Ref",	IAP_EVENT_05H_00H)	\
1367__PMC_EV_ALIAS("Mul",			IAP_EVENT_12H_00H)	\
1368__PMC_EV_ALIAS("NonHlt_Ref_Cycles",	IAP_EVENT_3CH_01H)	\
1369__PMC_EV_ALIAS("Pref_Rqsts_Dn",		IAP_EVENT_F8H_00H)	\
1370__PMC_EV_ALIAS("Pref_Rqsts_Up",		IAP_EVENT_F0H_00H)	\
1371__PMC_EV_ALIAS("Resource_Stall",	IAP_EVENT_A2H_00H)	\
1372__PMC_EV_ALIAS("SD_Drains",		IAP_EVENT_04H_00H)	\
1373__PMC_EV_ALIAS("SIMD_FP_DP_P_Comp_Ret",	IAP_EVENT_D9H_02H)	\
1374__PMC_EV_ALIAS("SIMD_FP_DP_P_Ret",	IAP_EVENT_D8H_02H)	\
1375__PMC_EV_ALIAS("SIMD_FP_DP_S_Comp_Ret",	IAP_EVENT_D9H_03H)	\
1376__PMC_EV_ALIAS("SIMD_FP_DP_S_Ret",	IAP_EVENT_D8H_03H)	\
1377__PMC_EV_ALIAS("SIMD_FP_SP_P_Comp_Ret",	IAP_EVENT_D9H_00H)	\
1378__PMC_EV_ALIAS("SIMD_FP_SP_Ret",	IAP_EVENT_D8H_00H)	\
1379__PMC_EV_ALIAS("SIMD_FP_SP_S_Comp_Ret",	IAP_EVENT_D9H_01H)	\
1380__PMC_EV_ALIAS("SIMD_FP_SP_S_Ret",	IAP_EVENT_D8H_01H)	\
1381__PMC_EV_ALIAS("SIMD_Int_128_Ret",	IAP_EVENT_D8H_04H)	\
1382__PMC_EV_ALIAS("SIMD_Int_Pari_Exec",	IAP_EVENT_B3H_20H)	\
1383__PMC_EV_ALIAS("SIMD_Int_Pck_Exec",	IAP_EVENT_B3H_04H)	\
1384__PMC_EV_ALIAS("SIMD_Int_Plog_Exec",	IAP_EVENT_B3H_10H)	\
1385__PMC_EV_ALIAS("SIMD_Int_Pmul_Exec",	IAP_EVENT_B3H_01H)	\
1386__PMC_EV_ALIAS("SIMD_Int_Psft_Exec",	IAP_EVENT_B3H_02H)	\
1387__PMC_EV_ALIAS("SIMD_Int_Sat_Exec",	IAP_EVENT_B1H_00H)	\
1388__PMC_EV_ALIAS("SIMD_Int_Upck_Exec",	IAP_EVENT_B3H_08H)	\
1389__PMC_EV_ALIAS("SMC_Detected",		IAP_EVENT_C3H_00H)	\
1390__PMC_EV_ALIAS("SSE_NTStores_Miss",	IAP_EVENT_4BH_03H)	\
1391__PMC_EV_ALIAS("SSE_NTStores_Ret",	IAP_EVENT_07H_03H)	\
1392__PMC_EV_ALIAS("SSE_PrefNta_Miss",	IAP_EVENT_4BH_00H)	\
1393__PMC_EV_ALIAS("SSE_PrefNta_Ret",	IAP_EVENT_07H_00H)	\
1394__PMC_EV_ALIAS("SSE_PrefT1_Miss",	IAP_EVENT_4BH_01H)	\
1395__PMC_EV_ALIAS("SSE_PrefT1_Ret",	IAP_EVENT_07H_01H)	\
1396__PMC_EV_ALIAS("SSE_PrefT2_Miss",	IAP_EVENT_4BH_02H)	\
1397__PMC_EV_ALIAS("SSE_PrefT2_Ret",	IAP_EVENT_07H_02H)	\
1398__PMC_EV_ALIAS("Seg_Reg_Loads",		IAP_EVENT_06H_00H)	\
1399__PMC_EV_ALIAS("Serial_Execution_Cycles", IAP_EVENT_3CH_02H)	\
1400__PMC_EV_ALIAS("Thermal_Trip",		IAP_EVENT_3BH_C0H)	\
1401__PMC_EV_ALIAS("Unfusion",		IAP_EVENT_DBH_00H)	\
1402__PMC_EV_ALIAS("Unhalted_Core_Cycles",	IAP_EVENT_3CH_00H)	\
1403__PMC_EV_ALIAS("Uops_Ret",		IAP_EVENT_C2H_00H)
1404
1405/*
1406 * Aliases for Core2 PMC events.
1407 */
1408#define	__PMC_EV_ALIAS_CORE2()						\
1409__PMC_EV_ALIAS_INTEL_ARCHITECTURAL()					\
1410__PMC_EV_ALIAS("BACLEARS",		IAP_EVENT_E6H_00H)		\
1411__PMC_EV_ALIAS("BOGUS_BR",		IAP_EVENT_E4H_00H)		\
1412__PMC_EV_ALIAS("BR_BAC_MISSP_EXEC",	IAP_EVENT_8AH_00H)		\
1413__PMC_EV_ALIAS("BR_CALL_EXEC",		IAP_EVENT_92H_00H)		\
1414__PMC_EV_ALIAS("BR_CALL_MISSP_EXEC",	IAP_EVENT_93H_00H)		\
1415__PMC_EV_ALIAS("BR_CND_EXEC",		IAP_EVENT_8BH_00H)		\
1416__PMC_EV_ALIAS("BR_CND_MISSP_EXEC",	IAP_EVENT_8CH_00H)		\
1417__PMC_EV_ALIAS("BR_IND_CALL_EXEC",	IAP_EVENT_94H_00H)		\
1418__PMC_EV_ALIAS("BR_IND_EXEC",		IAP_EVENT_8DH_00H)		\
1419__PMC_EV_ALIAS("BR_IND_MISSP_EXEC",	IAP_EVENT_8EH_00H)		\
1420__PMC_EV_ALIAS("BR_INST_DECODED",	IAP_EVENT_E0H_00H)		\
1421__PMC_EV_ALIAS("BR_INST_EXEC",		IAP_EVENT_88H_00H)		\
1422__PMC_EV_ALIAS("BR_INST_RETIRED.ANY",	IAP_EVENT_C4H_00H)		\
1423__PMC_EV_ALIAS("BR_INST_RETIRED.MISPRED", IAP_EVENT_C5H_00H)		\
1424__PMC_EV_ALIAS("BR_INST_RETIRED.MISPRED_NOT_TAKEN",			\
1425    IAP_EVENT_C4H_02H)							\
1426__PMC_EV_ALIAS("BR_INST_RETIRED.MISPRED_TAKEN",				\
1427    IAP_EVENT_C4H_08H)							\
1428__PMC_EV_ALIAS("BR_INST_RETIRED.PRED_NOT_TAKEN",			\
1429    IAP_EVENT_C4H_01H)							\
1430__PMC_EV_ALIAS("BR_INST_RETIRED.PRED_TAKEN",				\
1431    IAP_EVENT_C4H_04H)							\
1432__PMC_EV_ALIAS("BR_INST_RETIRED.TAKEN",	IAP_EVENT_C4H_0CH)		\
1433__PMC_EV_ALIAS("BR_MISSP_EXEC",		IAP_EVENT_89H_00H)		\
1434__PMC_EV_ALIAS("BR_RET_BAC_MISSP_EXEC",	IAP_EVENT_91H_00H)		\
1435__PMC_EV_ALIAS("BR_RET_EXEC",		IAP_EVENT_8FH_00H)		\
1436__PMC_EV_ALIAS("BR_RET_MISSP_EXEC",	IAP_EVENT_90H_00H)		\
1437__PMC_EV_ALIAS("BR_TKN_BUBBLE_1",	IAP_EVENT_97H_00H)		\
1438__PMC_EV_ALIAS("BR_TKN_BUBBLE_2",	IAP_EVENT_98H_00H)		\
1439__PMC_EV_ALIAS("BUSQ_EMPTY",		IAP_EVENT_7DH)			\
1440__PMC_EV_ALIAS("BUS_BNR_DRV",		IAP_EVENT_61H)			\
1441__PMC_EV_ALIAS("BUS_DATA_RCV",		IAP_EVENT_64H)			\
1442__PMC_EV_ALIAS("BUS_DRDY_CLOCKS",	IAP_EVENT_62H)			\
1443__PMC_EV_ALIAS("BUS_HITM_DRV",		IAP_EVENT_7BH)			\
1444__PMC_EV_ALIAS("BUS_HIT_DRV",		IAP_EVENT_7AH)			\
1445__PMC_EV_ALIAS("BUS_IO_WAIT",		IAP_EVENT_7FH)			\
1446__PMC_EV_ALIAS("BUS_LOCK_CLOCKS",	IAP_EVENT_63H)			\
1447__PMC_EV_ALIAS("BUS_REQUEST_OUTSTANDING",				\
1448    IAP_EVENT_60H)							\
1449__PMC_EV_ALIAS("BUS_TRANS_ANY",		IAP_EVENT_70H)			\
1450__PMC_EV_ALIAS("BUS_TRANS_BRD",		IAP_EVENT_65H)			\
1451__PMC_EV_ALIAS("BUS_TRANS_BURST",	IAP_EVENT_6EH)			\
1452__PMC_EV_ALIAS("BUS_TRANS_DEF",		IAP_EVENT_6DH)			\
1453__PMC_EV_ALIAS("BUS_TRANS_IFETCH",	IAP_EVENT_68H)			\
1454__PMC_EV_ALIAS("BUS_TRANS_INVAL",	IAP_EVENT_69H)			\
1455__PMC_EV_ALIAS("BUS_TRANS_IO",		IAP_EVENT_6CH)			\
1456__PMC_EV_ALIAS("BUS_TRANS_MEM",		IAP_EVENT_6FH)			\
1457__PMC_EV_ALIAS("BUS_TRANS_P",		IAP_EVENT_6BH)			\
1458__PMC_EV_ALIAS("BUS_TRANS_PWR",		IAP_EVENT_6AH)			\
1459__PMC_EV_ALIAS("BUS_TRANS_RFO",		IAP_EVENT_66H)			\
1460__PMC_EV_ALIAS("BUS_TRANS_WB",		IAP_EVENT_67H)			\
1461__PMC_EV_ALIAS("CMP_SNOOP",		IAP_EVENT_78H)			\
1462__PMC_EV_ALIAS("CPU_CLK_UNHALTED.BUS",	IAP_EVENT_3CH_01H)		\
1463__PMC_EV_ALIAS("CPU_CLK_UNHALTED.CORE_P",				\
1464    IAP_EVENT_3CH_00H)							\
1465__PMC_EV_ALIAS("CPU_CLK_UNHALTED.NO_OTHER",				\
1466    IAP_EVENT_3CH_02H)							\
1467__PMC_EV_ALIAS("CYCLES_DIV_BUSY",	IAP_EVENT_14H_00H)		\
1468__PMC_EV_ALIAS("CYCLES_INT_MASKED",	IAP_EVENT_C6H_01H)		\
1469__PMC_EV_ALIAS("CYCLES_INT_PENDING_AND_MASKED",				\
1470    IAP_EVENT_C6H_02H)							\
1471__PMC_EV_ALIAS("CYCLES_L1I_MEM_STALLED", IAP_EVENT_86H_00H)		\
1472__PMC_EV_ALIAS("DELAYED_BYPASS.FP",	IAP_EVENT_19H_00H)		\
1473__PMC_EV_ALIAS("DELAYED_BYPASS.LOAD",	IAP_EVENT_19H_01H)		\
1474__PMC_EV_ALIAS("DELAYED_BYPASS.SIMD",	IAP_EVENT_19H_02H)		\
1475__PMC_EV_ALIAS("DIV",			IAP_EVENT_13H_00H)		\
1476__PMC_EV_ALIAS("DTLB_MISSES.ANY",	IAP_EVENT_08H_01H)		\
1477__PMC_EV_ALIAS("DTLB_MISSES.L0_MISS_LD", IAP_EVENT_08H_04H)		\
1478__PMC_EV_ALIAS("DTLB_MISSES.MISS_LD",	IAP_EVENT_08H_02H)		\
1479__PMC_EV_ALIAS("DTLB_MISSES.MISS_ST",	IAP_EVENT_08H_08H)		\
1480__PMC_EV_ALIAS("EIST_TRANS",		IAP_EVENT_3AH_00H)		\
1481__PMC_EV_ALIAS("ESP.ADDITIONS",		IAP_EVENT_ABH_02H)		\
1482__PMC_EV_ALIAS("ESP.SYNCH",		IAP_EVENT_ABH_01H)		\
1483__PMC_EV_ALIAS("EXT_SNOOP",		IAP_EVENT_77H)			\
1484__PMC_EV_ALIAS("FP_ASSIST",		IAP_EVENT_11H_00H)		\
1485__PMC_EV_ALIAS("FP_COMP_OPS_EXE",	IAP_EVENT_10H_00H)		\
1486__PMC_EV_ALIAS("FP_MMX_TRANS_TO_FP",	IAP_EVENT_CCH_02H)		\
1487__PMC_EV_ALIAS("FP_MMX_TRANS_TO_MMX",	IAP_EVENT_CCH_01H)		\
1488__PMC_EV_ALIAS("HW_INT_RCV",		IAP_EVENT_C8H_00H)		\
1489__PMC_EV_ALIAS("IDLE_DURING_DIV",	IAP_EVENT_18H_00H)		\
1490__PMC_EV_ALIAS("ILD_STALL",		IAP_EVENT_87H_00H)		\
1491__PMC_EV_ALIAS("INST_QUEUE.FULL",	IAP_EVENT_83H_02H)		\
1492__PMC_EV_ALIAS("INST_RETIRED.ANY_P",	IAP_EVENT_C0H_00H)		\
1493__PMC_EV_ALIAS("INST_RETIRED.LOADS",	IAP_EVENT_C0H_01H)		\
1494__PMC_EV_ALIAS("INST_RETIRED.OTHER",	IAP_EVENT_C0H_04H)		\
1495__PMC_EV_ALIAS("INST_RETIRED.STORES",	IAP_EVENT_C0H_02H)		\
1496__PMC_EV_ALIAS("INST_RETIRED.VM_H",	IAP_EVENT_C0H_08H)		\
1497__PMC_EV_ALIAS("ITLB.FLUSH",		IAP_EVENT_82H_40H)		\
1498__PMC_EV_ALIAS("ITLB.LARGE_MISS",	IAP_EVENT_82H_10H)		\
1499__PMC_EV_ALIAS("ITLB.MISSES",		IAP_EVENT_82H_12H)		\
1500__PMC_EV_ALIAS("ITLB.SMALL_MISS",	IAP_EVENT_82H_02H)		\
1501__PMC_EV_ALIAS("ITLB_MISS_RETIRED",	IAP_EVENT_C9H_00H)		\
1502__PMC_EV_ALIAS("L1D_ALL_CACHE_REF",	IAP_EVENT_43H_02H)		\
1503__PMC_EV_ALIAS("L1D_ALL_REF",		IAP_EVENT_43H_01H)		\
1504__PMC_EV_ALIAS("L1D_CACHE_LD",		IAP_EVENT_40H)			\
1505__PMC_EV_ALIAS("L1D_CACHE_LOCK",	IAP_EVENT_42H)			\
1506__PMC_EV_ALIAS("L1D_CACHE_LOCK_DURATION", IAP_EVENT_42H_10H)		\
1507__PMC_EV_ALIAS("L1D_CACHE_ST",		IAP_EVENT_41H)			\
1508__PMC_EV_ALIAS("L1D_M_EVICT",		IAP_EVENT_47H_00H)		\
1509__PMC_EV_ALIAS("L1D_M_REPL",		IAP_EVENT_46H_00H)		\
1510__PMC_EV_ALIAS("L1D_PEND_MISS",		IAP_EVENT_48H_00H)		\
1511__PMC_EV_ALIAS("L1D_PREFETCH.REQUESTS",	IAP_EVENT_4EH_10H)		\
1512__PMC_EV_ALIAS("L1D_REPL",		IAP_EVENT_45H_0FH)		\
1513__PMC_EV_ALIAS("L1D_SPLIT.LOADS",	IAP_EVENT_49H_01H)		\
1514__PMC_EV_ALIAS("L1D_SPLIT.STORES",	IAP_EVENT_49H_02H)		\
1515__PMC_EV_ALIAS("L1I_MISSES",		IAP_EVENT_81H_00H)		\
1516__PMC_EV_ALIAS("L1I_READS",		IAP_EVENT_80H_00H)		\
1517__PMC_EV_ALIAS("L2_ADS",		IAP_EVENT_21H)			\
1518__PMC_EV_ALIAS("L2_DBUS_BUSY_RD",	IAP_EVENT_23H)			\
1519__PMC_EV_ALIAS("L2_IFETCH",		IAP_EVENT_28H)			\
1520__PMC_EV_ALIAS("L2_LD",			IAP_EVENT_29H)			\
1521__PMC_EV_ALIAS("L2_LINES_IN",		IAP_EVENT_24H)			\
1522__PMC_EV_ALIAS("L2_LINES_OUT",		IAP_EVENT_26H)			\
1523__PMC_EV_ALIAS("L2_LOCK",		IAP_EVENT_2BH)			\
1524__PMC_EV_ALIAS("L2_M_LINES_IN",		IAP_EVENT_25H)			\
1525__PMC_EV_ALIAS("L2_M_LINES_OUT",	IAP_EVENT_27H)			\
1526__PMC_EV_ALIAS("L2_NO_REQ",		IAP_EVENT_32H)			\
1527__PMC_EV_ALIAS("L2_REJECT_BUSQ",	IAP_EVENT_30H)			\
1528__PMC_EV_ALIAS("L2_RQSTS",		IAP_EVENT_2EH)			\
1529__PMC_EV_ALIAS("L2_RQSTS.SELF.DEMAND.I_STATE",				\
1530    IAP_EVENT_2EH_41H)							\
1531__PMC_EV_ALIAS("L2_RQSTS.SELF.DEMAND.MESI",				\
1532    IAP_EVENT_2EH_4FH)							\
1533__PMC_EV_ALIAS("L2_ST",			IAP_EVENT_2AH)			\
1534__PMC_EV_ALIAS("LOAD_BLOCK.L1D",	IAP_EVENT_03H_20H)		\
1535__PMC_EV_ALIAS("LOAD_BLOCK.OVERLAP_STORE",				\
1536    IAP_EVENT_03H_08H)							\
1537__PMC_EV_ALIAS("LOAD_BLOCK.STA",	IAP_EVENT_03H_02H)		\
1538__PMC_EV_ALIAS("LOAD_BLOCK.STD",	IAP_EVENT_03H_04H)		\
1539__PMC_EV_ALIAS("LOAD_BLOCK.UNTIL_RETIRE", IAP_EVENT_03H_10H)		\
1540__PMC_EV_ALIAS("LOAD_HIT_PRE",		IAP_EVENT_4CH_00H)		\
1541__PMC_EV_ALIAS("MACHINE_NUKES.MEM_ORDER", IAP_EVENT_C3H_04H)		\
1542__PMC_EV_ALIAS("MACHINE_NUKES.SMC",	IAP_EVENT_C3H_01H)		\
1543__PMC_EV_ALIAS("MACRO_INSTS.CISC_DECODED", IAP_EVENT_AAH_08H)		\
1544__PMC_EV_ALIAS("MACRO_INSTS.DECODED",	IAP_EVENT_AAH_01H)		\
1545__PMC_EV_ALIAS("MEMORY_DISAMBIGUATION.RESET",				\
1546    IAP_EVENT_09H_01H)							\
1547__PMC_EV_ALIAS("MEMORY_DISAMBIGUATION.SUCCESS",				\
1548    IAP_EVENT_09H_02H)							\
1549__PMC_EV_ALIAS("MEM_LOAD_RETIRED.DTLB_MISS",				\
1550    IAP_EVENT_CBH_10H)							\
1551__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L1D_LINE_MISS",			\
1552    IAP_EVENT_CBH_02H)							\
1553__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L1D_MISS",				\
1554    IAP_EVENT_CBH_01H)							\
1555__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L2_LINE_MISS",				\
1556    IAP_EVENT_CBH_08H)							\
1557__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L2_MISS",				\
1558    IAP_EVENT_CBH_04H)							\
1559__PMC_EV_ALIAS("MUL",			IAP_EVENT_12H_00H)		\
1560__PMC_EV_ALIAS("PAGE_WALKS.COUNT",	IAP_EVENT_0CH_01H)		\
1561__PMC_EV_ALIAS("PAGE_WALKS.CYCLES",	IAP_EVENT_0CH_02H)		\
1562__PMC_EV_ALIAS("PREF_RQSTS_DN",		IAP_EVENT_F8H_00H)		\
1563__PMC_EV_ALIAS("PREF_RQSTS_UP",		IAP_EVENT_F0H_00H)		\
1564__PMC_EV_ALIAS("RAT_STALLS.ANY",	IAP_EVENT_D2H_0FH)		\
1565__PMC_EV_ALIAS("RAT_STALLS.FLAGS",	IAP_EVENT_D2H_04H)		\
1566__PMC_EV_ALIAS("RAT_STALLS.FPSW",	IAP_EVENT_D2H_08H)		\
1567__PMC_EV_ALIAS("RAT_STALLS.OTHER_SERIALIZATION_STALLS",			\
1568    IAP_EVENT_D2H_10H)							\
1569__PMC_EV_ALIAS("RAT_STALLS.PARTIAL_CYCLES",				\
1570    IAP_EVENT_D2H_02H)							\
1571__PMC_EV_ALIAS("RAT_STALLS.ROB_READ_PORT",				\
1572    IAP_EVENT_D2H_01H)							\
1573__PMC_EV_ALIAS("RESOURCE_STALLS.ANY",	IAP_EVENT_DCH_1FH)		\
1574__PMC_EV_ALIAS("RESOURCE_STALLS.BR_MISS_CLEAR",				\
1575    IAP_EVENT_DCH_10H)							\
1576__PMC_EV_ALIAS("RESOURCE_STALLS.FPCW",	IAP_EVENT_DCH_08H)		\
1577__PMC_EV_ALIAS("RESOURCE_STALLS.LD_ST",	IAP_EVENT_DCH_04H)		\
1578__PMC_EV_ALIAS("RESOURCE_STALLS.ROB_FULL",				\
1579    IAP_EVENT_DCH_01H)							\
1580__PMC_EV_ALIAS("RESOURCE_STALLS.RS_FULL", IAP_EVENT_DCH_02H)		\
1581__PMC_EV_ALIAS("RS_UOPS_DISPATCHED",	IAP_EVENT_A0H_00H)		\
1582__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT0", IAP_EVENT_A1H_01H)		\
1583__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT1", IAP_EVENT_A1H_02H)		\
1584__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT2", IAP_EVENT_A1H_04H)		\
1585__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT3", IAP_EVENT_A1H_08H)		\
1586__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT4", IAP_EVENT_A1H_10H)		\
1587__PMC_EV_ALIAS("RS_UOPS_DISPATCHED.PORT5", IAP_EVENT_A1H_20H)		\
1588__PMC_EV_ALIAS("SB_DRAIN_CYCLES",	IAP_EVENT_04H_01H)		\
1589__PMC_EV_ALIAS("SEGMENT_REG_LOADS",	IAP_EVENT_06H_00H)		\
1590__PMC_EV_ALIAS("SEG_REG_RENAMES.ANY",	IAP_EVENT_D5H_0FH)		\
1591__PMC_EV_ALIAS("SEG_REG_RENAMES.DS",	IAP_EVENT_D5H_02H)		\
1592__PMC_EV_ALIAS("SEG_REG_RENAMES.ES",	IAP_EVENT_D5H_01H)		\
1593__PMC_EV_ALIAS("SEG_REG_RENAMES.FS",	IAP_EVENT_D5H_04H)		\
1594__PMC_EV_ALIAS("SEG_REG_RENAMES.GS",	IAP_EVENT_D5H_08H)		\
1595__PMC_EV_ALIAS("SEG_RENAME_STALLS.ANY",	IAP_EVENT_D4H_0FH)		\
1596__PMC_EV_ALIAS("SEG_RENAME_STALLS.DS",	IAP_EVENT_D4H_02H)		\
1597__PMC_EV_ALIAS("SEG_RENAME_STALLS.ES",	IAP_EVENT_D4H_01H)		\
1598__PMC_EV_ALIAS("SEG_RENAME_STALLS.FS",	IAP_EVENT_D4H_04H)		\
1599__PMC_EV_ALIAS("SEG_RENAME_STALLS.GS",	IAP_EVENT_D4H_08H)		\
1600__PMC_EV_ALIAS("SIMD_ASSIST",		IAP_EVENT_CDH_00H)		\
1601__PMC_EV_ALIAS("SIMD_COMP_INST_RETIRED.PACKED_DOUBLE",			\
1602    IAP_EVENT_CAH_04H)							\
1603__PMC_EV_ALIAS("SIMD_COMP_INST_RETIRED.PACKED_SINGLE",			\
1604    IAP_EVENT_CAH_01H)							\
1605__PMC_EV_ALIAS("SIMD_COMP_INST_RETIRED.SCALAR_DOUBLE",			\
1606    IAP_EVENT_CAH_08H)							\
1607__PMC_EV_ALIAS("SIMD_COMP_INST_RETIRED.SCALAR_SINGLE",			\
1608    IAP_EVENT_CAH_02H)							\
1609__PMC_EV_ALIAS("SIMD_INSTR_RETIRED",	IAP_EVENT_CEH_00H)		\
1610__PMC_EV_ALIAS("SIMD_INST_RETIRED.ANY",	IAP_EVENT_C7H_1FH)		\
1611__PMC_EV_ALIAS("SIMD_INST_RETIRED.PACKED_DOUBLE",			\
1612    IAP_EVENT_C7H_04H)							\
1613__PMC_EV_ALIAS("SIMD_INST_RETIRED.PACKED_SINGLE",			\
1614    IAP_EVENT_C7H_01H)							\
1615__PMC_EV_ALIAS("SIMD_INST_RETIRED.SCALAR_DOUBLE",			\
1616    IAP_EVENT_C7H_08H)							\
1617__PMC_EV_ALIAS("SIMD_INST_RETIRED.SCALAR_SINGLE",			\
1618    IAP_EVENT_C7H_02H)							\
1619__PMC_EV_ALIAS("SIMD_INST_RETIRED.VECTOR",	IAP_EVENT_C7H_10H)	\
1620__PMC_EV_ALIAS("SIMD_SAT_INSTR_RETIRED",	IAP_EVENT_CFH_00H)	\
1621__PMC_EV_ALIAS("SIMD_SAT_UOP_EXEC",		IAP_EVENT_B1H_00H)	\
1622__PMC_EV_ALIAS("SIMD_UOPS_EXEC",		IAP_EVENT_B0H_00H)	\
1623__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.ARITHMETIC",	IAP_EVENT_B3H_20H)	\
1624__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.LOGICAL",	IAP_EVENT_B3H_10H)	\
1625__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.MUL",	IAP_EVENT_B3H_01H)	\
1626__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.PACK",	IAP_EVENT_B3H_04H)	\
1627__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.SHIFT",	IAP_EVENT_B3H_02H)	\
1628__PMC_EV_ALIAS("SIMD_UOP_TYPE_EXEC.UNPACK",	IAP_EVENT_B3H_08H)	\
1629__PMC_EV_ALIAS("SNOOP_STALL_DRV",		IAP_EVENT_7EH)		\
1630__PMC_EV_ALIAS("SSE_PRE_EXEC.L1",		IAP_EVENT_07H_01H)	\
1631__PMC_EV_ALIAS("SSE_PRE_EXEC.L2",		IAP_EVENT_07H_02H)	\
1632__PMC_EV_ALIAS("SSE_PRE_EXEC.NTA",		IAP_EVENT_07H_00H)	\
1633__PMC_EV_ALIAS("SSE_PRE_EXEC.STORES",		IAP_EVENT_07H_03H)	\
1634__PMC_EV_ALIAS("SSE_PRE_MISS.L1",		IAP_EVENT_4BH_01H)	\
1635__PMC_EV_ALIAS("SSE_PRE_MISS.L2",		IAP_EVENT_4BH_02H)	\
1636__PMC_EV_ALIAS("SSE_PRE_MISS.NTA",		IAP_EVENT_4BH_00H)	\
1637__PMC_EV_ALIAS("STORE_BLOCK.ORDER",		IAP_EVENT_04H_02H)	\
1638__PMC_EV_ALIAS("STORE_BLOCK.SNOOP",		IAP_EVENT_04H_08H)	\
1639__PMC_EV_ALIAS("THERMAL_TRIP",			IAP_EVENT_3BH_C0H)	\
1640__PMC_EV_ALIAS("UOPS_RETIRED.ANY",		IAP_EVENT_C2H_0FH)	\
1641__PMC_EV_ALIAS("UOPS_RETIRED.FUSED",		IAP_EVENT_C2H_07H)	\
1642__PMC_EV_ALIAS("UOPS_RETIRED.LD_IND_BR",	IAP_EVENT_C2H_01H)	\
1643__PMC_EV_ALIAS("UOPS_RETIRED.MACRO_FUSION",	IAP_EVENT_C2H_04H)	\
1644__PMC_EV_ALIAS("UOPS_RETIRED.NON_FUSED",	IAP_EVENT_C2H_08H)	\
1645__PMC_EV_ALIAS("UOPS_RETIRED.STD_STA",		IAP_EVENT_C2H_02H)	\
1646__PMC_EV_ALIAS("X87_OPS_RETIRED.ANY",		IAP_EVENT_C1H_FEH)	\
1647__PMC_EV_ALIAS("X87_OPS_RETIRED.FXCH",		IAP_EVENT_C1H_01H)
1648
1649/*
1650 * Aliases for Core i7 PMC events.
1651 */
1652#define	__PMC_EV_ALIAS_COREI7()						\
1653__PMC_EV_ALIAS_INTEL_ARCHITECTURAL()					\
1654__PMC_EV_ALIAS("SB_FORWARD.ANY",			IAP_EVENT_02H_01H) \
1655__PMC_EV_ALIAS("LOAD_BLOCK.STD",			IAP_EVENT_03H_01H) \
1656__PMC_EV_ALIAS("LOAD_BLOCK.ADDRESS_OFFSET",		IAP_EVENT_03H_04H) \
1657__PMC_EV_ALIAS("SB_DRAIN.CYCLES",			IAP_EVENT_04H_01H) \
1658__PMC_EV_ALIAS("MISALIGN_MEM_REF.LOAD",			IAP_EVENT_05H_01H) \
1659__PMC_EV_ALIAS("MISALIGN_MEM_REF.STORE",		IAP_EVENT_05H_02H) \
1660__PMC_EV_ALIAS("MISALIGN_MEM_REF.ANY",			IAP_EVENT_05H_03H) \
1661__PMC_EV_ALIAS("STORE_BLOCKS.NOT_STA",			IAP_EVENT_06H_01H) \
1662__PMC_EV_ALIAS("STORE_BLOCKS.STA",			IAP_EVENT_06H_02H) \
1663__PMC_EV_ALIAS("STORE_BLOCKS.AT_RET",			IAP_EVENT_06H_04H) \
1664__PMC_EV_ALIAS("STORE_BLOCKS.L1D_BLOCK",		IAP_EVENT_06H_08H) \
1665__PMC_EV_ALIAS("STORE_BLOCKS.ANY",			IAP_EVENT_06H_0FH) \
1666__PMC_EV_ALIAS("PARTIAL_ADDRESS_ALIAS",			IAP_EVENT_07H_01H) \
1667__PMC_EV_ALIAS("DTLB_LOAD_MISSES.ANY",			IAP_EVENT_08H_01H) \
1668__PMC_EV_ALIAS("DTLB_LOAD_MISSES.WALK_COMPLETED",	IAP_EVENT_08H_02H) \
1669__PMC_EV_ALIAS("DTLB_LOAD_MISSES.STLB_HIT",		IAP_EVENT_08H_10H) \
1670__PMC_EV_ALIAS("DTLB_LOAD_MISSES.PDE_MISS",		IAP_EVENT_08H_20H) \
1671__PMC_EV_ALIAS("DTLB_LOAD_MISSES.PDP_MISS",		IAP_EVENT_08H_40H) \
1672__PMC_EV_ALIAS("DTLB_LOAD_MISSES.LARGE_WALK_COMPLETED",	IAP_EVENT_08H_80H) \
1673__PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.RESET",		IAP_EVENT_09H_01H) \
1674__PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.SUCCESS",	IAP_EVENT_09H_02H) \
1675__PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.WATCHDOG",	IAP_EVENT_09H_04H) \
1676__PMC_EV_ALIAS("MEMORY_DISAMBIGURATION.WATCH_CYCLES",	IAP_EVENT_09H_08H) \
1677__PMC_EV_ALIAS("MEM_INST_RETIRED.LOADS",		IAP_EVENT_0BH_01H) \
1678__PMC_EV_ALIAS("MEM_INST_RETIRED.STORES",		IAP_EVENT_0BH_02H) \
1679__PMC_EV_ALIAS("MEM_STORE_RETIRED.DTLB_MISS",		IAP_EVENT_0CH_01H) \
1680__PMC_EV_ALIAS("UOPS_ISSUED.ANY",			IAP_EVENT_0EH_01H) \
1681__PMC_EV_ALIAS("UOPS_ISSUED.FUSED",			IAP_EVENT_0EH_02H) \
1682__PMC_EV_ALIAS("MEM_UNCORE_RETIRED.OTHER_CORE_L2_HITM",	IAP_EVENT_0FH_02H) \
1683__PMC_EV_ALIAS("MEM_UNCORE_RETIRED.REMOTE_CACHE_LOCAL_HOME_HIT", IAP_EVENT_0FH_08H) \
1684__PMC_EV_ALIAS("MEM_UNCORE_RETIRED.REMOTE_DRAM",	IAP_EVENT_0FH_10H) \
1685__PMC_EV_ALIAS("MEM_UNCORE_RETIRED.LOCAL_DRAM",		IAP_EVENT_0FH_20H) \
1686__PMC_EV_ALIAS("FP_COMP_OPS_EXE.X87",			IAP_EVENT_10H_01H) \
1687__PMC_EV_ALIAS("FP_COMP_OPS_EXE.MMX",			IAP_EVENT_10H_02H) \
1688__PMC_EV_ALIAS("FP_COMP_OPS_EXE.SSE_FP",		IAP_EVENT_10H_04H) \
1689__PMC_EV_ALIAS("FP_COMP_OPS_EXE.SSE2_INTEGER",		IAP_EVENT_10H_08H) \
1690__PMC_EV_ALIAS("FP_COMP_OPS_EXE.SSE_FP_PACKED",		IAP_EVENT_10H_10H) \
1691__PMC_EV_ALIAS("FP_COMP_OPS_EXE.SSE_FP_SCALAR",		IAP_EVENT_10H_20H) \
1692__PMC_EV_ALIAS("FP_COMP_OPS_EXE.SSE_SINGLE_PRECISION",	IAP_EVENT_10H_40H) \
1693__PMC_EV_ALIAS("FP_COMP_OPS_EXE.SSE_DOUBLE_PRECISION",	IAP_EVENT_10H_80H) \
1694__PMC_EV_ALIAS("SIMD_INT_128.PACKED_MPY",		IAP_EVENT_12H_01H) \
1695__PMC_EV_ALIAS("SIMD_INT_128.PACKED_SHIFT",		IAP_EVENT_12H_02H) \
1696__PMC_EV_ALIAS("SIMD_INT_128.PACK",			IAP_EVENT_12H_04H) \
1697__PMC_EV_ALIAS("SIMD_INT_128.UNPACK",			IAP_EVENT_12H_08H) \
1698__PMC_EV_ALIAS("SIMD_INT_128.PACKED_LOGICAL",		IAP_EVENT_12H_10H) \
1699__PMC_EV_ALIAS("SIMD_INT_128.PACKED_ARITH",		IAP_EVENT_12H_20H) \
1700__PMC_EV_ALIAS("SIMD_INT_128.SHUFFLE_MOVE",		IAP_EVENT_12H_40H) \
1701__PMC_EV_ALIAS("LOAD_DISPATCH.RS",			IAP_EVENT_13H_01H) \
1702__PMC_EV_ALIAS("LOAD_DISPATCH.RS_DELAYED",		IAP_EVENT_13H_02H) \
1703__PMC_EV_ALIAS("LOAD_DISPATCH.MOB",			IAP_EVENT_13H_04H) \
1704__PMC_EV_ALIAS("LOAD_DISPATCH.ANY",			IAP_EVENT_13H_07H) \
1705__PMC_EV_ALIAS("ARITH.CYCLES_DIV_BUSY",			IAP_EVENT_14H_01H) \
1706__PMC_EV_ALIAS("ARITH.MUL",				IAP_EVENT_14H_02H) \
1707__PMC_EV_ALIAS("INST_QUEUE_WRITES",			IAP_EVENT_17H_01H) \
1708__PMC_EV_ALIAS("INST_DECODED.DEC0",			IAP_EVENT_18H_01H) \
1709__PMC_EV_ALIAS("TWO_UOP_INSTS_DECODED",			IAP_EVENT_19H_01H) \
1710__PMC_EV_ALIAS("HW_INT.RCV",				IAP_EVENT_1DH_01H) \
1711__PMC_EV_ALIAS("HW_INT.CYCLES_MASKED",			IAP_EVENT_1DH_02H) \
1712__PMC_EV_ALIAS("HW_INT.CYCLES_PENDING_AND_MASKED",	IAP_EVENT_1DH_04H) \
1713__PMC_EV_ALIAS("INST_QUEUE_WRITE_CYCLES",		IAP_EVENT_1EH_01H) \
1714__PMC_EV_ALIAS("L2_RQSTS.LD_HIT",			IAP_EVENT_24H_01H) \
1715__PMC_EV_ALIAS("L2_RQSTS.LD_MISS",			IAP_EVENT_24H_02H) \
1716__PMC_EV_ALIAS("L2_RQSTS.LOADS",			IAP_EVENT_24H_03H) \
1717__PMC_EV_ALIAS("L2_RQSTS.RFO_HIT",			IAP_EVENT_24H_04H) \
1718__PMC_EV_ALIAS("L2_RQSTS.RFO_MISS",			IAP_EVENT_24H_08H) \
1719__PMC_EV_ALIAS("L2_RQSTS.RFOS",				IAP_EVENT_24H_0CH) \
1720__PMC_EV_ALIAS("L2_RQSTS.IFETCH_HIT",			IAP_EVENT_24H_10H) \
1721__PMC_EV_ALIAS("L2_RQSTS.IFETCH_MISS",			IAP_EVENT_24H_20H) \
1722__PMC_EV_ALIAS("L2_RQSTS.IFETCHES",			IAP_EVENT_24H_30H) \
1723__PMC_EV_ALIAS("L2_RQSTS.PREFETCH_HIT",			IAP_EVENT_24H_40H) \
1724__PMC_EV_ALIAS("L2_RQSTS.PREFETCH_MISS",		IAP_EVENT_24H_80H) \
1725__PMC_EV_ALIAS("L2_RQSTS.PREFETCHES",			IAP_EVENT_24H_C0H) \
1726__PMC_EV_ALIAS("L2_RQSTS.MISS",				IAP_EVENT_24H_AAH) \
1727__PMC_EV_ALIAS("L2_RQSTS.REFERENCES",			IAP_EVENT_24H_FFH) \
1728__PMC_EV_ALIAS("L2_DATA_RQSTS.DEMAND.I_STATE",		IAP_EVENT_26H_01H) \
1729__PMC_EV_ALIAS("L2_DATA_RQSTS.DEMAND.S_STATE",		IAP_EVENT_26H_02H) \
1730__PMC_EV_ALIAS("L2_DATA_RQSTS.DEMAND.E_STATE",		IAP_EVENT_26H_04H) \
1731__PMC_EV_ALIAS("L2_DATA_RQSTS.DEMAND.M_STATE",		IAP_EVENT_26H_08H) \
1732__PMC_EV_ALIAS("L2_DATA_RQSTS.DEMAND.MESI",		IAP_EVENT_26H_0FH) \
1733__PMC_EV_ALIAS("L2_DATA_RQSTS.PREFETCH.I_STATE",	IAP_EVENT_26H_10H) \
1734__PMC_EV_ALIAS("L2_DATA_RQSTS.PREFETCH.S_STATE",	IAP_EVENT_26H_20H) \
1735__PMC_EV_ALIAS("L2_DATA_RQSTS.PREFETCH.E_STATE",	IAP_EVENT_26H_40H) \
1736__PMC_EV_ALIAS("L2_DATA_RQSTS.PREFETCH.M_STATE",	IAP_EVENT_26H_80H) \
1737__PMC_EV_ALIAS("L2_DATA_RQSTS.PREFETCH.MESI",		IAP_EVENT_26H_F0H) \
1738__PMC_EV_ALIAS("L2_DATA_RQSTS.ANY",			IAP_EVENT_26H_FFH) \
1739__PMC_EV_ALIAS("L2_WRITE.RFO.I_STATE",			IAP_EVENT_27H_01H) \
1740__PMC_EV_ALIAS("L2_WRITE.RFO.S_STATE",			IAP_EVENT_27H_02H) \
1741__PMC_EV_ALIAS("L2_WRITE.RFO.E_STATE",			IAP_EVENT_27H_04H) \
1742__PMC_EV_ALIAS("L2_WRITE.RFO.M_STATE",			IAP_EVENT_27H_08H) \
1743__PMC_EV_ALIAS("L2_WRITE.RFO.HIT",			IAP_EVENT_27H_0EH) \
1744__PMC_EV_ALIAS("L2_WRITE.RFO.MESI",			IAP_EVENT_27H_0FH) \
1745__PMC_EV_ALIAS("L2_WRITE.LOCK.I_STATE",			IAP_EVENT_27H_10H) \
1746__PMC_EV_ALIAS("L2_WRITE.LOCK.S_STATE",			IAP_EVENT_27H_20H) \
1747__PMC_EV_ALIAS("L2_WRITE.LOCK.E_STATE",			IAP_EVENT_27H_40H) \
1748__PMC_EV_ALIAS("L2_WRITE.LOCK.M_STATE",			IAP_EVENT_27H_80H) \
1749__PMC_EV_ALIAS("L2_WRITE.LOCK.HIT",			IAP_EVENT_27H_E0H) \
1750__PMC_EV_ALIAS("L2_WRITE.LOCK.MESI",			IAP_EVENT_27H_F0H) \
1751__PMC_EV_ALIAS("L1D_WB_L2.I_STATE",			IAP_EVENT_28H_01H) \
1752__PMC_EV_ALIAS("L1D_WB_L2.S_STATE",			IAP_EVENT_28H_02H) \
1753__PMC_EV_ALIAS("L1D_WB_L2.E_STATE",			IAP_EVENT_28H_04H) \
1754__PMC_EV_ALIAS("L1D_WB_L2.M_STATE",			IAP_EVENT_28H_08H) \
1755__PMC_EV_ALIAS("L1D_WB_L2.MESI",			IAP_EVENT_28H_0FH) \
1756__PMC_EV_ALIAS("LONGEST_LAT_CACHE.REFERENCE",		IAP_EVENT_2EH_4FH) \
1757__PMC_EV_ALIAS("LONGEST_LAT_CACHE.MISS",		IAP_EVENT_2EH_41H) \
1758__PMC_EV_ALIAS("CPU_CLK_UNHALTED.THREAD_P",		IAP_EVENT_3CH_00H) \
1759__PMC_EV_ALIAS("CPU_CLK_UNHALTED.REF_P",		IAP_EVENT_3CH_01H) \
1760__PMC_EV_ALIAS("UOPS_DECODED.DEC0",			IAP_EVENT_3DH_01H) \
1761__PMC_EV_ALIAS("L1D_CACHE_LD.I_STATE",			IAP_EVENT_40H_01H) \
1762__PMC_EV_ALIAS("L1D_CACHE_LD.S_STATE",			IAP_EVENT_40H_02H) \
1763__PMC_EV_ALIAS("L1D_CACHE_LD.E_STATE",			IAP_EVENT_40H_04H) \
1764__PMC_EV_ALIAS("L1D_CACHE_LD.M_STATE",			IAP_EVENT_40H_08H) \
1765__PMC_EV_ALIAS("L1D_CACHE_LD.MESI",			IAP_EVENT_40H_0FH) \
1766__PMC_EV_ALIAS("L1D_CACHE_ST.I_STATE",			IAP_EVENT_41H_01H) \
1767__PMC_EV_ALIAS("L1D_CACHE_ST.S_STATE",			IAP_EVENT_41H_02H) \
1768__PMC_EV_ALIAS("L1D_CACHE_ST.E_STATE",			IAP_EVENT_41H_04H) \
1769__PMC_EV_ALIAS("L1D_CACHE_ST.M_STATE",			IAP_EVENT_41H_08H) \
1770__PMC_EV_ALIAS("L1D_CACHE_ST.MESI",			IAP_EVENT_41H_0FH) \
1771__PMC_EV_ALIAS("L1D_CACHE_LOCK.HIT",			IAP_EVENT_42H_01H) \
1772__PMC_EV_ALIAS("L1D_CACHE_LOCK.S_STATE",		IAP_EVENT_42H_02H) \
1773__PMC_EV_ALIAS("L1D_CACHE_LOCK.E_STATE",		IAP_EVENT_42H_04H) \
1774__PMC_EV_ALIAS("L1D_CACHE_LOCK.M_STATE",		IAP_EVENT_42H_08H) \
1775__PMC_EV_ALIAS("L1D_ALL_REF.ANY",			IAP_EVENT_43H_01H) \
1776__PMC_EV_ALIAS("L1D_ALL_REF.CACHEABLE",			IAP_EVENT_43H_02H) \
1777__PMC_EV_ALIAS("L1D_PEND_MISS.LOAD_BUFFERS_FULL",	IAP_EVENT_48H_02H) \
1778__PMC_EV_ALIAS("DTLB_MISSES.ANY",			IAP_EVENT_49H_01H) \
1779__PMC_EV_ALIAS("DTLB_MISSES.WALK_COMPLETED",		IAP_EVENT_49H_02H) \
1780__PMC_EV_ALIAS("DTLB_MISSES.STLB_HIT",			IAP_EVENT_49H_10H) \
1781__PMC_EV_ALIAS("DTLB_MISSES.PDE_MISS",			IAP_EVENT_49H_20H) \
1782__PMC_EV_ALIAS("DTLB_MISSES.PDP_MISS",			IAP_EVENT_49H_40H) \
1783__PMC_EV_ALIAS("DTLB_MISSES.LARGE_WALK_COMPLETED",	IAP_EVENT_49H_80H) \
1784__PMC_EV_ALIAS("SSE_MEM_EXEC.NTA",			IAP_EVENT_4BH_01H) \
1785__PMC_EV_ALIAS("SSE_MEM_EXEC.STREAMING_STORES",		IAP_EVENT_4BH_08H) \
1786__PMC_EV_ALIAS("LOAD_HIT_PRE",				IAP_EVENT_4CH_01H) \
1787__PMC_EV_ALIAS("SFENCE_CYCLES",				IAP_EVENT_4DH_01H) \
1788__PMC_EV_ALIAS("L1D_PREFETCH.REQUESTS",			IAP_EVENT_4EH_01H) \
1789__PMC_EV_ALIAS("L1D_PREFETCH.MISS",			IAP_EVENT_4EH_02H) \
1790__PMC_EV_ALIAS("L1D_PREFETCH.TRIGGERS",			IAP_EVENT_4EH_04H) \
1791__PMC_EV_ALIAS("EPT.EPDE_MISS",				IAP_EVENT_4FH_02H) \
1792__PMC_EV_ALIAS("EPT.EPDPE_HIT",				IAP_EVENT_4FH_04H) \
1793__PMC_EV_ALIAS("EPT.EPDPE_MISS",			IAP_EVENT_4FH_08H) \
1794__PMC_EV_ALIAS("L1D.REPL",				IAP_EVENT_51H_01H) \
1795__PMC_EV_ALIAS("L1D.M_REPL",				IAP_EVENT_51H_02H) \
1796__PMC_EV_ALIAS("L1D.M_EVICT",				IAP_EVENT_51H_04H) \
1797__PMC_EV_ALIAS("L1D.M_SNOOP_EVICT",			IAP_EVENT_51H_08H) \
1798__PMC_EV_ALIAS("L1D_CACHE_PREFETCH_LOCK_FB_HIT",	IAP_EVENT_52H_01H) \
1799__PMC_EV_ALIAS("L1D_CACHE_LOCK_FB_HIT",			IAP_EVENT_53H_01H) \
1800__PMC_EV_ALIAS("OFFCORE_REQUESTS_OUTSTANDING.DEMAND.READ_DATA", IAP_EVENT_60H_01H) \
1801__PMC_EV_ALIAS("OFFCORE_REQUESTS_OUTSTANDING.DEMAND.READ_CODE", IAP_EVENT_60H_02H) \
1802__PMC_EV_ALIAS("OFFCORE_REQUESTS_OUTSTANDING.DEMAND.RFO", IAP_EVENT_60H_04H) \
1803__PMC_EV_ALIAS("OFFCORE_REQUESTS_OUTSTANDING.ANY.READ",	IAP_EVENT_60H_08H) \
1804__PMC_EV_ALIAS("CACHE_LOCK_CYCLES.L1D_L2",		IAP_EVENT_63H_01H) \
1805__PMC_EV_ALIAS("CACHE_LOCK_CYCLES.L1D",			IAP_EVENT_63H_02H) \
1806__PMC_EV_ALIAS("IO_TRANSACTIONS",			IAP_EVENT_6CH_01H) \
1807__PMC_EV_ALIAS("L1I.HITS",				IAP_EVENT_80H_01H) \
1808__PMC_EV_ALIAS("L1I.MISSES",				IAP_EVENT_80H_02H) \
1809__PMC_EV_ALIAS("L1I.READS",				IAP_EVENT_80H_03H) \
1810__PMC_EV_ALIAS("L1I.CYCLES_STALLED",			IAP_EVENT_80H_04H) \
1811__PMC_EV_ALIAS("IFU_IVC.FULL",				IAP_EVENT_81H_01H) \
1812__PMC_EV_ALIAS("IFU_IVC.L1I_EVICTION",			IAP_EVENT_81H_02H) \
1813__PMC_EV_ALIAS("LARGE_ITLB.HIT",			IAP_EVENT_82H_01H) \
1814__PMC_EV_ALIAS("L1I_OPPORTUNISTIC_HITS",		IAP_EVENT_83H_01H) \
1815__PMC_EV_ALIAS("ITLB_MISSES.ANY",			IAP_EVENT_85H_01H) \
1816__PMC_EV_ALIAS("ITLB_MISSES.WALK_COMPLETED",		IAP_EVENT_85H_02H) \
1817__PMC_EV_ALIAS("ITLB_MISSES.WALK_CYCLES",		IAP_EVENT_85H_04H) \
1818__PMC_EV_ALIAS("ITLB_MISSES.STLB_HIT",			IAP_EVENT_85H_10H) \
1819__PMC_EV_ALIAS("ITLB_MISSES.PDE_MISS",			IAP_EVENT_85H_20H) \
1820__PMC_EV_ALIAS("ITLB_MISSES.PDP_MISS",			IAP_EVENT_85H_40H) \
1821__PMC_EV_ALIAS("ITLB_MISSES.LARGE_WALK_COMPLETED",	IAP_EVENT_85H_80H) \
1822__PMC_EV_ALIAS("ILD_STALL.LCP",				IAP_EVENT_87H_01H) \
1823__PMC_EV_ALIAS("ILD_STALL.MRU",				IAP_EVENT_87H_02H) \
1824__PMC_EV_ALIAS("ILD_STALL.IQ_FULL",			IAP_EVENT_87H_04H) \
1825__PMC_EV_ALIAS("ILD_STALL.REGEN",			IAP_EVENT_87H_08H) \
1826__PMC_EV_ALIAS("ILD_STALL.ANY",				IAP_EVENT_87H_0FH) \
1827__PMC_EV_ALIAS("BR_INST_EXEC.COND",			IAP_EVENT_88H_01H) \
1828__PMC_EV_ALIAS("BR_INST_EXEC.DIRECT",			IAP_EVENT_88H_02H) \
1829__PMC_EV_ALIAS("BR_INST_EXEC.INDIRECT_NON_CALL",	IAP_EVENT_88H_04H) \
1830__PMC_EV_ALIAS("BR_INST_EXEC.NON_CALLS",		IAP_EVENT_88H_07H) \
1831__PMC_EV_ALIAS("BR_INST_EXEC.RETURN_NEAR",		IAP_EVENT_88H_08H) \
1832__PMC_EV_ALIAS("BR_INST_EXEC.DIRECT_NEAR_CALL",		IAP_EVENT_88H_10H) \
1833__PMC_EV_ALIAS("BR_INST_EXEC.INDIRECT_NEAR_CALL",	IAP_EVENT_88H_20H) \
1834__PMC_EV_ALIAS("BR_INST_EXEC.NEAR_CALLS",		IAP_EVENT_88H_30H) \
1835__PMC_EV_ALIAS("BR_INST_EXEC.TAKEN",			IAP_EVENT_88H_40H) \
1836__PMC_EV_ALIAS("BR_INST_EXEC.ANY",			IAP_EVENT_7FH)	\
1837__PMC_EV_ALIAS("BR_MISP_EXEC.COND",			IAP_EVENT_89H_01H) \
1838__PMC_EV_ALIAS("BR_MISP_EXEC.DIRECT",			IAP_EVENT_89H_02H) \
1839__PMC_EV_ALIAS("BR_MISP_EXEC.INDIRECT_NON_CALL",	IAP_EVENT_89H_04H) \
1840__PMC_EV_ALIAS("BR_MISP_EXEC.NON_CALLS",		IAP_EVENT_89H_07H) \
1841__PMC_EV_ALIAS("BR_MISP_EXEC.RETURN_NEAR",		IAP_EVENT_89H_08H) \
1842__PMC_EV_ALIAS("BR_MISP_EXEC.DIRECT_NEAR_CALL",		IAP_EVENT_89H_10H) \
1843__PMC_EV_ALIAS("BR_MISP_EXEC.INDIRECT_NEAR_CALL",	IAP_EVENT_89H_20H) \
1844__PMC_EV_ALIAS("BR_MISP_EXEC.NEAR_CALLS",		IAP_EVENT_89H_30H) \
1845__PMC_EV_ALIAS("BR_MISP_EXEC.TAKEN",			IAP_EVENT_89H_40H) \
1846__PMC_EV_ALIAS("BR_MISP_EXEC.ANY",			IAP_EVENT_89H_7FH) \
1847__PMC_EV_ALIAS("RESOURCE_STALLS.ANY",			IAP_EVENT_A2H_01H) \
1848__PMC_EV_ALIAS("RESOURCE_STALLS.LOAD",			IAP_EVENT_A2H_02H) \
1849__PMC_EV_ALIAS("RESOURCE_STALLS.RS_FULL",		IAP_EVENT_A2H_04H) \
1850__PMC_EV_ALIAS("RESOURCE_STALLS.STORE",			IAP_EVENT_A2H_08H) \
1851__PMC_EV_ALIAS("RESOURCE_STALLS.ROB_FULL",		IAP_EVENT_A2H_10H) \
1852__PMC_EV_ALIAS("RESOURCE_STALLS.FPCW",			IAP_EVENT_A2H_20H) \
1853__PMC_EV_ALIAS("RESOURCE_STALLS.MXCSR",			IAP_EVENT_A2H_40H) \
1854__PMC_EV_ALIAS("RESOURCE_STALLS.OTHER",			IAP_EVENT_A2H_80H) \
1855__PMC_EV_ALIAS("MACRO_INSTS.FUSIONS_DECODED",		IAP_EVENT_A6H_01H) \
1856__PMC_EV_ALIAS("BACLEAR_FORCE_IQ",			IAP_EVENT_A7H_01H) \
1857__PMC_EV_ALIAS("LSD.UOPS",				IAP_EVENT_A8H_01H) \
1858__PMC_EV_ALIAS("OFFCORE_REQUESTS.DEMAND.READ_DATA",	IAP_EVENT_B0H_01H) \
1859__PMC_EV_ALIAS("OFFCORE_REQUESTS.DEMAND.READ_CODE",	IAP_EVENT_B0H_02H) \
1860__PMC_EV_ALIAS("OFFCORE_REQUESTS.DEMAND.RFO",		IAP_EVENT_B0H_04H) \
1861__PMC_EV_ALIAS("OFFCORE_REQUESTS.ANY.READ",		IAP_EVENT_B0H_08H) \
1862__PMC_EV_ALIAS("OFFCORE_REQUESTS.ANY.RFO",		IAP_EVENT_80H_10H) \
1863__PMC_EV_ALIAS("OFFCORE_REQUESTS.UNCACHED_MEM",		IAP_EVENT_B0H_20H) \
1864__PMC_EV_ALIAS("OFFCORE_REQUESTS.L1D_WRITEBACK",	IAP_EVENT_B0H_40H) \
1865__PMC_EV_ALIAS("OFFCORE_REQUESTS.ANY",			IAP_EVENT_B0H_80H) \
1866__PMC_EV_ALIAS("UOPS_EXECUTED.PORT0",			IAP_EVENT_B1H_01H) \
1867__PMC_EV_ALIAS("UOPS_EXECUTED.PORT1",			IAP_EVENT_B1H_02H) \
1868__PMC_EV_ALIAS("UOPS_EXECUTED.PORT2_CORE",		IAP_EVENT_B1H_04H) \
1869__PMC_EV_ALIAS("UOPS_EXECUTED.PORT3_CORE",		IAP_EVENT_B1H_08H) \
1870__PMC_EV_ALIAS("UOPS_EXECUTED.PORT4_CORE",		IAP_EVENT_B1H_10H) \
1871__PMC_EV_ALIAS("UOPS_EXECUTED.PORT5",			IAP_EVENT_B1H_20H) \
1872__PMC_EV_ALIAS("UOPS_EXECUTED.PORT015",			IAP_EVENT_B1H_40H) \
1873__PMC_EV_ALIAS("UOPS_EXECUTED.PORT234",			IAP_EVENT_B1H_80H) \
1874__PMC_EV_ALIAS("OFFCORE_REQUESTS_SQ_FULL",		IAP_EVENT_B2H_01H) \
1875__PMC_EV_ALIAS("SNOOPQ_REQUESTS_OUTSTANDING.DATA",	IAP_EVENT_B3H_01H) \
1876__PMC_EV_ALIAS("SNOOPQ_REQUESTS_OUTSTANDING.INVALIDATE", IAP_EVENT_B3H_02H) \
1877__PMC_EV_ALIAS("SNOOPQ_REQUESTS_OUTSTANDING.CODE",	IAP_EVENT_B3H_04H) \
1878__PMC_EV_ALIAS("OOF_CORE_RESPONSE_0",			IAP_EVENT_B7H_01H) \
1879__PMC_EV_ALIAS("SNOOP_RESPONSE.HIT",			IAP_EVENT_B8H_01H) \
1880__PMC_EV_ALIAS("SNOOP_RESPONSE.HITE",			IAP_EVENT_B8H_02H) \
1881__PMC_EV_ALIAS("SNOOP_RESPONSE.HITM",			IAP_EVENT_B8H_04H) \
1882__PMC_EV_ALIAS("PIC_ACCESSES.TPR_READS",		IAP_EVENT_BAH_01H) \
1883__PMC_EV_ALIAS("PIC_ACCESSES.TPR_WRITES",		IAP_EVENT_BAH_02H) \
1884__PMC_EV_ALIAS("INST_RETIRED.ANY_P",			IAP_EVENT_C0H_01H) \
1885__PMC_EV_ALIAS("INST_RETIRED.X87",			IAP_EVENT_C0H_02H) \
1886__PMC_EV_ALIAS("UOPS_RETIRED.ANY",			IAP_EVENT_C2H_01H) \
1887__PMC_EV_ALIAS("UOPS_RETIRED.RETIRE_SLOTS",		IAP_EVENT_C2H_02H) \
1888__PMC_EV_ALIAS("UOPS_RETIRED.MACRO_FUSED",		IAP_EVENT_C2H_04H) \
1889__PMC_EV_ALIAS("MACHINE_CLEARS.CYCLES",			IAP_EVENT_C3H_01H) \
1890__PMC_EV_ALIAS("MACHINE_CLEARS.MEM_ORDER",		IAP_EVENT_C3H_02H) \
1891__PMC_EV_ALIAS("MACHINE_CLEARS.SMC",			IAP_EVENT_C3H_04H) \
1892__PMC_EV_ALIAS("MACHINE_CLEARS.FUSION_ASSIST",		IAP_EVENT_C3H_10H) \
1893__PMC_EV_ALIAS("BR_INST_RETIRED.ALL_BRANCHES",		IAP_EVENT_C4H_00H) \
1894__PMC_EV_ALIAS("BR_INST_RETIRED.CONDITIONAL",		IAP_EVENT_C4H_01H) \
1895__PMC_EV_ALIAS("BR_INST_RETIRED.NEAR_CALL",		IAP_EVENT_C4H_02H) \
1896__PMC_EV_ALIAS("BR_INST_RETIRED.ALL_BRANCHES",		IAP_EVENT_C4H_04H) \
1897__PMC_EV_ALIAS("BR_MISP_RETIRED.ALL_BRANCHES",		IAP_EVENT_C5H_00H) \
1898__PMC_EV_ALIAS("BR_MISP_RETIRED.NEAR_CALL",		IAP_EVENT_C5H_02H) \
1899__PMC_EV_ALIAS("SSEX_UOPS_RETIRED.PACKED_SINGLE",	IAP_EVENT_C7H_01H) \
1900__PMC_EV_ALIAS("SSEX_UOPS_RETIRED.SCALAR_SINGLE",	IAP_EVENT_C7H_02H) \
1901__PMC_EV_ALIAS("SSEX_UOPS_RETIRED.PACKED_DOUBLE",	IAP_EVENT_C7H_04H) \
1902__PMC_EV_ALIAS("SSEX_UOPS_RETIRED.SCALAR_DOUBLE",	IAP_EVENT_C7H_08H) \
1903__PMC_EV_ALIAS("SSEX_UOPS_RETIRED.VECTOR_INTEGER",	IAP_EVENT_C7H_10H) \
1904__PMC_EV_ALIAS("ITLB_MISS_RETIRED",			IAP_EVENT_C8H_20H) \
1905__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L1D_HIT",		IAP_EVENT_CBH_01H) \
1906__PMC_EV_ALIAS("MEM_LOAD_RETIRED.L2_HIT",		IAP_EVENT_CBH_02H) \
1907__PMC_EV_ALIAS("MEM_LOAD_RETIRED.LLC_UNSHARED_HIT",	IAP_EVENT_CBH_04H) \
1908__PMC_EV_ALIAS("MEM_LOAD_RETIRED.OTHER_CORE_L2_HIT_HITM", IAP_EVENT_CBH_08H) \
1909__PMC_EV_ALIAS("MEM_LOAD_RETIRED.LLC_MISS",		IAP_EVENT_CBH_10H) \
1910__PMC_EV_ALIAS("MEM_LOAD_RETIRED.HIT_LFB",		IAP_EVENT_CBH_40H) \
1911__PMC_EV_ALIAS("MEM_LOAD_RETIRED.DTLB_MISS",		IAP_EVENT_CBH_80H) \
1912__PMC_EV_ALIAS("FP_MMX_TRANS.TO_FP",			IAP_EVENT_CCH_01H) \
1913__PMC_EV_ALIAS("FP_MMX_TRANS.TO_MMX",			IAP_EVENT_CCH_02H) \
1914__PMC_EV_ALIAS("FP_MMX_TRANS.ANY",			IAP_EVENT_CCH_03H) \
1915__PMC_EV_ALIAS("MACRO_INSTS.DECODED",			IAP_EVENT_D0H_01H) \
1916__PMC_EV_ALIAS("UOPS_DECODED.MS",			IAP_EVENT_D1H_02H) \
1917__PMC_EV_ALIAS("UOPS_DECODED.ESP_FOLDING",		IAP_EVENT_D1H_04H) \
1918__PMC_EV_ALIAS("UOPS_DECODED.ESP_SYNC",			IAP_EVENT_D1H_08H) \
1919__PMC_EV_ALIAS("RAT_STALLS.FLAGS",			IAP_EVENT_D2H_01H) \
1920__PMC_EV_ALIAS("RAT_STALLS.REGISTERS",			IAP_EVENT_D2H_02H) \
1921__PMC_EV_ALIAS("RAT_STALLS.ROB_READ_PORT",		IAP_EVENT_D2H_04H) \
1922__PMC_EV_ALIAS("RAT_STALLS.SCOREBOARD",			IAP_EVENT_D2H_08H) \
1923__PMC_EV_ALIAS("RAT_STALLS.ANY",			IAP_EVENT_D2H_0FH) \
1924__PMC_EV_ALIAS("SEG_RENAME_STALLS",			IAP_EVENT_D4H_01H) \
1925__PMC_EV_ALIAS("ES_REG_RENAMES",			IAP_EVENT_D5H_01H) \
1926__PMC_EV_ALIAS("UOP_UNFUSION",				IAP_EVENT_DBH_01H) \
1927__PMC_EV_ALIAS("BR_INST_DECODED",			IAP_EVENT_E0H_01H) \
1928__PMC_EV_ALIAS("BOGUS_BR",				IAP_EVENT_E4H_01H) \
1929__PMC_EV_ALIAS("BPU_MISSED_CALL_RET",			IAP_EVENT_E5H_01H) \
1930__PMC_EV_ALIAS("BACLEAR.CLEAR",				IAP_EVENT_E6H_01H) \
1931__PMC_EV_ALIAS("BACLEAR.BAD_TARGET",			IAP_EVENT_E6H_02H) \
1932__PMC_EV_ALIAS("BPU_CLEARS.EARLY",			IAP_EVENT_E8H_01H) \
1933__PMC_EV_ALIAS("BPU_CLEARS.LATE",			IAP_EVENT_E8H_02H) \
1934__PMC_EV_ALIAS("BPU_CLEARS.ANY",			IAP_EVENT_E8H_03H) \
1935__PMC_EV_ALIAS("L2_TRANSACTIONS.LOAD",			IAP_EVENT_F0H_01H) \
1936__PMC_EV_ALIAS("L2_TRANSACTIONS.RFO",			IAP_EVENT_F0H_02H) \
1937__PMC_EV_ALIAS("L2_TRANSACTIONS.IFETCH",		IAP_EVENT_F0H_04H) \
1938__PMC_EV_ALIAS("L2_TRANSACTIONS.PREFETCH",		IAP_EVENT_F0H_08H) \
1939__PMC_EV_ALIAS("L2_TRANSACTIONS.L1D_WB",		IAP_EVENT_F0H_10H) \
1940__PMC_EV_ALIAS("L2_TRANSACTIONS.FILL",			IAP_EVENT_F0H_20H) \
1941__PMC_EV_ALIAS("L2_TRANSACTIONS.WB",			IAP_EVENT_F0H_40H) \
1942__PMC_EV_ALIAS("L2_TRANSACTIONS.ANY",			IAP_EVENT_F0H_80H) \
1943__PMC_EV_ALIAS("L2_LINES_IN.S_STATE",			IAP_EVENT_F1H_02H) \
1944__PMC_EV_ALIAS("L2_LINES_IN.E_STATE",			IAP_EVENT_F1H_04H) \
1945__PMC_EV_ALIAS("L2_LINES_IN.ANY",			IAP_EVENT_F1H_07H) \
1946__PMC_EV_ALIAS("L2_LINES_OUT.DEMAND_CLEAN",		IAP_EVENT_F2H_01H) \
1947__PMC_EV_ALIAS("L2_LINES_OUT.DEMAND_DIRTY",		IAP_EVENT_F2H_02H) \
1948__PMC_EV_ALIAS("L2_LINES_OUT.PREFETCH_CLEAN",		IAP_EVENT_F2H_04H) \
1949__PMC_EV_ALIAS("L2_LINES_OUT.PREFETCH_DIRTY",		IAP_EVENT_F2H_08H) \
1950__PMC_EV_ALIAS("L2_LINES_OUT.ANY",			IAP_EVENT_F2H_0FH) \
1951__PMC_EV_ALIAS("L2_HW_PREFETCH.HIT",			IAP_EVENT_F3H_01H) \
1952__PMC_EV_ALIAS("L2_HW_PREFETCH.ALLOC",			IAP_EVENT_F3H_02H) \
1953__PMC_EV_ALIAS("L2_HW_PREFETCH.DATA_TRIGGER",		IAP_EVENT_F3H_04H) \
1954__PMC_EV_ALIAS("L2_HW_PREFETCH.CODE_TRIGGER",		IAP_EVENT_F3H_08H) \
1955__PMC_EV_ALIAS("L2_HW_PREFETCH.DCA_TRIGGER",		IAP_EVENT_F3H_10H) \
1956__PMC_EV_ALIAS("L2_HW_PREFETCH.KICK_START",		IAP_EVENT_F3H_20H) \
1957__PMC_EV_ALIAS("SQ_MISC.PROMOTION",			IAP_EVENT_F4H_01H) \
1958__PMC_EV_ALIAS("SQ_MISC.PROMOTION_POST_GO",		IAP_EVENT_F4H_02H) \
1959__PMC_EV_ALIAS("SQ_MISC.LRU_HINTS",			IAP_EVENT_F4H_04H) \
1960__PMC_EV_ALIAS("SQ_MISC.FILL_DROPPED",			IAP_EVENT_F4H_08H) \
1961__PMC_EV_ALIAS("SQ_MISC.SPLIT_LOCK",			IAP_EVENT_F4H_10H) \
1962__PMC_EV_ALIAS("SQ_FULL_STALL_CYCLES",			IAP_EVENT_F6H_01H) \
1963__PMC_EV_ALIAS("FP_ASSIST.ALL",				IAP_EVENT_F7H_01H) \
1964__PMC_EV_ALIAS("FP_ASSIST.OUTPUT",			IAP_EVENT_F7H_02H) \
1965__PMC_EV_ALIAS("FP_ASSIST.INPUT",			IAP_EVENT_F7H_04H) \
1966__PMC_EV_ALIAS("SEGMENT_REG_LOADS",			IAP_EVENT_F8H_01H) \
1967__PMC_EV_ALIAS("SIMD_INT_64.PACKED_MPY",		IAP_EVENT_FDH_01H) \
1968__PMC_EV_ALIAS("SIMD_INT_64.PACKED_SHIFT",		IAP_EVENT_FDH_02H) \
1969__PMC_EV_ALIAS("SIMD_INT_64.PACK",			IAP_EVENT_FDH_04H) \
1970__PMC_EV_ALIAS("SIMD_INT_64.UNPACK",			IAP_EVENT_FDH_08H) \
1971__PMC_EV_ALIAS("SIMD_INT_64.PACKED_LOGICAL",		IAP_EVENT_FDH_10H) \
1972__PMC_EV_ALIAS("SIMD_INT_64.PACKED_ARITH",		IAP_EVENT_FDH_20H) \
1973__PMC_EV_ALIAS("SIMD_INT_64.SHUFFLE_MOVE",		IAP_EVENT_FDH_40H)
1974
1975/* timestamp counters. */
1976#define	__PMC_EV_TSC()							\
1977	__PMC_EV(TSC, TSC)
1978
1979#define	PMC_EV_TSC_FIRST	PMC_EV_TSC_TSC
1980#define	PMC_EV_TSC_LAST		PMC_EV_TSC_TSC
1981
1982
1983/*
1984 * Intel XScale events from "Intel XScale Core Developer's Manual",
1985 * January 2004, #27347302
1986 */
1987#define	__PMC_EV_XSCALE()			\
1988	__PMC_EV(XSCALE, IC_FETCH)		\
1989	__PMC_EV(XSCALE, IC_MISS)		\
1990	__PMC_EV(XSCALE, DATA_DEPENDENCY_STALL)	\
1991	__PMC_EV(XSCALE, ITLB_MISS)		\
1992	__PMC_EV(XSCALE, DTLB_MISS)		\
1993	__PMC_EV(XSCALE, BRANCH_EXECUTED)	\
1994	__PMC_EV(XSCALE, BRANCH_MISPRED)	\
1995	__PMC_EV(XSCALE, INSTR_EXECUTED)	\
1996	__PMC_EV(XSCALE, DC_FULL_CYCLE)		\
1997	__PMC_EV(XSCALE, DC_FULL_CONTIG)	\
1998	__PMC_EV(XSCALE, DC_ACCESS)		\
1999	__PMC_EV(XSCALE, DC_MISS)		\
2000	__PMC_EV(XSCALE, DC_WRITEBACK)		\
2001	__PMC_EV(XSCALE, PC_CHANGE)
2002
2003#define	PMC_EV_XSCALE_FIRST	PMC_EV_XSCALE_IC_FETCH
2004#define	PMC_EV_XSCALE_LAST	PMC_EV_XSCALE_PC_CHANGE
2005
2006/*
2007 * All known PMC events.
2008 *
2009 * PMC event numbers are allocated sparsely to allow new PMC events to
2010 * be added to a PMC class without breaking ABI compatibility.  The
2011 * current allocation scheme is:
2012 *
2013 * START	#EVENTS		DESCRIPTION
2014 * 0		0x1000		Reserved
2015 * 0x1000	0x0001		TSC
2016 * 0x2000	0x0080		AMD K7 events
2017 * 0x2080	0x0100		AMD K8 events
2018 * 0x10000	0x0080		INTEL architectural fixed-function events
2019 * 0x10080	0x0F80		INTEL architectural programmable events
2020 * 0x11000	0x0080		INTEL Pentium 4 events
2021 * 0x11080	0x0080		INTEL Pentium MMX events
2022 * 0x11100	0x0100		INTEL Pentium Pro/P-II/P-III/Pentium-M events
2023 * 0x11200	0x00FF		INTEL XScale events
2024 */
2025#define	__PMC_EVENTS()				\
2026	__PMC_EV_BLOCK(TSC,	0x01000)	\
2027	__PMC_EV_TSC()				\
2028	__PMC_EV_BLOCK(K7,	0x2000)		\
2029	__PMC_EV_K7()				\
2030	__PMC_EV_BLOCK(K8,	0x2080)		\
2031	__PMC_EV_K8()				\
2032	__PMC_EV_BLOCK(IAF,	0x10000)	\
2033	__PMC_EV_IAF()				\
2034	__PMC_EV_BLOCK(IAP,	0x10080)	\
2035	__PMC_EV_IAP()				\
2036	__PMC_EV_BLOCK(P4,	0x11000)	\
2037	__PMC_EV_P4()				\
2038	__PMC_EV_BLOCK(P5,	0x11080)	\
2039	__PMC_EV_P5()				\
2040	__PMC_EV_BLOCK(P6,	0x11100)	\
2041	__PMC_EV_P6()				\
2042	__PMC_EV_BLOCK(XSCALE,	0x11200)	\
2043	__PMC_EV_XSCALE()
2044
2045#define	PMC_EVENT_FIRST	PMC_EV_TSC_TSC
2046#define	PMC_EVENT_LAST	PMC_EV_XSCALE_LAST
2047
2048#endif /* _DEV_HWPMC_PMC_EVENTS_H_ */
2049