aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAshok Kumar <ashoks@broadcom.com>2016-04-21 08:58:42 -0400
committerWill Deacon <will.deacon@arm.com>2016-04-25 09:11:06 -0400
commit0893f74545e615eda796c8d443cafee1959f3a73 (patch)
tree155fcc8e45220f78f803fab19657f1ad7a79b59d
parent03598fdbc9deaecde3d981d42cd36f108fab4aa2 (diff)
arm64/perf: Define complete ARMv8 recommended implementation defined events
Defined all the ARMv8 recommended implementation defined events from J3 - "ARM recommendations for IMPLEMENTATION DEFINED event numbers" in ARM DDI 0487A.g. Signed-off-by: Ashok Kumar <ashoks@broadcom.com> Reviewed-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r--arch/arm64/kernel/perf_event.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/arch/arm64/kernel/perf_event.c b/arch/arm64/kernel/perf_event.c
index 5dcdbffa28e7..d5a02bc75667 100644
--- a/arch/arm64/kernel/perf_event.c
+++ b/arch/arm64/kernel/perf_event.c
@@ -94,10 +94,89 @@
94#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WR 0x41 94#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WR 0x41
95#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_RD 0x42 95#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_RD 0x42
96#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_WR 0x43 96#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_WR 0x43
97#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_INNER 0x44
98#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_REFILL_OUTER 0x45
99#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WB_VICTIM 0x46
100#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_WB_CLEAN 0x47
101#define ARMV8_IMPDEF_PERFCTR_L1D_CACHE_INVAL 0x48
102
97#define ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_RD 0x4C 103#define ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_RD 0x4C
98#define ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_WR 0x4D 104#define ARMV8_IMPDEF_PERFCTR_L1D_TLB_REFILL_WR 0x4D
99#define ARMV8_IMPDEF_PERFCTR_L1D_TLB_RD 0x4E 105#define ARMV8_IMPDEF_PERFCTR_L1D_TLB_RD 0x4E
100#define ARMV8_IMPDEF_PERFCTR_L1D_TLB_WR 0x4F 106#define ARMV8_IMPDEF_PERFCTR_L1D_TLB_WR 0x4F
107#define ARMV8_IMPDEF_PERFCTR_L2D_CACHE_RD 0x50
108#define ARMV8_IMPDEF_PERFCTR_L2D_CACHE_WR 0x51
109#define ARMV8_IMPDEF_PERFCTR_L2D_CACHE_REFILL_RD 0x52
110#define ARMV8_IMPDEF_PERFCTR_L2D_CACHE_REFILL_WR 0x53
111
112#define ARMV8_IMPDEF_PERFCTR_L2D_CACHE_WB_VICTIM 0x56
113#define ARMV8_IMPDEF_PERFCTR_L2D_CACHE_WB_CLEAN 0x57
114#define ARMV8_IMPDEF_PERFCTR_L2D_CACHE_INVAL 0x58
115
116#define ARMV8_IMPDEF_PERFCTR_L2D_TLB_REFILL_RD 0x5C
117#define ARMV8_IMPDEF_PERFCTR_L2D_TLB_REFILL_WR 0x5D
118#define ARMV8_IMPDEF_PERFCTR_L2D_TLB_RD 0x5E
119#define ARMV8_IMPDEF_PERFCTR_L2D_TLB_WR 0x5F
120
121#define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_RD 0x60
122#define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_WR 0x61
123#define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_SHARED 0x62
124#define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_NOT_SHARED 0x63
125#define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_NORMAL 0x64
126#define ARMV8_IMPDEF_PERFCTR_BUS_ACCESS_PERIPH 0x65
127
128#define ARMV8_IMPDEF_PERFCTR_MEM_ACCESS_RD 0x66
129#define ARMV8_IMPDEF_PERFCTR_MEM_ACCESS_WR 0x67
130#define ARMV8_IMPDEF_PERFCTR_UNALIGNED_LD_SPEC 0x68
131#define ARMV8_IMPDEF_PERFCTR_UNALIGNED_ST_SPEC 0x69
132#define ARMV8_IMPDEF_PERFCTR_UNALIGNED_LDST_SPEC 0x6A
133
134#define ARMV8_IMPDEF_PERFCTR_LDREX_SPEC 0x6C
135#define ARMV8_IMPDEF_PERFCTR_STREX_PASS_SPEC 0x6D
136#define ARMV8_IMPDEF_PERFCTR_STREX_FAIL_SPEC 0x6E
137#define ARMV8_IMPDEF_PERFCTR_STREX_SPEC 0x6F
138#define ARMV8_IMPDEF_PERFCTR_LD_SPEC 0x70
139#define ARMV8_IMPDEF_PERFCTR_ST_SPEC 0x71
140#define ARMV8_IMPDEF_PERFCTR_LDST_SPEC 0x72
141#define ARMV8_IMPDEF_PERFCTR_DP_SPEC 0x73
142#define ARMV8_IMPDEF_PERFCTR_ASE_SPEC 0x74
143#define ARMV8_IMPDEF_PERFCTR_VFP_SPEC 0x75
144#define ARMV8_IMPDEF_PERFCTR_PC_WRITE_SPEC 0x76
145#define ARMV8_IMPDEF_PERFCTR_CRYPTO_SPEC 0x77
146#define ARMV8_IMPDEF_PERFCTR_BR_IMMED_SPEC 0x78
147#define ARMV8_IMPDEF_PERFCTR_BR_RETURN_SPEC 0x79
148#define ARMV8_IMPDEF_PERFCTR_BR_INDIRECT_SPEC 0x7A
149
150#define ARMV8_IMPDEF_PERFCTR_ISB_SPEC 0x7C
151#define ARMV8_IMPDEF_PERFCTR_DSB_SPEC 0x7D
152#define ARMV8_IMPDEF_PERFCTR_DMB_SPEC 0x7E
153
154#define ARMV8_IMPDEF_PERFCTR_EXC_UNDEF 0x81
155#define ARMV8_IMPDEF_PERFCTR_EXC_SVC 0x82
156#define ARMV8_IMPDEF_PERFCTR_EXC_PABORT 0x83
157#define ARMV8_IMPDEF_PERFCTR_EXC_DABORT 0x84
158
159#define ARMV8_IMPDEF_PERFCTR_EXC_IRQ 0x86
160#define ARMV8_IMPDEF_PERFCTR_EXC_FIQ 0x87
161#define ARMV8_IMPDEF_PERFCTR_EXC_SMC 0x88
162
163#define ARMV8_IMPDEF_PERFCTR_EXC_HVC 0x8A
164#define ARMV8_IMPDEF_PERFCTR_EXC_TRAP_PABORT 0x8B
165#define ARMV8_IMPDEF_PERFCTR_EXC_TRAP_DABORT 0x8C
166#define ARMV8_IMPDEF_PERFCTR_EXC_TRAP_OTHER 0x8D
167#define ARMV8_IMPDEF_PERFCTR_EXC_TRAP_IRQ 0x8E
168#define ARMV8_IMPDEF_PERFCTR_EXC_TRAP_FIQ 0x8F
169#define ARMV8_IMPDEF_PERFCTR_RC_LD_SPEC 0x90
170#define ARMV8_IMPDEF_PERFCTR_RC_ST_SPEC 0x91
171
172#define ARMV8_IMPDEF_PERFCTR_L3D_CACHE_RD 0xA0
173#define ARMV8_IMPDEF_PERFCTR_L3D_CACHE_WR 0xA1
174#define ARMV8_IMPDEF_PERFCTR_L3D_CACHE_REFILL_RD 0xA2
175#define ARMV8_IMPDEF_PERFCTR_L3D_CACHE_REFILL_WR 0xA3
176
177#define ARMV8_IMPDEF_PERFCTR_L3D_CACHE_WB_VICTIM 0xA6
178#define ARMV8_IMPDEF_PERFCTR_L3D_CACHE_WB_CLEAN 0xA7
179#define ARMV8_IMPDEF_PERFCTR_L3D_CACHE_INVAL 0xA8
101 180
102/* ARMv8 Cortex-A53 specific event types. */ 181/* ARMv8 Cortex-A53 specific event types. */
103#define ARMV8_A53_PERFCTR_PREF_LINEFILL 0xC2 182#define ARMV8_A53_PERFCTR_PREF_LINEFILL 0xC2