diff options
author | Ashok Kumar <ashoks@broadcom.com> | 2016-04-21 08:58:42 -0400 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-04-25 09:11:06 -0400 |
commit | 0893f74545e615eda796c8d443cafee1959f3a73 (patch) | |
tree | 155fcc8e45220f78f803fab19657f1ad7a79b59d | |
parent | 03598fdbc9deaecde3d981d42cd36f108fab4aa2 (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.c | 79 |
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 |