1
2
3 package arm64
4
5 const (
6 SYSREG_BEGIN = REG_SPECIAL + iota
7 REG_ACTLR_EL1
8 REG_AFSR0_EL1
9 REG_AFSR1_EL1
10 REG_AIDR_EL1
11 REG_AMAIR_EL1
12 REG_AMCFGR_EL0
13 REG_AMCGCR_EL0
14 REG_AMCNTENCLR0_EL0
15 REG_AMCNTENCLR1_EL0
16 REG_AMCNTENSET0_EL0
17 REG_AMCNTENSET1_EL0
18 REG_AMCR_EL0
19 REG_AMEVCNTR00_EL0
20 REG_AMEVCNTR01_EL0
21 REG_AMEVCNTR02_EL0
22 REG_AMEVCNTR03_EL0
23 REG_AMEVCNTR04_EL0
24 REG_AMEVCNTR05_EL0
25 REG_AMEVCNTR06_EL0
26 REG_AMEVCNTR07_EL0
27 REG_AMEVCNTR08_EL0
28 REG_AMEVCNTR09_EL0
29 REG_AMEVCNTR010_EL0
30 REG_AMEVCNTR011_EL0
31 REG_AMEVCNTR012_EL0
32 REG_AMEVCNTR013_EL0
33 REG_AMEVCNTR014_EL0
34 REG_AMEVCNTR015_EL0
35 REG_AMEVCNTR10_EL0
36 REG_AMEVCNTR11_EL0
37 REG_AMEVCNTR12_EL0
38 REG_AMEVCNTR13_EL0
39 REG_AMEVCNTR14_EL0
40 REG_AMEVCNTR15_EL0
41 REG_AMEVCNTR16_EL0
42 REG_AMEVCNTR17_EL0
43 REG_AMEVCNTR18_EL0
44 REG_AMEVCNTR19_EL0
45 REG_AMEVCNTR110_EL0
46 REG_AMEVCNTR111_EL0
47 REG_AMEVCNTR112_EL0
48 REG_AMEVCNTR113_EL0
49 REG_AMEVCNTR114_EL0
50 REG_AMEVCNTR115_EL0
51 REG_AMEVTYPER00_EL0
52 REG_AMEVTYPER01_EL0
53 REG_AMEVTYPER02_EL0
54 REG_AMEVTYPER03_EL0
55 REG_AMEVTYPER04_EL0
56 REG_AMEVTYPER05_EL0
57 REG_AMEVTYPER06_EL0
58 REG_AMEVTYPER07_EL0
59 REG_AMEVTYPER08_EL0
60 REG_AMEVTYPER09_EL0
61 REG_AMEVTYPER010_EL0
62 REG_AMEVTYPER011_EL0
63 REG_AMEVTYPER012_EL0
64 REG_AMEVTYPER013_EL0
65 REG_AMEVTYPER014_EL0
66 REG_AMEVTYPER015_EL0
67 REG_AMEVTYPER10_EL0
68 REG_AMEVTYPER11_EL0
69 REG_AMEVTYPER12_EL0
70 REG_AMEVTYPER13_EL0
71 REG_AMEVTYPER14_EL0
72 REG_AMEVTYPER15_EL0
73 REG_AMEVTYPER16_EL0
74 REG_AMEVTYPER17_EL0
75 REG_AMEVTYPER18_EL0
76 REG_AMEVTYPER19_EL0
77 REG_AMEVTYPER110_EL0
78 REG_AMEVTYPER111_EL0
79 REG_AMEVTYPER112_EL0
80 REG_AMEVTYPER113_EL0
81 REG_AMEVTYPER114_EL0
82 REG_AMEVTYPER115_EL0
83 REG_AMUSERENR_EL0
84 REG_APDAKeyHi_EL1
85 REG_APDAKeyLo_EL1
86 REG_APDBKeyHi_EL1
87 REG_APDBKeyLo_EL1
88 REG_APGAKeyHi_EL1
89 REG_APGAKeyLo_EL1
90 REG_APIAKeyHi_EL1
91 REG_APIAKeyLo_EL1
92 REG_APIBKeyHi_EL1
93 REG_APIBKeyLo_EL1
94 REG_CCSIDR2_EL1
95 REG_CCSIDR_EL1
96 REG_CLIDR_EL1
97 REG_CNTFRQ_EL0
98 REG_CNTKCTL_EL1
99 REG_CNTP_CTL_EL0
100 REG_CNTP_CVAL_EL0
101 REG_CNTP_TVAL_EL0
102 REG_CNTPCT_EL0
103 REG_CNTPS_CTL_EL1
104 REG_CNTPS_CVAL_EL1
105 REG_CNTPS_TVAL_EL1
106 REG_CNTV_CTL_EL0
107 REG_CNTV_CVAL_EL0
108 REG_CNTV_TVAL_EL0
109 REG_CNTVCT_EL0
110 REG_CONTEXTIDR_EL1
111 REG_CPACR_EL1
112 REG_CSSELR_EL1
113 REG_CTR_EL0
114 REG_CurrentEL
115 REG_DAIF
116 REG_DBGAUTHSTATUS_EL1
117 REG_DBGBCR0_EL1
118 REG_DBGBCR1_EL1
119 REG_DBGBCR2_EL1
120 REG_DBGBCR3_EL1
121 REG_DBGBCR4_EL1
122 REG_DBGBCR5_EL1
123 REG_DBGBCR6_EL1
124 REG_DBGBCR7_EL1
125 REG_DBGBCR8_EL1
126 REG_DBGBCR9_EL1
127 REG_DBGBCR10_EL1
128 REG_DBGBCR11_EL1
129 REG_DBGBCR12_EL1
130 REG_DBGBCR13_EL1
131 REG_DBGBCR14_EL1
132 REG_DBGBCR15_EL1
133 REG_DBGBVR0_EL1
134 REG_DBGBVR1_EL1
135 REG_DBGBVR2_EL1
136 REG_DBGBVR3_EL1
137 REG_DBGBVR4_EL1
138 REG_DBGBVR5_EL1
139 REG_DBGBVR6_EL1
140 REG_DBGBVR7_EL1
141 REG_DBGBVR8_EL1
142 REG_DBGBVR9_EL1
143 REG_DBGBVR10_EL1
144 REG_DBGBVR11_EL1
145 REG_DBGBVR12_EL1
146 REG_DBGBVR13_EL1
147 REG_DBGBVR14_EL1
148 REG_DBGBVR15_EL1
149 REG_DBGCLAIMCLR_EL1
150 REG_DBGCLAIMSET_EL1
151 REG_DBGDTR_EL0
152 REG_DBGDTRRX_EL0
153 REG_DBGDTRTX_EL0
154 REG_DBGPRCR_EL1
155 REG_DBGWCR0_EL1
156 REG_DBGWCR1_EL1
157 REG_DBGWCR2_EL1
158 REG_DBGWCR3_EL1
159 REG_DBGWCR4_EL1
160 REG_DBGWCR5_EL1
161 REG_DBGWCR6_EL1
162 REG_DBGWCR7_EL1
163 REG_DBGWCR8_EL1
164 REG_DBGWCR9_EL1
165 REG_DBGWCR10_EL1
166 REG_DBGWCR11_EL1
167 REG_DBGWCR12_EL1
168 REG_DBGWCR13_EL1
169 REG_DBGWCR14_EL1
170 REG_DBGWCR15_EL1
171 REG_DBGWVR0_EL1
172 REG_DBGWVR1_EL1
173 REG_DBGWVR2_EL1
174 REG_DBGWVR3_EL1
175 REG_DBGWVR4_EL1
176 REG_DBGWVR5_EL1
177 REG_DBGWVR6_EL1
178 REG_DBGWVR7_EL1
179 REG_DBGWVR8_EL1
180 REG_DBGWVR9_EL1
181 REG_DBGWVR10_EL1
182 REG_DBGWVR11_EL1
183 REG_DBGWVR12_EL1
184 REG_DBGWVR13_EL1
185 REG_DBGWVR14_EL1
186 REG_DBGWVR15_EL1
187 REG_DCZID_EL0
188 REG_DISR_EL1
189 REG_DIT
190 REG_DLR_EL0
191 REG_DSPSR_EL0
192 REG_ELR_EL1
193 REG_ERRIDR_EL1
194 REG_ERRSELR_EL1
195 REG_ERXADDR_EL1
196 REG_ERXCTLR_EL1
197 REG_ERXFR_EL1
198 REG_ERXMISC0_EL1
199 REG_ERXMISC1_EL1
200 REG_ERXMISC2_EL1
201 REG_ERXMISC3_EL1
202 REG_ERXPFGCDN_EL1
203 REG_ERXPFGCTL_EL1
204 REG_ERXPFGF_EL1
205 REG_ERXSTATUS_EL1
206 REG_ESR_EL1
207 REG_FAR_EL1
208 REG_FPCR
209 REG_FPSR
210 REG_GCR_EL1
211 REG_GMID_EL1
212 REG_ICC_AP0R0_EL1
213 REG_ICC_AP0R1_EL1
214 REG_ICC_AP0R2_EL1
215 REG_ICC_AP0R3_EL1
216 REG_ICC_AP1R0_EL1
217 REG_ICC_AP1R1_EL1
218 REG_ICC_AP1R2_EL1
219 REG_ICC_AP1R3_EL1
220 REG_ICC_ASGI1R_EL1
221 REG_ICC_BPR0_EL1
222 REG_ICC_BPR1_EL1
223 REG_ICC_CTLR_EL1
224 REG_ICC_DIR_EL1
225 REG_ICC_EOIR0_EL1
226 REG_ICC_EOIR1_EL1
227 REG_ICC_HPPIR0_EL1
228 REG_ICC_HPPIR1_EL1
229 REG_ICC_IAR0_EL1
230 REG_ICC_IAR1_EL1
231 REG_ICC_IGRPEN0_EL1
232 REG_ICC_IGRPEN1_EL1
233 REG_ICC_PMR_EL1
234 REG_ICC_RPR_EL1
235 REG_ICC_SGI0R_EL1
236 REG_ICC_SGI1R_EL1
237 REG_ICC_SRE_EL1
238 REG_ICV_AP0R0_EL1
239 REG_ICV_AP0R1_EL1
240 REG_ICV_AP0R2_EL1
241 REG_ICV_AP0R3_EL1
242 REG_ICV_AP1R0_EL1
243 REG_ICV_AP1R1_EL1
244 REG_ICV_AP1R2_EL1
245 REG_ICV_AP1R3_EL1
246 REG_ICV_BPR0_EL1
247 REG_ICV_BPR1_EL1
248 REG_ICV_CTLR_EL1
249 REG_ICV_DIR_EL1
250 REG_ICV_EOIR0_EL1
251 REG_ICV_EOIR1_EL1
252 REG_ICV_HPPIR0_EL1
253 REG_ICV_HPPIR1_EL1
254 REG_ICV_IAR0_EL1
255 REG_ICV_IAR1_EL1
256 REG_ICV_IGRPEN0_EL1
257 REG_ICV_IGRPEN1_EL1
258 REG_ICV_PMR_EL1
259 REG_ICV_RPR_EL1
260 REG_ID_AA64AFR0_EL1
261 REG_ID_AA64AFR1_EL1
262 REG_ID_AA64DFR0_EL1
263 REG_ID_AA64DFR1_EL1
264 REG_ID_AA64ISAR0_EL1
265 REG_ID_AA64ISAR1_EL1
266 REG_ID_AA64MMFR0_EL1
267 REG_ID_AA64MMFR1_EL1
268 REG_ID_AA64MMFR2_EL1
269 REG_ID_AA64PFR0_EL1
270 REG_ID_AA64PFR1_EL1
271 REG_ID_AA64ZFR0_EL1
272 REG_ID_AFR0_EL1
273 REG_ID_DFR0_EL1
274 REG_ID_ISAR0_EL1
275 REG_ID_ISAR1_EL1
276 REG_ID_ISAR2_EL1
277 REG_ID_ISAR3_EL1
278 REG_ID_ISAR4_EL1
279 REG_ID_ISAR5_EL1
280 REG_ID_ISAR6_EL1
281 REG_ID_MMFR0_EL1
282 REG_ID_MMFR1_EL1
283 REG_ID_MMFR2_EL1
284 REG_ID_MMFR3_EL1
285 REG_ID_MMFR4_EL1
286 REG_ID_PFR0_EL1
287 REG_ID_PFR1_EL1
288 REG_ID_PFR2_EL1
289 REG_ISR_EL1
290 REG_LORC_EL1
291 REG_LOREA_EL1
292 REG_LORID_EL1
293 REG_LORN_EL1
294 REG_LORSA_EL1
295 REG_MAIR_EL1
296 REG_MDCCINT_EL1
297 REG_MDCCSR_EL0
298 REG_MDRAR_EL1
299 REG_MDSCR_EL1
300 REG_MIDR_EL1
301 REG_MPAM0_EL1
302 REG_MPAM1_EL1
303 REG_MPAMIDR_EL1
304 REG_MPIDR_EL1
305 REG_MVFR0_EL1
306 REG_MVFR1_EL1
307 REG_MVFR2_EL1
308 REG_NZCV
309 REG_OSDLR_EL1
310 REG_OSDTRRX_EL1
311 REG_OSDTRTX_EL1
312 REG_OSECCR_EL1
313 REG_OSLAR_EL1
314 REG_OSLSR_EL1
315 REG_PAN
316 REG_PAR_EL1
317 REG_PMBIDR_EL1
318 REG_PMBLIMITR_EL1
319 REG_PMBPTR_EL1
320 REG_PMBSR_EL1
321 REG_PMCCFILTR_EL0
322 REG_PMCCNTR_EL0
323 REG_PMCEID0_EL0
324 REG_PMCEID1_EL0
325 REG_PMCNTENCLR_EL0
326 REG_PMCNTENSET_EL0
327 REG_PMCR_EL0
328 REG_PMEVCNTR0_EL0
329 REG_PMEVCNTR1_EL0
330 REG_PMEVCNTR2_EL0
331 REG_PMEVCNTR3_EL0
332 REG_PMEVCNTR4_EL0
333 REG_PMEVCNTR5_EL0
334 REG_PMEVCNTR6_EL0
335 REG_PMEVCNTR7_EL0
336 REG_PMEVCNTR8_EL0
337 REG_PMEVCNTR9_EL0
338 REG_PMEVCNTR10_EL0
339 REG_PMEVCNTR11_EL0
340 REG_PMEVCNTR12_EL0
341 REG_PMEVCNTR13_EL0
342 REG_PMEVCNTR14_EL0
343 REG_PMEVCNTR15_EL0
344 REG_PMEVCNTR16_EL0
345 REG_PMEVCNTR17_EL0
346 REG_PMEVCNTR18_EL0
347 REG_PMEVCNTR19_EL0
348 REG_PMEVCNTR20_EL0
349 REG_PMEVCNTR21_EL0
350 REG_PMEVCNTR22_EL0
351 REG_PMEVCNTR23_EL0
352 REG_PMEVCNTR24_EL0
353 REG_PMEVCNTR25_EL0
354 REG_PMEVCNTR26_EL0
355 REG_PMEVCNTR27_EL0
356 REG_PMEVCNTR28_EL0
357 REG_PMEVCNTR29_EL0
358 REG_PMEVCNTR30_EL0
359 REG_PMEVTYPER0_EL0
360 REG_PMEVTYPER1_EL0
361 REG_PMEVTYPER2_EL0
362 REG_PMEVTYPER3_EL0
363 REG_PMEVTYPER4_EL0
364 REG_PMEVTYPER5_EL0
365 REG_PMEVTYPER6_EL0
366 REG_PMEVTYPER7_EL0
367 REG_PMEVTYPER8_EL0
368 REG_PMEVTYPER9_EL0
369 REG_PMEVTYPER10_EL0
370 REG_PMEVTYPER11_EL0
371 REG_PMEVTYPER12_EL0
372 REG_PMEVTYPER13_EL0
373 REG_PMEVTYPER14_EL0
374 REG_PMEVTYPER15_EL0
375 REG_PMEVTYPER16_EL0
376 REG_PMEVTYPER17_EL0
377 REG_PMEVTYPER18_EL0
378 REG_PMEVTYPER19_EL0
379 REG_PMEVTYPER20_EL0
380 REG_PMEVTYPER21_EL0
381 REG_PMEVTYPER22_EL0
382 REG_PMEVTYPER23_EL0
383 REG_PMEVTYPER24_EL0
384 REG_PMEVTYPER25_EL0
385 REG_PMEVTYPER26_EL0
386 REG_PMEVTYPER27_EL0
387 REG_PMEVTYPER28_EL0
388 REG_PMEVTYPER29_EL0
389 REG_PMEVTYPER30_EL0
390 REG_PMINTENCLR_EL1
391 REG_PMINTENSET_EL1
392 REG_PMMIR_EL1
393 REG_PMOVSCLR_EL0
394 REG_PMOVSSET_EL0
395 REG_PMSCR_EL1
396 REG_PMSELR_EL0
397 REG_PMSEVFR_EL1
398 REG_PMSFCR_EL1
399 REG_PMSICR_EL1
400 REG_PMSIDR_EL1
401 REG_PMSIRR_EL1
402 REG_PMSLATFR_EL1
403 REG_PMSWINC_EL0
404 REG_PMUSERENR_EL0
405 REG_PMXEVCNTR_EL0
406 REG_PMXEVTYPER_EL0
407 REG_REVIDR_EL1
408 REG_RGSR_EL1
409 REG_RMR_EL1
410 REG_RNDR
411 REG_RNDRRS
412 REG_RVBAR_EL1
413 REG_SCTLR_EL1
414 REG_SCXTNUM_EL0
415 REG_SCXTNUM_EL1
416 REG_SP_EL0
417 REG_SP_EL1
418 REG_SPSel
419 REG_SPSR_abt
420 REG_SPSR_EL1
421 REG_SPSR_fiq
422 REG_SPSR_irq
423 REG_SPSR_und
424 REG_SSBS
425 REG_TCO
426 REG_TCR_EL1
427 REG_TFSR_EL1
428 REG_TFSRE0_EL1
429 REG_TPIDR_EL0
430 REG_TPIDR_EL1
431 REG_TPIDRRO_EL0
432 REG_TRFCR_EL1
433 REG_TTBR0_EL1
434 REG_TTBR1_EL1
435 REG_UAO
436 REG_VBAR_EL1
437 REG_ZCR_EL1
438 SYSREG_END
439 )
440
441 const (
442 SR_READ = 1 << iota
443 SR_WRITE
444 )
445
446 var SystemReg = []struct {
447 Name string
448 Reg int16
449 Enc uint32
450
451 AccessFlags uint8
452 }{
453 {"ACTLR_EL1", REG_ACTLR_EL1, 0x181020, SR_READ | SR_WRITE},
454 {"AFSR0_EL1", REG_AFSR0_EL1, 0x185100, SR_READ | SR_WRITE},
455 {"AFSR1_EL1", REG_AFSR1_EL1, 0x185120, SR_READ | SR_WRITE},
456 {"AIDR_EL1", REG_AIDR_EL1, 0x1900e0, SR_READ},
457 {"AMAIR_EL1", REG_AMAIR_EL1, 0x18a300, SR_READ | SR_WRITE},
458 {"AMCFGR_EL0", REG_AMCFGR_EL0, 0x1bd220, SR_READ},
459 {"AMCGCR_EL0", REG_AMCGCR_EL0, 0x1bd240, SR_READ},
460 {"AMCNTENCLR0_EL0", REG_AMCNTENCLR0_EL0, 0x1bd280, SR_READ | SR_WRITE},
461 {"AMCNTENCLR1_EL0", REG_AMCNTENCLR1_EL0, 0x1bd300, SR_READ | SR_WRITE},
462 {"AMCNTENSET0_EL0", REG_AMCNTENSET0_EL0, 0x1bd2a0, SR_READ | SR_WRITE},
463 {"AMCNTENSET1_EL0", REG_AMCNTENSET1_EL0, 0x1bd320, SR_READ | SR_WRITE},
464 {"AMCR_EL0", REG_AMCR_EL0, 0x1bd200, SR_READ | SR_WRITE},
465 {"AMEVCNTR00_EL0", REG_AMEVCNTR00_EL0, 0x1bd400, SR_READ | SR_WRITE},
466 {"AMEVCNTR01_EL0", REG_AMEVCNTR01_EL0, 0x1bd420, SR_READ | SR_WRITE},
467 {"AMEVCNTR02_EL0", REG_AMEVCNTR02_EL0, 0x1bd440, SR_READ | SR_WRITE},
468 {"AMEVCNTR03_EL0", REG_AMEVCNTR03_EL0, 0x1bd460, SR_READ | SR_WRITE},
469 {"AMEVCNTR04_EL0", REG_AMEVCNTR04_EL0, 0x1bd480, SR_READ | SR_WRITE},
470 {"AMEVCNTR05_EL0", REG_AMEVCNTR05_EL0, 0x1bd4a0, SR_READ | SR_WRITE},
471 {"AMEVCNTR06_EL0", REG_AMEVCNTR06_EL0, 0x1bd4c0, SR_READ | SR_WRITE},
472 {"AMEVCNTR07_EL0", REG_AMEVCNTR07_EL0, 0x1bd4e0, SR_READ | SR_WRITE},
473 {"AMEVCNTR08_EL0", REG_AMEVCNTR08_EL0, 0x1bd500, SR_READ | SR_WRITE},
474 {"AMEVCNTR09_EL0", REG_AMEVCNTR09_EL0, 0x1bd520, SR_READ | SR_WRITE},
475 {"AMEVCNTR010_EL0", REG_AMEVCNTR010_EL0, 0x1bd540, SR_READ | SR_WRITE},
476 {"AMEVCNTR011_EL0", REG_AMEVCNTR011_EL0, 0x1bd560, SR_READ | SR_WRITE},
477 {"AMEVCNTR012_EL0", REG_AMEVCNTR012_EL0, 0x1bd580, SR_READ | SR_WRITE},
478 {"AMEVCNTR013_EL0", REG_AMEVCNTR013_EL0, 0x1bd5a0, SR_READ | SR_WRITE},
479 {"AMEVCNTR014_EL0", REG_AMEVCNTR014_EL0, 0x1bd5c0, SR_READ | SR_WRITE},
480 {"AMEVCNTR015_EL0", REG_AMEVCNTR015_EL0, 0x1bd5e0, SR_READ | SR_WRITE},
481 {"AMEVCNTR10_EL0", REG_AMEVCNTR10_EL0, 0x1bdc00, SR_READ | SR_WRITE},
482 {"AMEVCNTR11_EL0", REG_AMEVCNTR11_EL0, 0x1bdc20, SR_READ | SR_WRITE},
483 {"AMEVCNTR12_EL0", REG_AMEVCNTR12_EL0, 0x1bdc40, SR_READ | SR_WRITE},
484 {"AMEVCNTR13_EL0", REG_AMEVCNTR13_EL0, 0x1bdc60, SR_READ | SR_WRITE},
485 {"AMEVCNTR14_EL0", REG_AMEVCNTR14_EL0, 0x1bdc80, SR_READ | SR_WRITE},
486 {"AMEVCNTR15_EL0", REG_AMEVCNTR15_EL0, 0x1bdca0, SR_READ | SR_WRITE},
487 {"AMEVCNTR16_EL0", REG_AMEVCNTR16_EL0, 0x1bdcc0, SR_READ | SR_WRITE},
488 {"AMEVCNTR17_EL0", REG_AMEVCNTR17_EL0, 0x1bdce0, SR_READ | SR_WRITE},
489 {"AMEVCNTR18_EL0", REG_AMEVCNTR18_EL0, 0x1bdd00, SR_READ | SR_WRITE},
490 {"AMEVCNTR19_EL0", REG_AMEVCNTR19_EL0, 0x1bdd20, SR_READ | SR_WRITE},
491 {"AMEVCNTR110_EL0", REG_AMEVCNTR110_EL0, 0x1bdd40, SR_READ | SR_WRITE},
492 {"AMEVCNTR111_EL0", REG_AMEVCNTR111_EL0, 0x1bdd60, SR_READ | SR_WRITE},
493 {"AMEVCNTR112_EL0", REG_AMEVCNTR112_EL0, 0x1bdd80, SR_READ | SR_WRITE},
494 {"AMEVCNTR113_EL0", REG_AMEVCNTR113_EL0, 0x1bdda0, SR_READ | SR_WRITE},
495 {"AMEVCNTR114_EL0", REG_AMEVCNTR114_EL0, 0x1bddc0, SR_READ | SR_WRITE},
496 {"AMEVCNTR115_EL0", REG_AMEVCNTR115_EL0, 0x1bdde0, SR_READ | SR_WRITE},
497 {"AMEVTYPER00_EL0", REG_AMEVTYPER00_EL0, 0x1bd600, SR_READ},
498 {"AMEVTYPER01_EL0", REG_AMEVTYPER01_EL0, 0x1bd620, SR_READ},
499 {"AMEVTYPER02_EL0", REG_AMEVTYPER02_EL0, 0x1bd640, SR_READ},
500 {"AMEVTYPER03_EL0", REG_AMEVTYPER03_EL0, 0x1bd660, SR_READ},
501 {"AMEVTYPER04_EL0", REG_AMEVTYPER04_EL0, 0x1bd680, SR_READ},
502 {"AMEVTYPER05_EL0", REG_AMEVTYPER05_EL0, 0x1bd6a0, SR_READ},
503 {"AMEVTYPER06_EL0", REG_AMEVTYPER06_EL0, 0x1bd6c0, SR_READ},
504 {"AMEVTYPER07_EL0", REG_AMEVTYPER07_EL0, 0x1bd6e0, SR_READ},
505 {"AMEVTYPER08_EL0", REG_AMEVTYPER08_EL0, 0x1bd700, SR_READ},
506 {"AMEVTYPER09_EL0", REG_AMEVTYPER09_EL0, 0x1bd720, SR_READ},
507 {"AMEVTYPER010_EL0", REG_AMEVTYPER010_EL0, 0x1bd740, SR_READ},
508 {"AMEVTYPER011_EL0", REG_AMEVTYPER011_EL0, 0x1bd760, SR_READ},
509 {"AMEVTYPER012_EL0", REG_AMEVTYPER012_EL0, 0x1bd780, SR_READ},
510 {"AMEVTYPER013_EL0", REG_AMEVTYPER013_EL0, 0x1bd7a0, SR_READ},
511 {"AMEVTYPER014_EL0", REG_AMEVTYPER014_EL0, 0x1bd7c0, SR_READ},
512 {"AMEVTYPER015_EL0", REG_AMEVTYPER015_EL0, 0x1bd7e0, SR_READ},
513 {"AMEVTYPER10_EL0", REG_AMEVTYPER10_EL0, 0x1bde00, SR_READ | SR_WRITE},
514 {"AMEVTYPER11_EL0", REG_AMEVTYPER11_EL0, 0x1bde20, SR_READ | SR_WRITE},
515 {"AMEVTYPER12_EL0", REG_AMEVTYPER12_EL0, 0x1bde40, SR_READ | SR_WRITE},
516 {"AMEVTYPER13_EL0", REG_AMEVTYPER13_EL0, 0x1bde60, SR_READ | SR_WRITE},
517 {"AMEVTYPER14_EL0", REG_AMEVTYPER14_EL0, 0x1bde80, SR_READ | SR_WRITE},
518 {"AMEVTYPER15_EL0", REG_AMEVTYPER15_EL0, 0x1bdea0, SR_READ | SR_WRITE},
519 {"AMEVTYPER16_EL0", REG_AMEVTYPER16_EL0, 0x1bdec0, SR_READ | SR_WRITE},
520 {"AMEVTYPER17_EL0", REG_AMEVTYPER17_EL0, 0x1bdee0, SR_READ | SR_WRITE},
521 {"AMEVTYPER18_EL0", REG_AMEVTYPER18_EL0, 0x1bdf00, SR_READ | SR_WRITE},
522 {"AMEVTYPER19_EL0", REG_AMEVTYPER19_EL0, 0x1bdf20, SR_READ | SR_WRITE},
523 {"AMEVTYPER110_EL0", REG_AMEVTYPER110_EL0, 0x1bdf40, SR_READ | SR_WRITE},
524 {"AMEVTYPER111_EL0", REG_AMEVTYPER111_EL0, 0x1bdf60, SR_READ | SR_WRITE},
525 {"AMEVTYPER112_EL0", REG_AMEVTYPER112_EL0, 0x1bdf80, SR_READ | SR_WRITE},
526 {"AMEVTYPER113_EL0", REG_AMEVTYPER113_EL0, 0x1bdfa0, SR_READ | SR_WRITE},
527 {"AMEVTYPER114_EL0", REG_AMEVTYPER114_EL0, 0x1bdfc0, SR_READ | SR_WRITE},
528 {"AMEVTYPER115_EL0", REG_AMEVTYPER115_EL0, 0x1bdfe0, SR_READ | SR_WRITE},
529 {"AMUSERENR_EL0", REG_AMUSERENR_EL0, 0x1bd260, SR_READ | SR_WRITE},
530 {"APDAKeyHi_EL1", REG_APDAKeyHi_EL1, 0x182220, SR_READ | SR_WRITE},
531 {"APDAKeyLo_EL1", REG_APDAKeyLo_EL1, 0x182200, SR_READ | SR_WRITE},
532 {"APDBKeyHi_EL1", REG_APDBKeyHi_EL1, 0x182260, SR_READ | SR_WRITE},
533 {"APDBKeyLo_EL1", REG_APDBKeyLo_EL1, 0x182240, SR_READ | SR_WRITE},
534 {"APGAKeyHi_EL1", REG_APGAKeyHi_EL1, 0x182320, SR_READ | SR_WRITE},
535 {"APGAKeyLo_EL1", REG_APGAKeyLo_EL1, 0x182300, SR_READ | SR_WRITE},
536 {"APIAKeyHi_EL1", REG_APIAKeyHi_EL1, 0x182120, SR_READ | SR_WRITE},
537 {"APIAKeyLo_EL1", REG_APIAKeyLo_EL1, 0x182100, SR_READ | SR_WRITE},
538 {"APIBKeyHi_EL1", REG_APIBKeyHi_EL1, 0x182160, SR_READ | SR_WRITE},
539 {"APIBKeyLo_EL1", REG_APIBKeyLo_EL1, 0x182140, SR_READ | SR_WRITE},
540 {"CCSIDR2_EL1", REG_CCSIDR2_EL1, 0x190040, SR_READ},
541 {"CCSIDR_EL1", REG_CCSIDR_EL1, 0x190000, SR_READ},
542 {"CLIDR_EL1", REG_CLIDR_EL1, 0x190020, SR_READ},
543 {"CNTFRQ_EL0", REG_CNTFRQ_EL0, 0x1be000, SR_READ | SR_WRITE},
544 {"CNTKCTL_EL1", REG_CNTKCTL_EL1, 0x18e100, SR_READ | SR_WRITE},
545 {"CNTP_CTL_EL0", REG_CNTP_CTL_EL0, 0x1be220, SR_READ | SR_WRITE},
546 {"CNTP_CVAL_EL0", REG_CNTP_CVAL_EL0, 0x1be240, SR_READ | SR_WRITE},
547 {"CNTP_TVAL_EL0", REG_CNTP_TVAL_EL0, 0x1be200, SR_READ | SR_WRITE},
548 {"CNTPCT_EL0", REG_CNTPCT_EL0, 0x1be020, SR_READ},
549 {"CNTPS_CTL_EL1", REG_CNTPS_CTL_EL1, 0x1fe220, SR_READ | SR_WRITE},
550 {"CNTPS_CVAL_EL1", REG_CNTPS_CVAL_EL1, 0x1fe240, SR_READ | SR_WRITE},
551 {"CNTPS_TVAL_EL1", REG_CNTPS_TVAL_EL1, 0x1fe200, SR_READ | SR_WRITE},
552 {"CNTV_CTL_EL0", REG_CNTV_CTL_EL0, 0x1be320, SR_READ | SR_WRITE},
553 {"CNTV_CVAL_EL0", REG_CNTV_CVAL_EL0, 0x1be340, SR_READ | SR_WRITE},
554 {"CNTV_TVAL_EL0", REG_CNTV_TVAL_EL0, 0x1be300, SR_READ | SR_WRITE},
555 {"CNTVCT_EL0", REG_CNTVCT_EL0, 0x1be040, SR_READ},
556 {"CONTEXTIDR_EL1", REG_CONTEXTIDR_EL1, 0x18d020, SR_READ | SR_WRITE},
557 {"CPACR_EL1", REG_CPACR_EL1, 0x181040, SR_READ | SR_WRITE},
558 {"CSSELR_EL1", REG_CSSELR_EL1, 0x1a0000, SR_READ | SR_WRITE},
559 {"CTR_EL0", REG_CTR_EL0, 0x1b0020, SR_READ},
560 {"CurrentEL", REG_CurrentEL, 0x184240, SR_READ},
561 {"DAIF", REG_DAIF, 0x1b4220, SR_READ | SR_WRITE},
562 {"DBGAUTHSTATUS_EL1", REG_DBGAUTHSTATUS_EL1, 0x107ec0, SR_READ},
563 {"DBGBCR0_EL1", REG_DBGBCR0_EL1, 0x1000a0, SR_READ | SR_WRITE},
564 {"DBGBCR1_EL1", REG_DBGBCR1_EL1, 0x1001a0, SR_READ | SR_WRITE},
565 {"DBGBCR2_EL1", REG_DBGBCR2_EL1, 0x1002a0, SR_READ | SR_WRITE},
566 {"DBGBCR3_EL1", REG_DBGBCR3_EL1, 0x1003a0, SR_READ | SR_WRITE},
567 {"DBGBCR4_EL1", REG_DBGBCR4_EL1, 0x1004a0, SR_READ | SR_WRITE},
568 {"DBGBCR5_EL1", REG_DBGBCR5_EL1, 0x1005a0, SR_READ | SR_WRITE},
569 {"DBGBCR6_EL1", REG_DBGBCR6_EL1, 0x1006a0, SR_READ | SR_WRITE},
570 {"DBGBCR7_EL1", REG_DBGBCR7_EL1, 0x1007a0, SR_READ | SR_WRITE},
571 {"DBGBCR8_EL1", REG_DBGBCR8_EL1, 0x1008a0, SR_READ | SR_WRITE},
572 {"DBGBCR9_EL1", REG_DBGBCR9_EL1, 0x1009a0, SR_READ | SR_WRITE},
573 {"DBGBCR10_EL1", REG_DBGBCR10_EL1, 0x100aa0, SR_READ | SR_WRITE},
574 {"DBGBCR11_EL1", REG_DBGBCR11_EL1, 0x100ba0, SR_READ | SR_WRITE},
575 {"DBGBCR12_EL1", REG_DBGBCR12_EL1, 0x100ca0, SR_READ | SR_WRITE},
576 {"DBGBCR13_EL1", REG_DBGBCR13_EL1, 0x100da0, SR_READ | SR_WRITE},
577 {"DBGBCR14_EL1", REG_DBGBCR14_EL1, 0x100ea0, SR_READ | SR_WRITE},
578 {"DBGBCR15_EL1", REG_DBGBCR15_EL1, 0x100fa0, SR_READ | SR_WRITE},
579 {"DBGBVR0_EL1", REG_DBGBVR0_EL1, 0x100080, SR_READ | SR_WRITE},
580 {"DBGBVR1_EL1", REG_DBGBVR1_EL1, 0x100180, SR_READ | SR_WRITE},
581 {"DBGBVR2_EL1", REG_DBGBVR2_EL1, 0x100280, SR_READ | SR_WRITE},
582 {"DBGBVR3_EL1", REG_DBGBVR3_EL1, 0x100380, SR_READ | SR_WRITE},
583 {"DBGBVR4_EL1", REG_DBGBVR4_EL1, 0x100480, SR_READ | SR_WRITE},
584 {"DBGBVR5_EL1", REG_DBGBVR5_EL1, 0x100580, SR_READ | SR_WRITE},
585 {"DBGBVR6_EL1", REG_DBGBVR6_EL1, 0x100680, SR_READ | SR_WRITE},
586 {"DBGBVR7_EL1", REG_DBGBVR7_EL1, 0x100780, SR_READ | SR_WRITE},
587 {"DBGBVR8_EL1", REG_DBGBVR8_EL1, 0x100880, SR_READ | SR_WRITE},
588 {"DBGBVR9_EL1", REG_DBGBVR9_EL1, 0x100980, SR_READ | SR_WRITE},
589 {"DBGBVR10_EL1", REG_DBGBVR10_EL1, 0x100a80, SR_READ | SR_WRITE},
590 {"DBGBVR11_EL1", REG_DBGBVR11_EL1, 0x100b80, SR_READ | SR_WRITE},
591 {"DBGBVR12_EL1", REG_DBGBVR12_EL1, 0x100c80, SR_READ | SR_WRITE},
592 {"DBGBVR13_EL1", REG_DBGBVR13_EL1, 0x100d80, SR_READ | SR_WRITE},
593 {"DBGBVR14_EL1", REG_DBGBVR14_EL1, 0x100e80, SR_READ | SR_WRITE},
594 {"DBGBVR15_EL1", REG_DBGBVR15_EL1, 0x100f80, SR_READ | SR_WRITE},
595 {"DBGCLAIMCLR_EL1", REG_DBGCLAIMCLR_EL1, 0x1079c0, SR_READ | SR_WRITE},
596 {"DBGCLAIMSET_EL1", REG_DBGCLAIMSET_EL1, 0x1078c0, SR_READ | SR_WRITE},
597 {"DBGDTR_EL0", REG_DBGDTR_EL0, 0x130400, SR_READ | SR_WRITE},
598 {"DBGDTRRX_EL0", REG_DBGDTRRX_EL0, 0x130500, SR_READ},
599 {"DBGDTRTX_EL0", REG_DBGDTRTX_EL0, 0x130500, SR_WRITE},
600 {"DBGPRCR_EL1", REG_DBGPRCR_EL1, 0x101480, SR_READ | SR_WRITE},
601 {"DBGWCR0_EL1", REG_DBGWCR0_EL1, 0x1000e0, SR_READ | SR_WRITE},
602 {"DBGWCR1_EL1", REG_DBGWCR1_EL1, 0x1001e0, SR_READ | SR_WRITE},
603 {"DBGWCR2_EL1", REG_DBGWCR2_EL1, 0x1002e0, SR_READ | SR_WRITE},
604 {"DBGWCR3_EL1", REG_DBGWCR3_EL1, 0x1003e0, SR_READ | SR_WRITE},
605 {"DBGWCR4_EL1", REG_DBGWCR4_EL1, 0x1004e0, SR_READ | SR_WRITE},
606 {"DBGWCR5_EL1", REG_DBGWCR5_EL1, 0x1005e0, SR_READ | SR_WRITE},
607 {"DBGWCR6_EL1", REG_DBGWCR6_EL1, 0x1006e0, SR_READ | SR_WRITE},
608 {"DBGWCR7_EL1", REG_DBGWCR7_EL1, 0x1007e0, SR_READ | SR_WRITE},
609 {"DBGWCR8_EL1", REG_DBGWCR8_EL1, 0x1008e0, SR_READ | SR_WRITE},
610 {"DBGWCR9_EL1", REG_DBGWCR9_EL1, 0x1009e0, SR_READ | SR_WRITE},
611 {"DBGWCR10_EL1", REG_DBGWCR10_EL1, 0x100ae0, SR_READ | SR_WRITE},
612 {"DBGWCR11_EL1", REG_DBGWCR11_EL1, 0x100be0, SR_READ | SR_WRITE},
613 {"DBGWCR12_EL1", REG_DBGWCR12_EL1, 0x100ce0, SR_READ | SR_WRITE},
614 {"DBGWCR13_EL1", REG_DBGWCR13_EL1, 0x100de0, SR_READ | SR_WRITE},
615 {"DBGWCR14_EL1", REG_DBGWCR14_EL1, 0x100ee0, SR_READ | SR_WRITE},
616 {"DBGWCR15_EL1", REG_DBGWCR15_EL1, 0x100fe0, SR_READ | SR_WRITE},
617 {"DBGWVR0_EL1", REG_DBGWVR0_EL1, 0x1000c0, SR_READ | SR_WRITE},
618 {"DBGWVR1_EL1", REG_DBGWVR1_EL1, 0x1001c0, SR_READ | SR_WRITE},
619 {"DBGWVR2_EL1", REG_DBGWVR2_EL1, 0x1002c0, SR_READ | SR_WRITE},
620 {"DBGWVR3_EL1", REG_DBGWVR3_EL1, 0x1003c0, SR_READ | SR_WRITE},
621 {"DBGWVR4_EL1", REG_DBGWVR4_EL1, 0x1004c0, SR_READ | SR_WRITE},
622 {"DBGWVR5_EL1", REG_DBGWVR5_EL1, 0x1005c0, SR_READ | SR_WRITE},
623 {"DBGWVR6_EL1", REG_DBGWVR6_EL1, 0x1006c0, SR_READ | SR_WRITE},
624 {"DBGWVR7_EL1", REG_DBGWVR7_EL1, 0x1007c0, SR_READ | SR_WRITE},
625 {"DBGWVR8_EL1", REG_DBGWVR8_EL1, 0x1008c0, SR_READ | SR_WRITE},
626 {"DBGWVR9_EL1", REG_DBGWVR9_EL1, 0x1009c0, SR_READ | SR_WRITE},
627 {"DBGWVR10_EL1", REG_DBGWVR10_EL1, 0x100ac0, SR_READ | SR_WRITE},
628 {"DBGWVR11_EL1", REG_DBGWVR11_EL1, 0x100bc0, SR_READ | SR_WRITE},
629 {"DBGWVR12_EL1", REG_DBGWVR12_EL1, 0x100cc0, SR_READ | SR_WRITE},
630 {"DBGWVR13_EL1", REG_DBGWVR13_EL1, 0x100dc0, SR_READ | SR_WRITE},
631 {"DBGWVR14_EL1", REG_DBGWVR14_EL1, 0x100ec0, SR_READ | SR_WRITE},
632 {"DBGWVR15_EL1", REG_DBGWVR15_EL1, 0x100fc0, SR_READ | SR_WRITE},
633 {"DCZID_EL0", REG_DCZID_EL0, 0x1b00e0, SR_READ},
634 {"DISR_EL1", REG_DISR_EL1, 0x18c120, SR_READ | SR_WRITE},
635 {"DIT", REG_DIT, 0x1b42a0, SR_READ | SR_WRITE},
636 {"DLR_EL0", REG_DLR_EL0, 0x1b4520, SR_READ | SR_WRITE},
637 {"DSPSR_EL0", REG_DSPSR_EL0, 0x1b4500, SR_READ | SR_WRITE},
638 {"ELR_EL1", REG_ELR_EL1, 0x184020, SR_READ | SR_WRITE},
639 {"ERRIDR_EL1", REG_ERRIDR_EL1, 0x185300, SR_READ},
640 {"ERRSELR_EL1", REG_ERRSELR_EL1, 0x185320, SR_READ | SR_WRITE},
641 {"ERXADDR_EL1", REG_ERXADDR_EL1, 0x185460, SR_READ | SR_WRITE},
642 {"ERXCTLR_EL1", REG_ERXCTLR_EL1, 0x185420, SR_READ | SR_WRITE},
643 {"ERXFR_EL1", REG_ERXFR_EL1, 0x185400, SR_READ},
644 {"ERXMISC0_EL1", REG_ERXMISC0_EL1, 0x185500, SR_READ | SR_WRITE},
645 {"ERXMISC1_EL1", REG_ERXMISC1_EL1, 0x185520, SR_READ | SR_WRITE},
646 {"ERXMISC2_EL1", REG_ERXMISC2_EL1, 0x185540, SR_READ | SR_WRITE},
647 {"ERXMISC3_EL1", REG_ERXMISC3_EL1, 0x185560, SR_READ | SR_WRITE},
648 {"ERXPFGCDN_EL1", REG_ERXPFGCDN_EL1, 0x1854c0, SR_READ | SR_WRITE},
649 {"ERXPFGCTL_EL1", REG_ERXPFGCTL_EL1, 0x1854a0, SR_READ | SR_WRITE},
650 {"ERXPFGF_EL1", REG_ERXPFGF_EL1, 0x185480, SR_READ},
651 {"ERXSTATUS_EL1", REG_ERXSTATUS_EL1, 0x185440, SR_READ | SR_WRITE},
652 {"ESR_EL1", REG_ESR_EL1, 0x185200, SR_READ | SR_WRITE},
653 {"FAR_EL1", REG_FAR_EL1, 0x186000, SR_READ | SR_WRITE},
654 {"FPCR", REG_FPCR, 0x1b4400, SR_READ | SR_WRITE},
655 {"FPSR", REG_FPSR, 0x1b4420, SR_READ | SR_WRITE},
656 {"GCR_EL1", REG_GCR_EL1, 0x1810c0, SR_READ | SR_WRITE},
657 {"GMID_EL1", REG_GMID_EL1, 0x31400, SR_READ},
658 {"ICC_AP0R0_EL1", REG_ICC_AP0R0_EL1, 0x18c880, SR_READ | SR_WRITE},
659 {"ICC_AP0R1_EL1", REG_ICC_AP0R1_EL1, 0x18c8a0, SR_READ | SR_WRITE},
660 {"ICC_AP0R2_EL1", REG_ICC_AP0R2_EL1, 0x18c8c0, SR_READ | SR_WRITE},
661 {"ICC_AP0R3_EL1", REG_ICC_AP0R3_EL1, 0x18c8e0, SR_READ | SR_WRITE},
662 {"ICC_AP1R0_EL1", REG_ICC_AP1R0_EL1, 0x18c900, SR_READ | SR_WRITE},
663 {"ICC_AP1R1_EL1", REG_ICC_AP1R1_EL1, 0x18c920, SR_READ | SR_WRITE},
664 {"ICC_AP1R2_EL1", REG_ICC_AP1R2_EL1, 0x18c940, SR_READ | SR_WRITE},
665 {"ICC_AP1R3_EL1", REG_ICC_AP1R3_EL1, 0x18c960, SR_READ | SR_WRITE},
666 {"ICC_ASGI1R_EL1", REG_ICC_ASGI1R_EL1, 0x18cbc0, SR_WRITE},
667 {"ICC_BPR0_EL1", REG_ICC_BPR0_EL1, 0x18c860, SR_READ | SR_WRITE},
668 {"ICC_BPR1_EL1", REG_ICC_BPR1_EL1, 0x18cc60, SR_READ | SR_WRITE},
669 {"ICC_CTLR_EL1", REG_ICC_CTLR_EL1, 0x18cc80, SR_READ | SR_WRITE},
670 {"ICC_DIR_EL1", REG_ICC_DIR_EL1, 0x18cb20, SR_WRITE},
671 {"ICC_EOIR0_EL1", REG_ICC_EOIR0_EL1, 0x18c820, SR_WRITE},
672 {"ICC_EOIR1_EL1", REG_ICC_EOIR1_EL1, 0x18cc20, SR_WRITE},
673 {"ICC_HPPIR0_EL1", REG_ICC_HPPIR0_EL1, 0x18c840, SR_READ},
674 {"ICC_HPPIR1_EL1", REG_ICC_HPPIR1_EL1, 0x18cc40, SR_READ},
675 {"ICC_IAR0_EL1", REG_ICC_IAR0_EL1, 0x18c800, SR_READ},
676 {"ICC_IAR1_EL1", REG_ICC_IAR1_EL1, 0x18cc00, SR_READ},
677 {"ICC_IGRPEN0_EL1", REG_ICC_IGRPEN0_EL1, 0x18ccc0, SR_READ | SR_WRITE},
678 {"ICC_IGRPEN1_EL1", REG_ICC_IGRPEN1_EL1, 0x18cce0, SR_READ | SR_WRITE},
679 {"ICC_PMR_EL1", REG_ICC_PMR_EL1, 0x184600, SR_READ | SR_WRITE},
680 {"ICC_RPR_EL1", REG_ICC_RPR_EL1, 0x18cb60, SR_READ},
681 {"ICC_SGI0R_EL1", REG_ICC_SGI0R_EL1, 0x18cbe0, SR_WRITE},
682 {"ICC_SGI1R_EL1", REG_ICC_SGI1R_EL1, 0x18cba0, SR_WRITE},
683 {"ICC_SRE_EL1", REG_ICC_SRE_EL1, 0x18cca0, SR_READ | SR_WRITE},
684 {"ICV_AP0R0_EL1", REG_ICV_AP0R0_EL1, 0x18c880, SR_READ | SR_WRITE},
685 {"ICV_AP0R1_EL1", REG_ICV_AP0R1_EL1, 0x18c8a0, SR_READ | SR_WRITE},
686 {"ICV_AP0R2_EL1", REG_ICV_AP0R2_EL1, 0x18c8c0, SR_READ | SR_WRITE},
687 {"ICV_AP0R3_EL1", REG_ICV_AP0R3_EL1, 0x18c8e0, SR_READ | SR_WRITE},
688 {"ICV_AP1R0_EL1", REG_ICV_AP1R0_EL1, 0x18c900, SR_READ | SR_WRITE},
689 {"ICV_AP1R1_EL1", REG_ICV_AP1R1_EL1, 0x18c920, SR_READ | SR_WRITE},
690 {"ICV_AP1R2_EL1", REG_ICV_AP1R2_EL1, 0x18c940, SR_READ | SR_WRITE},
691 {"ICV_AP1R3_EL1", REG_ICV_AP1R3_EL1, 0x18c960, SR_READ | SR_WRITE},
692 {"ICV_BPR0_EL1", REG_ICV_BPR0_EL1, 0x18c860, SR_READ | SR_WRITE},
693 {"ICV_BPR1_EL1", REG_ICV_BPR1_EL1, 0x18cc60, SR_READ | SR_WRITE},
694 {"ICV_CTLR_EL1", REG_ICV_CTLR_EL1, 0x18cc80, SR_READ | SR_WRITE},
695 {"ICV_DIR_EL1", REG_ICV_DIR_EL1, 0x18cb20, SR_WRITE},
696 {"ICV_EOIR0_EL1", REG_ICV_EOIR0_EL1, 0x18c820, SR_WRITE},
697 {"ICV_EOIR1_EL1", REG_ICV_EOIR1_EL1, 0x18cc20, SR_WRITE},
698 {"ICV_HPPIR0_EL1", REG_ICV_HPPIR0_EL1, 0x18c840, SR_READ},
699 {"ICV_HPPIR1_EL1", REG_ICV_HPPIR1_EL1, 0x18cc40, SR_READ},
700 {"ICV_IAR0_EL1", REG_ICV_IAR0_EL1, 0x18c800, SR_READ},
701 {"ICV_IAR1_EL1", REG_ICV_IAR1_EL1, 0x18cc00, SR_READ},
702 {"ICV_IGRPEN0_EL1", REG_ICV_IGRPEN0_EL1, 0x18ccc0, SR_READ | SR_WRITE},
703 {"ICV_IGRPEN1_EL1", REG_ICV_IGRPEN1_EL1, 0x18cce0, SR_READ | SR_WRITE},
704 {"ICV_PMR_EL1", REG_ICV_PMR_EL1, 0x184600, SR_READ | SR_WRITE},
705 {"ICV_RPR_EL1", REG_ICV_RPR_EL1, 0x18cb60, SR_READ},
706 {"ID_AA64AFR0_EL1", REG_ID_AA64AFR0_EL1, 0x180580, SR_READ},
707 {"ID_AA64AFR1_EL1", REG_ID_AA64AFR1_EL1, 0x1805a0, SR_READ},
708 {"ID_AA64DFR0_EL1", REG_ID_AA64DFR0_EL1, 0x180500, SR_READ},
709 {"ID_AA64DFR1_EL1", REG_ID_AA64DFR1_EL1, 0x180520, SR_READ},
710 {"ID_AA64ISAR0_EL1", REG_ID_AA64ISAR0_EL1, 0x180600, SR_READ},
711 {"ID_AA64ISAR1_EL1", REG_ID_AA64ISAR1_EL1, 0x180620, SR_READ},
712 {"ID_AA64MMFR0_EL1", REG_ID_AA64MMFR0_EL1, 0x180700, SR_READ},
713 {"ID_AA64MMFR1_EL1", REG_ID_AA64MMFR1_EL1, 0x180720, SR_READ},
714 {"ID_AA64MMFR2_EL1", REG_ID_AA64MMFR2_EL1, 0x180740, SR_READ},
715 {"ID_AA64PFR0_EL1", REG_ID_AA64PFR0_EL1, 0x180400, SR_READ},
716 {"ID_AA64PFR1_EL1", REG_ID_AA64PFR1_EL1, 0x180420, SR_READ},
717 {"ID_AA64ZFR0_EL1", REG_ID_AA64ZFR0_EL1, 0x180480, SR_READ},
718 {"ID_AFR0_EL1", REG_ID_AFR0_EL1, 0x180160, SR_READ},
719 {"ID_DFR0_EL1", REG_ID_DFR0_EL1, 0x180140, SR_READ},
720 {"ID_ISAR0_EL1", REG_ID_ISAR0_EL1, 0x180200, SR_READ},
721 {"ID_ISAR1_EL1", REG_ID_ISAR1_EL1, 0x180220, SR_READ},
722 {"ID_ISAR2_EL1", REG_ID_ISAR2_EL1, 0x180240, SR_READ},
723 {"ID_ISAR3_EL1", REG_ID_ISAR3_EL1, 0x180260, SR_READ},
724 {"ID_ISAR4_EL1", REG_ID_ISAR4_EL1, 0x180280, SR_READ},
725 {"ID_ISAR5_EL1", REG_ID_ISAR5_EL1, 0x1802a0, SR_READ},
726 {"ID_ISAR6_EL1", REG_ID_ISAR6_EL1, 0x1802e0, SR_READ},
727 {"ID_MMFR0_EL1", REG_ID_MMFR0_EL1, 0x180180, SR_READ},
728 {"ID_MMFR1_EL1", REG_ID_MMFR1_EL1, 0x1801a0, SR_READ},
729 {"ID_MMFR2_EL1", REG_ID_MMFR2_EL1, 0x1801c0, SR_READ},
730 {"ID_MMFR3_EL1", REG_ID_MMFR3_EL1, 0x1801e0, SR_READ},
731 {"ID_MMFR4_EL1", REG_ID_MMFR4_EL1, 0x1802c0, SR_READ},
732 {"ID_PFR0_EL1", REG_ID_PFR0_EL1, 0x180100, SR_READ},
733 {"ID_PFR1_EL1", REG_ID_PFR1_EL1, 0x180120, SR_READ},
734 {"ID_PFR2_EL1", REG_ID_PFR2_EL1, 0x180380, SR_READ},
735 {"ISR_EL1", REG_ISR_EL1, 0x18c100, SR_READ},
736 {"LORC_EL1", REG_LORC_EL1, 0x18a460, SR_READ | SR_WRITE},
737 {"LOREA_EL1", REG_LOREA_EL1, 0x18a420, SR_READ | SR_WRITE},
738 {"LORID_EL1", REG_LORID_EL1, 0x18a4e0, SR_READ},
739 {"LORN_EL1", REG_LORN_EL1, 0x18a440, SR_READ | SR_WRITE},
740 {"LORSA_EL1", REG_LORSA_EL1, 0x18a400, SR_READ | SR_WRITE},
741 {"MAIR_EL1", REG_MAIR_EL1, 0x18a200, SR_READ | SR_WRITE},
742 {"MDCCINT_EL1", REG_MDCCINT_EL1, 0x100200, SR_READ | SR_WRITE},
743 {"MDCCSR_EL0", REG_MDCCSR_EL0, 0x130100, SR_READ},
744 {"MDRAR_EL1", REG_MDRAR_EL1, 0x101000, SR_READ},
745 {"MDSCR_EL1", REG_MDSCR_EL1, 0x100240, SR_READ | SR_WRITE},
746 {"MIDR_EL1", REG_MIDR_EL1, 0x180000, SR_READ},
747 {"MPAM0_EL1", REG_MPAM0_EL1, 0x18a520, SR_READ | SR_WRITE},
748 {"MPAM1_EL1", REG_MPAM1_EL1, 0x18a500, SR_READ | SR_WRITE},
749 {"MPAMIDR_EL1", REG_MPAMIDR_EL1, 0x18a480, SR_READ},
750 {"MPIDR_EL1", REG_MPIDR_EL1, 0x1800a0, SR_READ},
751 {"MVFR0_EL1", REG_MVFR0_EL1, 0x180300, SR_READ},
752 {"MVFR1_EL1", REG_MVFR1_EL1, 0x180320, SR_READ},
753 {"MVFR2_EL1", REG_MVFR2_EL1, 0x180340, SR_READ},
754 {"NZCV", REG_NZCV, 0x1b4200, SR_READ | SR_WRITE},
755 {"OSDLR_EL1", REG_OSDLR_EL1, 0x101380, SR_READ | SR_WRITE},
756 {"OSDTRRX_EL1", REG_OSDTRRX_EL1, 0x100040, SR_READ | SR_WRITE},
757 {"OSDTRTX_EL1", REG_OSDTRTX_EL1, 0x100340, SR_READ | SR_WRITE},
758 {"OSECCR_EL1", REG_OSECCR_EL1, 0x100640, SR_READ | SR_WRITE},
759 {"OSLAR_EL1", REG_OSLAR_EL1, 0x101080, SR_WRITE},
760 {"OSLSR_EL1", REG_OSLSR_EL1, 0x101180, SR_READ},
761 {"PAN", REG_PAN, 0x184260, SR_READ | SR_WRITE},
762 {"PAR_EL1", REG_PAR_EL1, 0x187400, SR_READ | SR_WRITE},
763 {"PMBIDR_EL1", REG_PMBIDR_EL1, 0x189ae0, SR_READ},
764 {"PMBLIMITR_EL1", REG_PMBLIMITR_EL1, 0x189a00, SR_READ | SR_WRITE},
765 {"PMBPTR_EL1", REG_PMBPTR_EL1, 0x189a20, SR_READ | SR_WRITE},
766 {"PMBSR_EL1", REG_PMBSR_EL1, 0x189a60, SR_READ | SR_WRITE},
767 {"PMCCFILTR_EL0", REG_PMCCFILTR_EL0, 0x1befe0, SR_READ | SR_WRITE},
768 {"PMCCNTR_EL0", REG_PMCCNTR_EL0, 0x1b9d00, SR_READ | SR_WRITE},
769 {"PMCEID0_EL0", REG_PMCEID0_EL0, 0x1b9cc0, SR_READ},
770 {"PMCEID1_EL0", REG_PMCEID1_EL0, 0x1b9ce0, SR_READ},
771 {"PMCNTENCLR_EL0", REG_PMCNTENCLR_EL0, 0x1b9c40, SR_READ | SR_WRITE},
772 {"PMCNTENSET_EL0", REG_PMCNTENSET_EL0, 0x1b9c20, SR_READ | SR_WRITE},
773 {"PMCR_EL0", REG_PMCR_EL0, 0x1b9c00, SR_READ | SR_WRITE},
774 {"PMEVCNTR0_EL0", REG_PMEVCNTR0_EL0, 0x1be800, SR_READ | SR_WRITE},
775 {"PMEVCNTR1_EL0", REG_PMEVCNTR1_EL0, 0x1be820, SR_READ | SR_WRITE},
776 {"PMEVCNTR2_EL0", REG_PMEVCNTR2_EL0, 0x1be840, SR_READ | SR_WRITE},
777 {"PMEVCNTR3_EL0", REG_PMEVCNTR3_EL0, 0x1be860, SR_READ | SR_WRITE},
778 {"PMEVCNTR4_EL0", REG_PMEVCNTR4_EL0, 0x1be880, SR_READ | SR_WRITE},
779 {"PMEVCNTR5_EL0", REG_PMEVCNTR5_EL0, 0x1be8a0, SR_READ | SR_WRITE},
780 {"PMEVCNTR6_EL0", REG_PMEVCNTR6_EL0, 0x1be8c0, SR_READ | SR_WRITE},
781 {"PMEVCNTR7_EL0", REG_PMEVCNTR7_EL0, 0x1be8e0, SR_READ | SR_WRITE},
782 {"PMEVCNTR8_EL0", REG_PMEVCNTR8_EL0, 0x1be900, SR_READ | SR_WRITE},
783 {"PMEVCNTR9_EL0", REG_PMEVCNTR9_EL0, 0x1be920, SR_READ | SR_WRITE},
784 {"PMEVCNTR10_EL0", REG_PMEVCNTR10_EL0, 0x1be940, SR_READ | SR_WRITE},
785 {"PMEVCNTR11_EL0", REG_PMEVCNTR11_EL0, 0x1be960, SR_READ | SR_WRITE},
786 {"PMEVCNTR12_EL0", REG_PMEVCNTR12_EL0, 0x1be980, SR_READ | SR_WRITE},
787 {"PMEVCNTR13_EL0", REG_PMEVCNTR13_EL0, 0x1be9a0, SR_READ | SR_WRITE},
788 {"PMEVCNTR14_EL0", REG_PMEVCNTR14_EL0, 0x1be9c0, SR_READ | SR_WRITE},
789 {"PMEVCNTR15_EL0", REG_PMEVCNTR15_EL0, 0x1be9e0, SR_READ | SR_WRITE},
790 {"PMEVCNTR16_EL0", REG_PMEVCNTR16_EL0, 0x1bea00, SR_READ | SR_WRITE},
791 {"PMEVCNTR17_EL0", REG_PMEVCNTR17_EL0, 0x1bea20, SR_READ | SR_WRITE},
792 {"PMEVCNTR18_EL0", REG_PMEVCNTR18_EL0, 0x1bea40, SR_READ | SR_WRITE},
793 {"PMEVCNTR19_EL0", REG_PMEVCNTR19_EL0, 0x1bea60, SR_READ | SR_WRITE},
794 {"PMEVCNTR20_EL0", REG_PMEVCNTR20_EL0, 0x1bea80, SR_READ | SR_WRITE},
795 {"PMEVCNTR21_EL0", REG_PMEVCNTR21_EL0, 0x1beaa0, SR_READ | SR_WRITE},
796 {"PMEVCNTR22_EL0", REG_PMEVCNTR22_EL0, 0x1beac0, SR_READ | SR_WRITE},
797 {"PMEVCNTR23_EL0", REG_PMEVCNTR23_EL0, 0x1beae0, SR_READ | SR_WRITE},
798 {"PMEVCNTR24_EL0", REG_PMEVCNTR24_EL0, 0x1beb00, SR_READ | SR_WRITE},
799 {"PMEVCNTR25_EL0", REG_PMEVCNTR25_EL0, 0x1beb20, SR_READ | SR_WRITE},
800 {"PMEVCNTR26_EL0", REG_PMEVCNTR26_EL0, 0x1beb40, SR_READ | SR_WRITE},
801 {"PMEVCNTR27_EL0", REG_PMEVCNTR27_EL0, 0x1beb60, SR_READ | SR_WRITE},
802 {"PMEVCNTR28_EL0", REG_PMEVCNTR28_EL0, 0x1beb80, SR_READ | SR_WRITE},
803 {"PMEVCNTR29_EL0", REG_PMEVCNTR29_EL0, 0x1beba0, SR_READ | SR_WRITE},
804 {"PMEVCNTR30_EL0", REG_PMEVCNTR30_EL0, 0x1bebc0, SR_READ | SR_WRITE},
805 {"PMEVTYPER0_EL0", REG_PMEVTYPER0_EL0, 0x1bec00, SR_READ | SR_WRITE},
806 {"PMEVTYPER1_EL0", REG_PMEVTYPER1_EL0, 0x1bec20, SR_READ | SR_WRITE},
807 {"PMEVTYPER2_EL0", REG_PMEVTYPER2_EL0, 0x1bec40, SR_READ | SR_WRITE},
808 {"PMEVTYPER3_EL0", REG_PMEVTYPER3_EL0, 0x1bec60, SR_READ | SR_WRITE},
809 {"PMEVTYPER4_EL0", REG_PMEVTYPER4_EL0, 0x1bec80, SR_READ | SR_WRITE},
810 {"PMEVTYPER5_EL0", REG_PMEVTYPER5_EL0, 0x1beca0, SR_READ | SR_WRITE},
811 {"PMEVTYPER6_EL0", REG_PMEVTYPER6_EL0, 0x1becc0, SR_READ | SR_WRITE},
812 {"PMEVTYPER7_EL0", REG_PMEVTYPER7_EL0, 0x1bece0, SR_READ | SR_WRITE},
813 {"PMEVTYPER8_EL0", REG_PMEVTYPER8_EL0, 0x1bed00, SR_READ | SR_WRITE},
814 {"PMEVTYPER9_EL0", REG_PMEVTYPER9_EL0, 0x1bed20, SR_READ | SR_WRITE},
815 {"PMEVTYPER10_EL0", REG_PMEVTYPER10_EL0, 0x1bed40, SR_READ | SR_WRITE},
816 {"PMEVTYPER11_EL0", REG_PMEVTYPER11_EL0, 0x1bed60, SR_READ | SR_WRITE},
817 {"PMEVTYPER12_EL0", REG_PMEVTYPER12_EL0, 0x1bed80, SR_READ | SR_WRITE},
818 {"PMEVTYPER13_EL0", REG_PMEVTYPER13_EL0, 0x1beda0, SR_READ | SR_WRITE},
819 {"PMEVTYPER14_EL0", REG_PMEVTYPER14_EL0, 0x1bedc0, SR_READ | SR_WRITE},
820 {"PMEVTYPER15_EL0", REG_PMEVTYPER15_EL0, 0x1bede0, SR_READ | SR_WRITE},
821 {"PMEVTYPER16_EL0", REG_PMEVTYPER16_EL0, 0x1bee00, SR_READ | SR_WRITE},
822 {"PMEVTYPER17_EL0", REG_PMEVTYPER17_EL0, 0x1bee20, SR_READ | SR_WRITE},
823 {"PMEVTYPER18_EL0", REG_PMEVTYPER18_EL0, 0x1bee40, SR_READ | SR_WRITE},
824 {"PMEVTYPER19_EL0", REG_PMEVTYPER19_EL0, 0x1bee60, SR_READ | SR_WRITE},
825 {"PMEVTYPER20_EL0", REG_PMEVTYPER20_EL0, 0x1bee80, SR_READ | SR_WRITE},
826 {"PMEVTYPER21_EL0", REG_PMEVTYPER21_EL0, 0x1beea0, SR_READ | SR_WRITE},
827 {"PMEVTYPER22_EL0", REG_PMEVTYPER22_EL0, 0x1beec0, SR_READ | SR_WRITE},
828 {"PMEVTYPER23_EL0", REG_PMEVTYPER23_EL0, 0x1beee0, SR_READ | SR_WRITE},
829 {"PMEVTYPER24_EL0", REG_PMEVTYPER24_EL0, 0x1bef00, SR_READ | SR_WRITE},
830 {"PMEVTYPER25_EL0", REG_PMEVTYPER25_EL0, 0x1bef20, SR_READ | SR_WRITE},
831 {"PMEVTYPER26_EL0", REG_PMEVTYPER26_EL0, 0x1bef40, SR_READ | SR_WRITE},
832 {"PMEVTYPER27_EL0", REG_PMEVTYPER27_EL0, 0x1bef60, SR_READ | SR_WRITE},
833 {"PMEVTYPER28_EL0", REG_PMEVTYPER28_EL0, 0x1bef80, SR_READ | SR_WRITE},
834 {"PMEVTYPER29_EL0", REG_PMEVTYPER29_EL0, 0x1befa0, SR_READ | SR_WRITE},
835 {"PMEVTYPER30_EL0", REG_PMEVTYPER30_EL0, 0x1befc0, SR_READ | SR_WRITE},
836 {"PMINTENCLR_EL1", REG_PMINTENCLR_EL1, 0x189e40, SR_READ | SR_WRITE},
837 {"PMINTENSET_EL1", REG_PMINTENSET_EL1, 0x189e20, SR_READ | SR_WRITE},
838 {"PMMIR_EL1", REG_PMMIR_EL1, 0x189ec0, SR_READ},
839 {"PMOVSCLR_EL0", REG_PMOVSCLR_EL0, 0x1b9c60, SR_READ | SR_WRITE},
840 {"PMOVSSET_EL0", REG_PMOVSSET_EL0, 0x1b9e60, SR_READ | SR_WRITE},
841 {"PMSCR_EL1", REG_PMSCR_EL1, 0x189900, SR_READ | SR_WRITE},
842 {"PMSELR_EL0", REG_PMSELR_EL0, 0x1b9ca0, SR_READ | SR_WRITE},
843 {"PMSEVFR_EL1", REG_PMSEVFR_EL1, 0x1899a0, SR_READ | SR_WRITE},
844 {"PMSFCR_EL1", REG_PMSFCR_EL1, 0x189980, SR_READ | SR_WRITE},
845 {"PMSICR_EL1", REG_PMSICR_EL1, 0x189940, SR_READ | SR_WRITE},
846 {"PMSIDR_EL1", REG_PMSIDR_EL1, 0x1899e0, SR_READ},
847 {"PMSIRR_EL1", REG_PMSIRR_EL1, 0x189960, SR_READ | SR_WRITE},
848 {"PMSLATFR_EL1", REG_PMSLATFR_EL1, 0x1899c0, SR_READ | SR_WRITE},
849 {"PMSWINC_EL0", REG_PMSWINC_EL0, 0x1b9c80, SR_WRITE},
850 {"PMUSERENR_EL0", REG_PMUSERENR_EL0, 0x1b9e00, SR_READ | SR_WRITE},
851 {"PMXEVCNTR_EL0", REG_PMXEVCNTR_EL0, 0x1b9d40, SR_READ | SR_WRITE},
852 {"PMXEVTYPER_EL0", REG_PMXEVTYPER_EL0, 0x1b9d20, SR_READ | SR_WRITE},
853 {"REVIDR_EL1", REG_REVIDR_EL1, 0x1800c0, SR_READ},
854 {"RGSR_EL1", REG_RGSR_EL1, 0x1810a0, SR_READ | SR_WRITE},
855 {"RMR_EL1", REG_RMR_EL1, 0x18c040, SR_READ | SR_WRITE},
856 {"RNDR", REG_RNDR, 0x1b2400, SR_READ},
857 {"RNDRRS", REG_RNDRRS, 0x1b2420, SR_READ},
858 {"RVBAR_EL1", REG_RVBAR_EL1, 0x18c020, SR_READ},
859 {"SCTLR_EL1", REG_SCTLR_EL1, 0x181000, SR_READ | SR_WRITE},
860 {"SCXTNUM_EL0", REG_SCXTNUM_EL0, 0x1bd0e0, SR_READ | SR_WRITE},
861 {"SCXTNUM_EL1", REG_SCXTNUM_EL1, 0x18d0e0, SR_READ | SR_WRITE},
862 {"SP_EL0", REG_SP_EL0, 0x184100, SR_READ | SR_WRITE},
863 {"SP_EL1", REG_SP_EL1, 0x1c4100, SR_READ | SR_WRITE},
864 {"SPSel", REG_SPSel, 0x184200, SR_READ | SR_WRITE},
865 {"SPSR_abt", REG_SPSR_abt, 0x1c4320, SR_READ | SR_WRITE},
866 {"SPSR_EL1", REG_SPSR_EL1, 0x184000, SR_READ | SR_WRITE},
867 {"SPSR_fiq", REG_SPSR_fiq, 0x1c4360, SR_READ | SR_WRITE},
868 {"SPSR_irq", REG_SPSR_irq, 0x1c4300, SR_READ | SR_WRITE},
869 {"SPSR_und", REG_SPSR_und, 0x1c4340, SR_READ | SR_WRITE},
870 {"SSBS", REG_SSBS, 0x1b42c0, SR_READ | SR_WRITE},
871 {"TCO", REG_TCO, 0x1b42e0, SR_READ | SR_WRITE},
872 {"TCR_EL1", REG_TCR_EL1, 0x182040, SR_READ | SR_WRITE},
873 {"TFSR_EL1", REG_TFSR_EL1, 0x185600, SR_READ | SR_WRITE},
874 {"TFSRE0_EL1", REG_TFSRE0_EL1, 0x185620, SR_READ | SR_WRITE},
875 {"TPIDR_EL0", REG_TPIDR_EL0, 0x1bd040, SR_READ | SR_WRITE},
876 {"TPIDR_EL1", REG_TPIDR_EL1, 0x18d080, SR_READ | SR_WRITE},
877 {"TPIDRRO_EL0", REG_TPIDRRO_EL0, 0x1bd060, SR_READ | SR_WRITE},
878 {"TRFCR_EL1", REG_TRFCR_EL1, 0x181220, SR_READ | SR_WRITE},
879 {"TTBR0_EL1", REG_TTBR0_EL1, 0x182000, SR_READ | SR_WRITE},
880 {"TTBR1_EL1", REG_TTBR1_EL1, 0x182020, SR_READ | SR_WRITE},
881 {"UAO", REG_UAO, 0x184280, SR_READ | SR_WRITE},
882 {"VBAR_EL1", REG_VBAR_EL1, 0x18c000, SR_READ | SR_WRITE},
883 {"ZCR_EL1", REG_ZCR_EL1, 0x181200, SR_READ | SR_WRITE},
884 }
885
886 func SysRegEnc(r int16) (string, uint32, uint8) {
887
888
889
890 if r <= SYSREG_BEGIN || r >= SYSREG_END {
891 return "", 0, 0
892 }
893 v := SystemReg[r-SYSREG_BEGIN-1]
894 return v.Name, v.Enc, v.AccessFlags
895 }
896
View as plain text