summaryrefslogtreecommitdiff
path: root/arch/arm64/disassembler/sysregs.h
diff options
context:
space:
mode:
authorRusty Wagner <rusty.wagner@gmail.com>2024-03-05 19:50:13 -0500
committerRusty Wagner <rusty.wagner@gmail.com>2024-03-05 20:34:34 -0500
commite093c21ed880ac3eb72119be15093ee04f8ce299 (patch)
tree9f720ebdc0ae415734b1199ed341668c69710a94 /arch/arm64/disassembler/sysregs.h
parent0609276712622908254065546102381466033141 (diff)
Move architecture modules into the API repo
Diffstat (limited to 'arch/arm64/disassembler/sysregs.h')
-rw-r--r--arch/arm64/disassembler/sysregs.h668
1 files changed, 668 insertions, 0 deletions
diff --git a/arch/arm64/disassembler/sysregs.h b/arch/arm64/disassembler/sysregs.h
new file mode 100644
index 00000000..8d4763cd
--- /dev/null
+++ b/arch/arm64/disassembler/sysregs.h
@@ -0,0 +1,668 @@
+#pragma once
+
+enum SystemReg {
+ SYSREG_NONE=32769,
+ REG_OSDTRRX_EL1=32770,
+ REG_DBGBVR0_EL1=32772,
+ REG_DBGBCR0_EL1=32773,
+ REG_DBGWVR0_EL1=32774,
+ REG_DBGWCR0_EL1=32775,
+ REG_DBGBVR1_EL1=32780,
+ REG_DBGBCR1_EL1=32781,
+ REG_DBGWVR1_EL1=32782,
+ REG_DBGWCR1_EL1=32783,
+ REG_MDCCINT_EL1=32784,
+ REG_MDSCR_EL1=32786,
+ REG_DBGBVR2_EL1=32788,
+ REG_DBGBCR2_EL1=32789,
+ REG_DBGWVR2_EL1=32790,
+ REG_DBGWCR2_EL1=32791,
+ REG_OSDTRTX_EL1=32794,
+ REG_DBGBVR3_EL1=32796,
+ REG_DBGBCR3_EL1=32797,
+ REG_DBGWVR3_EL1=32798,
+ REG_DBGWCR3_EL1=32799,
+ REG_DBGBVR4_EL1=32804,
+ REG_DBGBCR4_EL1=32805,
+ REG_DBGWVR4_EL1=32806,
+ REG_DBGWCR4_EL1=32807,
+ REG_DBGBVR5_EL1=32812,
+ REG_DBGBCR5_EL1=32813,
+ REG_DBGWVR5_EL1=32814,
+ REG_DBGWCR5_EL1=32815,
+ REG_OSECCR_EL1=32818,
+ REG_DBGBVR6_EL1=32820,
+ REG_DBGBCR6_EL1=32821,
+ REG_DBGWVR6_EL1=32822,
+ REG_DBGWCR6_EL1=32823,
+ REG_DBGBVR7_EL1=32828,
+ REG_DBGBCR7_EL1=32829,
+ REG_DBGWVR7_EL1=32830,
+ REG_DBGWCR7_EL1=32831,
+ REG_DBGBVR8_EL1=32836,
+ REG_DBGBCR8_EL1=32837,
+ REG_DBGWVR8_EL1=32838,
+ REG_DBGWCR8_EL1=32839,
+ REG_DBGBVR9_EL1=32844,
+ REG_DBGBCR9_EL1=32845,
+ REG_DBGWVR9_EL1=32846,
+ REG_DBGWCR9_EL1=32847,
+ REG_DBGBVR10_EL1=32852,
+ REG_DBGBCR10_EL1=32853,
+ REG_DBGWVR10_EL1=32854,
+ REG_DBGWCR10_EL1=32855,
+ REG_DBGBVR11_EL1=32860,
+ REG_DBGBCR11_EL1=32861,
+ REG_DBGWVR11_EL1=32862,
+ REG_DBGWCR11_EL1=32863,
+ REG_DBGBVR12_EL1=32868,
+ REG_DBGBCR12_EL1=32869,
+ REG_DBGWVR12_EL1=32870,
+ REG_DBGWCR12_EL1=32871,
+ REG_DBGBVR13_EL1=32876,
+ REG_DBGBCR13_EL1=32877,
+ REG_DBGWVR13_EL1=32878,
+ REG_DBGWCR13_EL1=32879,
+ REG_DBGBVR14_EL1=32884,
+ REG_DBGBCR14_EL1=32885,
+ REG_DBGWVR14_EL1=32886,
+ REG_DBGWCR14_EL1=32887,
+ REG_DBGBVR15_EL1=32892,
+ REG_DBGBCR15_EL1=32893,
+ REG_DBGWVR15_EL1=32894,
+ REG_DBGWCR15_EL1=32895,
+ REG_OSLAR_EL1=32900,
+ REG_OSDLR_EL1=32924,
+ REG_DBGPRCR_EL1=32932,
+ REG_DBGCLAIMSET_EL1=33734,
+ REG_DBGCLAIMCLR_EL1=33742,
+ REG_TRCTRACEIDR=34817,
+ REG_TRCVICTLR=34818,
+ REG_TRCSEQEVR0=34820,
+ REG_TRCCNTRLDVR0=34821,
+ REG_TRCIMSPEC0=34823,
+ REG_TRCPRGCTLR=34824,
+ REG_TRCQCTLR=34825,
+ REG_TRCVIIECTLR=34826,
+ REG_TRCSEQEVR1=34828,
+ REG_TRCCNTRLDVR1=34829,
+ REG_TRCIMSPEC1=34831,
+ REG_TRCPROCSELR=34832,
+ REG_TRCVISSCTLR=34834,
+ REG_TRCSEQEVR2=34836,
+ REG_TRCCNTRLDVR2=34837,
+ REG_TRCIMSPEC2=34839,
+ REG_TRCVIPCSSCTLR=34842,
+ REG_TRCCNTRLDVR3=34845,
+ REG_TRCIMSPEC3=34847,
+ REG_TRCCONFIGR=34848,
+ REG_TRCCNTCTLR0=34853,
+ REG_TRCIMSPEC4=34855,
+ REG_TRCCNTCTLR1=34861,
+ REG_TRCIMSPEC5=34863,
+ REG_TRCAUXCTLR=34864,
+ REG_TRCSEQRSTEVR=34868,
+ REG_TRCCNTCTLR2=34869,
+ REG_TRCIMSPEC6=34871,
+ REG_TRCSEQSTR=34876,
+ REG_TRCCNTCTLR3=34877,
+ REG_TRCIMSPEC7=34879,
+ REG_TRCEVENTCTL0R=34880,
+ REG_TRCVDCTLR=34882,
+ REG_TRCEXTINSELR=34884,
+ REG_TRCCNTVR0=34885,
+ REG_TRCEVENTCTL1R=34888,
+ REG_TRCVDSACCTLR=34890,
+ REG_TRCEXTINSELR1=34892,
+ REG_TRCCNTVR1=34893,
+ REG_TRCRSR=34896,
+ REG_TRCVDARCCTLR=34898,
+ REG_TRCEXTINSELR2=34900,
+ REG_TRCCNTVR2=34901,
+ REG_TRCSTALLCTLR=34904,
+ REG_TRCEXTINSELR3=34908,
+ REG_TRCCNTVR3=34909,
+ REG_TRCTSCTLR=34912,
+ REG_TRCSYNCPR=34920,
+ REG_TRCCCCTLR=34928,
+ REG_TRCBBCTLR=34936,
+ REG_TRCRSCTLR16=34945,
+ REG_TRCSSCCR0=34946,
+ REG_TRCSSPCICR0=34947,
+ REG_TRCOSLAR=34948,
+ REG_TRCRSCTLR17=34953,
+ REG_TRCSSCCR1=34954,
+ REG_TRCSSPCICR1=34955,
+ REG_TRCRSCTLR2=34960,
+ REG_TRCRSCTLR18=34961,
+ REG_TRCSSCCR2=34962,
+ REG_TRCSSPCICR2=34963,
+ REG_TRCRSCTLR3=34968,
+ REG_TRCRSCTLR19=34969,
+ REG_TRCSSCCR3=34970,
+ REG_TRCSSPCICR3=34971,
+ REG_TRCRSCTLR4=34976,
+ REG_TRCRSCTLR20=34977,
+ REG_TRCSSCCR4=34978,
+ REG_TRCSSPCICR4=34979,
+ REG_TRCPDCR=34980,
+ REG_TRCRSCTLR5=34984,
+ REG_TRCRSCTLR21=34985,
+ REG_TRCSSCCR5=34986,
+ REG_TRCSSPCICR5=34987,
+ REG_TRCRSCTLR6=34992,
+ REG_TRCRSCTLR22=34993,
+ REG_TRCSSCCR6=34994,
+ REG_TRCSSPCICR6=34995,
+ REG_TRCRSCTLR7=35000,
+ REG_TRCRSCTLR23=35001,
+ REG_TRCSSCCR7=35002,
+ REG_TRCSSPCICR7=35003,
+ REG_TRCRSCTLR8=35008,
+ REG_TRCRSCTLR24=35009,
+ REG_TRCSSCSR0=35010,
+ REG_TRCRSCTLR9=35016,
+ REG_TRCRSCTLR25=35017,
+ REG_TRCSSCSR1=35018,
+ REG_TRCRSCTLR10=35024,
+ REG_TRCRSCTLR26=35025,
+ REG_TRCSSCSR2=35026,
+ REG_TRCRSCTLR11=35032,
+ REG_TRCRSCTLR27=35033,
+ REG_TRCSSCSR3=35034,
+ REG_TRCRSCTLR12=35040,
+ REG_TRCRSCTLR28=35041,
+ REG_TRCSSCSR4=35042,
+ REG_TRCRSCTLR13=35048,
+ REG_TRCRSCTLR29=35049,
+ REG_TRCSSCSR5=35050,
+ REG_TRCRSCTLR14=35056,
+ REG_TRCRSCTLR30=35057,
+ REG_TRCSSCSR6=35058,
+ REG_TRCRSCTLR15=35064,
+ REG_TRCRSCTLR31=35065,
+ REG_TRCSSCSR7=35066,
+ REG_TRCACVR0=35072,
+ REG_TRCACVR8=35073,
+ REG_TRCACATR0=35074,
+ REG_TRCACATR8=35075,
+ REG_TRCDVCVR0=35076,
+ REG_TRCDVCVR4=35077,
+ REG_TRCDVCMR0=35078,
+ REG_TRCDVCMR4=35079,
+ REG_TRCACVR1=35088,
+ REG_TRCACVR9=35089,
+ REG_TRCACATR1=35090,
+ REG_TRCACATR9=35091,
+ REG_TRCACVR2=35104,
+ REG_TRCACVR10=35105,
+ REG_TRCACATR2=35106,
+ REG_TRCACATR10=35107,
+ REG_TRCDVCVR1=35108,
+ REG_TRCDVCVR5=35109,
+ REG_TRCDVCMR1=35110,
+ REG_TRCDVCMR5=35111,
+ REG_TRCACVR3=35120,
+ REG_TRCACVR11=35121,
+ REG_TRCACATR3=35122,
+ REG_TRCACATR11=35123,
+ REG_TRCACVR4=35136,
+ REG_TRCACVR12=35137,
+ REG_TRCACATR4=35138,
+ REG_TRCACATR12=35139,
+ REG_TRCDVCVR2=35140,
+ REG_TRCDVCVR6=35141,
+ REG_TRCDVCMR2=35142,
+ REG_TRCDVCMR6=35143,
+ REG_TRCACVR5=35152,
+ REG_TRCACVR13=35153,
+ REG_TRCACATR5=35154,
+ REG_TRCACATR13=35155,
+ REG_TRCACVR6=35168,
+ REG_TRCACVR14=35169,
+ REG_TRCACATR6=35170,
+ REG_TRCACATR14=35171,
+ REG_TRCDVCVR3=35172,
+ REG_TRCDVCVR7=35173,
+ REG_TRCDVCMR3=35174,
+ REG_TRCDVCMR7=35175,
+ REG_TRCACVR7=35184,
+ REG_TRCACVR15=35185,
+ REG_TRCACATR7=35186,
+ REG_TRCACATR15=35187,
+ REG_TRCCIDCVR0=35200,
+ REG_TRCVMIDCVR0=35201,
+ REG_TRCCIDCCTLR0=35202,
+ REG_TRCCIDCCTLR1=35210,
+ REG_TRCCIDCVR1=35216,
+ REG_TRCVMIDCVR1=35217,
+ REG_TRCVMIDCCTLR0=35218,
+ REG_TRCVMIDCCTLR1=35226,
+ REG_TRCCIDCVR2=35232,
+ REG_TRCVMIDCVR2=35233,
+ REG_TRCCIDCVR3=35248,
+ REG_TRCVMIDCVR3=35249,
+ REG_TRCCIDCVR4=35264,
+ REG_TRCVMIDCVR4=35265,
+ REG_TRCCIDCVR5=35280,
+ REG_TRCVMIDCVR5=35281,
+ REG_TRCCIDCVR6=35296,
+ REG_TRCVMIDCVR6=35297,
+ REG_TRCCIDCVR7=35312,
+ REG_TRCVMIDCVR7=35313,
+ REG_TRCITCTRL=35716,
+ REG_TRCCLAIMSET=35782,
+ REG_TRCCLAIMCLR=35790,
+ REG_TRCLAR=35814,
+ REG_TEECR32_EL1=36864,
+ REG_TEEHBR32_EL1=36992,
+ REG_DBGDTR_EL0=38944,
+ REG_DBGDTRTX_EL0=38952,
+ REG_DBGVCR32_EL2=41016,
+ REG_SCTLR_EL1=49280,
+ REG_ACTLR_EL1=49281,
+ REG_CPACR_EL1=49282,
+ REG_RGSR_EL1=49285,
+ REG_GCR_EL1=49286,
+ REG_TRFCR_EL1=49297,
+ REG_TTBR0_EL1=49408,
+ REG_TTBR1_EL1=49409,
+ REG_TCR_EL1=49410,
+ REG_APIAKEYLO_EL1=49416,
+ REG_APIAKEYHI_EL1=49417,
+ REG_APIBKEYLO_EL1=49418,
+ REG_APIBKEYHI_EL1=49419,
+ REG_APDAKEYLO_EL1=49424,
+ REG_APDAKEYHI_EL1=49425,
+ REG_APDBKEYLO_EL1=49426,
+ REG_APDBKEYHI_EL1=49427,
+ REG_APGAKEYLO_EL1=49432,
+ REG_APGAKEYHI_EL1=49433,
+ REG_SPSR_EL1=49664,
+ REG_ELR_EL1=49665,
+ REG_SP_EL0=49672,
+ REG_SPSEL=49680,
+ REG_CURRENTEL=49682,
+ REG_PAN=49683,
+ REG_UAO=49684,
+ REG_ICC_PMR_EL1=49712,
+ REG_AFSR0_EL1=49800,
+ REG_AFSR1_EL1=49801,
+ REG_ESR_EL1=49808,
+ REG_ERRSELR_EL1=49817,
+ REG_ERXCTLR_EL1=49825,
+ REG_ERXSTATUS_EL1=49826,
+ REG_ERXADDR_EL1=49827,
+ REG_ERXPFGCTL_EL1=49829,
+ REG_ERXPFGCDN_EL1=49830,
+ REG_ERXMISC0_EL1=49832,
+ REG_ERXMISC1_EL1=49833,
+ REG_ERXMISC2_EL1=49834,
+ REG_ERXMISC3_EL1=49835,
+ REG_ERXTS_EL1=49839,
+ REG_TFSR_EL1=49840,
+ REG_TFSRE0_EL1=49841,
+ REG_FAR_EL1=49920,
+ REG_PAR_EL1=50080,
+ REG_PMSCR_EL1=50376,
+ REG_PMSICR_EL1=50378,
+ REG_PMSIRR_EL1=50379,
+ REG_PMSFCR_EL1=50380,
+ REG_PMSEVFR_EL1=50381,
+ REG_PMSLATFR_EL1=50382,
+ REG_PMSIDR_EL1=50383,
+ REG_PMBLIMITR_EL1=50384,
+ REG_PMBPTR_EL1=50385,
+ REG_PMBSR_EL1=50387,
+ REG_PMBIDR_EL1=50391,
+ REG_TRBLIMITR_EL1=50392,
+ REG_TRBPTR_EL1=50393,
+ REG_TRBBASER_EL1=50394,
+ REG_TRBSR_EL1=50395,
+ REG_TRBMAR_EL1=50396,
+ REG_TRBTRG_EL1=50398,
+ REG_PMINTENSET_EL1=50417,
+ REG_PMINTENCLR_EL1=50418,
+ REG_PMMIR_EL1=50422,
+ REG_MAIR_EL1=50448,
+ REG_AMAIR_EL1=50456,
+ REG_LORSA_EL1=50464,
+ REG_LOREA_EL1=50465,
+ REG_LORN_EL1=50466,
+ REG_LORC_EL1=50467,
+ REG_MPAM1_EL1=50472,
+ REG_MPAM0_EL1=50473,
+ REG_VBAR_EL1=50688,
+ REG_RMR_EL1=50690,
+ REG_DISR_EL1=50697,
+ REG_ICC_EOIR0_EL1=50753,
+ REG_ICC_BPR0_EL1=50755,
+ REG_ICC_AP0R0_EL1=50756,
+ REG_ICC_AP0R1_EL1=50757,
+ REG_ICC_AP0R2_EL1=50758,
+ REG_ICC_AP0R3_EL1=50759,
+ REG_ICC_AP1R0_EL1=50760,
+ REG_ICC_AP1R1_EL1=50761,
+ REG_ICC_AP1R2_EL1=50762,
+ REG_ICC_AP1R3_EL1=50763,
+ REG_ICC_DIR_EL1=50777,
+ REG_ICC_SGI1R_EL1=50781,
+ REG_ICC_ASGI1R_EL1=50782,
+ REG_ICC_SGI0R_EL1=50783,
+ REG_ICC_EOIR1_EL1=50785,
+ REG_ICC_BPR1_EL1=50787,
+ REG_ICC_CTLR_EL1=50788,
+ REG_ICC_SRE_EL1=50789,
+ REG_ICC_IGRPEN0_EL1=50790,
+ REG_ICC_IGRPEN1_EL1=50791,
+ REG_ICC_SEIEN_EL1=50792,
+ REG_CONTEXTIDR_EL1=50817,
+ REG_TPIDR_EL1=50820,
+ REG_SCXTNUM_EL1=50823,
+ REG_CNTKCTL_EL1=50952,
+ REG_CSSELR_EL1=53248,
+ REG_NZCV=55824,
+ REG_DAIFSET=55825,
+ REG_DIT=55829,
+ REG_SSBS=55830,
+ REG_TCO=55831,
+ REG_FPCR=55840,
+ REG_FPSR=55841,
+ REG_DSPSR_EL0=55848,
+ REG_DLR_EL0=55849,
+ REG_PMCR_EL0=56544,
+ REG_PMCNTENSET_EL0=56545,
+ REG_PMCNTENCLR_EL0=56546,
+ REG_PMOVSCLR_EL0=56547,
+ REG_PMSWINC_EL0=56548,
+ REG_PMSELR_EL0=56549,
+ REG_PMCCNTR_EL0=56552,
+ REG_PMXEVTYPER_EL0=56553,
+ REG_PMXEVCNTR_EL0=56554,
+ REG_DAIFCLR=56557,
+ REG_PMUSERENR_EL0=56560,
+ REG_PMOVSSET_EL0=56563,
+ REG_TPIDR_EL0=56962,
+ REG_TPIDRRO_EL0=56963,
+ REG_SCXTNUM_EL0=56967,
+ REG_AMCR_EL0=56976,
+ REG_AMUSERENR_EL0=56979,
+ REG_AMCNTENCLR0_EL0=56980,
+ REG_AMCNTENSET0_EL0=56981,
+ REG_AMCNTENCLR1_EL0=56984,
+ REG_AMCNTENSET1_EL0=56985,
+ REG_AMEVCNTR00_EL0=56992,
+ REG_AMEVCNTR01_EL0=56993,
+ REG_AMEVCNTR02_EL0=56994,
+ REG_AMEVCNTR03_EL0=56995,
+ REG_AMEVCNTR10_EL0=57056,
+ REG_AMEVCNTR11_EL0=57057,
+ REG_AMEVCNTR12_EL0=57058,
+ REG_AMEVCNTR13_EL0=57059,
+ REG_AMEVCNTR14_EL0=57060,
+ REG_AMEVCNTR15_EL0=57061,
+ REG_AMEVCNTR16_EL0=57062,
+ REG_AMEVCNTR17_EL0=57063,
+ REG_AMEVCNTR18_EL0=57064,
+ REG_AMEVCNTR19_EL0=57065,
+ REG_AMEVCNTR110_EL0=57066,
+ REG_AMEVCNTR111_EL0=57067,
+ REG_AMEVCNTR112_EL0=57068,
+ REG_AMEVCNTR113_EL0=57069,
+ REG_AMEVCNTR114_EL0=57070,
+ REG_AMEVCNTR115_EL0=57071,
+ REG_AMEVTYPER10_EL0=57072,
+ REG_AMEVTYPER11_EL0=57073,
+ REG_AMEVTYPER12_EL0=57074,
+ REG_AMEVTYPER13_EL0=57075,
+ REG_AMEVTYPER14_EL0=57076,
+ REG_AMEVTYPER15_EL0=57077,
+ REG_AMEVTYPER16_EL0=57078,
+ REG_AMEVTYPER17_EL0=57079,
+ REG_AMEVTYPER18_EL0=57080,
+ REG_AMEVTYPER19_EL0=57081,
+ REG_AMEVTYPER110_EL0=57082,
+ REG_AMEVTYPER111_EL0=57083,
+ REG_AMEVTYPER112_EL0=57084,
+ REG_AMEVTYPER113_EL0=57085,
+ REG_AMEVTYPER114_EL0=57086,
+ REG_AMEVTYPER115_EL0=57087,
+ REG_CNTFRQ_EL0=57088,
+ REG_CNTP_TVAL_EL0=57104,
+ REG_CNTP_CTL_EL0=57105,
+ REG_CNTP_CVAL_EL0=57106,
+ REG_CNTV_TVAL_EL0=57112,
+ REG_CNTV_CTL_EL0=57113,
+ REG_CNTV_CVAL_EL0=57114,
+ REG_PMEVCNTR0_EL0=57152,
+ REG_PMEVCNTR1_EL0=57153,
+ REG_PMEVCNTR2_EL0=57154,
+ REG_PMEVCNTR3_EL0=57155,
+ REG_PMEVCNTR4_EL0=57156,
+ REG_PMEVCNTR5_EL0=57157,
+ REG_PMEVCNTR6_EL0=57158,
+ REG_PMEVCNTR7_EL0=57159,
+ REG_PMEVCNTR8_EL0=57160,
+ REG_PMEVCNTR9_EL0=57161,
+ REG_PMEVCNTR10_EL0=57162,
+ REG_PMEVCNTR11_EL0=57163,
+ REG_PMEVCNTR12_EL0=57164,
+ REG_PMEVCNTR13_EL0=57165,
+ REG_PMEVCNTR14_EL0=57166,
+ REG_PMEVCNTR15_EL0=57167,
+ REG_PMEVCNTR16_EL0=57168,
+ REG_PMEVCNTR17_EL0=57169,
+ REG_PMEVCNTR18_EL0=57170,
+ REG_PMEVCNTR19_EL0=57171,
+ REG_PMEVCNTR20_EL0=57172,
+ REG_PMEVCNTR21_EL0=57173,
+ REG_PMEVCNTR22_EL0=57174,
+ REG_PMEVCNTR23_EL0=57175,
+ REG_PMEVCNTR24_EL0=57176,
+ REG_PMEVCNTR25_EL0=57177,
+ REG_PMEVCNTR26_EL0=57178,
+ REG_PMEVCNTR27_EL0=57179,
+ REG_PMEVCNTR28_EL0=57180,
+ REG_PMEVCNTR29_EL0=57181,
+ REG_PMEVCNTR30_EL0=57182,
+ REG_PMEVTYPER0_EL0=57184,
+ REG_PMEVTYPER1_EL0=57185,
+ REG_PMEVTYPER2_EL0=57186,
+ REG_PMEVTYPER3_EL0=57187,
+ REG_PMEVTYPER4_EL0=57188,
+ REG_PMEVTYPER5_EL0=57189,
+ REG_PMEVTYPER6_EL0=57190,
+ REG_PMEVTYPER7_EL0=57191,
+ REG_PMEVTYPER8_EL0=57192,
+ REG_PMEVTYPER9_EL0=57193,
+ REG_PMEVTYPER10_EL0=57194,
+ REG_PMEVTYPER11_EL0=57195,
+ REG_PMEVTYPER12_EL0=57196,
+ REG_PMEVTYPER13_EL0=57197,
+ REG_PMEVTYPER14_EL0=57198,
+ REG_PMEVTYPER15_EL0=57199,
+ REG_PMEVTYPER16_EL0=57200,
+ REG_PMEVTYPER17_EL0=57201,
+ REG_PMEVTYPER18_EL0=57202,
+ REG_PMEVTYPER19_EL0=57203,
+ REG_PMEVTYPER20_EL0=57204,
+ REG_PMEVTYPER21_EL0=57205,
+ REG_PMEVTYPER22_EL0=57206,
+ REG_PMEVTYPER23_EL0=57207,
+ REG_PMEVTYPER24_EL0=57208,
+ REG_PMEVTYPER25_EL0=57209,
+ REG_PMEVTYPER26_EL0=57210,
+ REG_PMEVTYPER27_EL0=57211,
+ REG_PMEVTYPER28_EL0=57212,
+ REG_PMEVTYPER29_EL0=57213,
+ REG_PMEVTYPER30_EL0=57214,
+ REG_PMCCFILTR_EL0=57215,
+ REG_VPIDR_EL2=57344,
+ REG_VMPIDR_EL2=57349,
+ REG_SCTLR_EL2=57472,
+ REG_ACTLR_EL2=57473,
+ REG_HCR_EL2=57480,
+ REG_MDCR_EL2=57481,
+ REG_CPTR_EL2=57482,
+ REG_HSTR_EL2=57483,
+ REG_HACR_EL2=57487,
+ REG_TRFCR_EL2=57489,
+ REG_SDER32_EL2=57497,
+ REG_TTBR0_EL2=57600,
+ REG_TTBR1_EL2=57601,
+ REG_TCR_EL2=57602,
+ REG_VTTBR_EL2=57608,
+ REG_VTCR_EL2=57610,
+ REG_VNCR_EL2=57616,
+ REG_VSTTBR_EL2=57648,
+ REG_VSTCR_EL2=57650,
+ REG_DACR32_EL2=57728,
+ REG_SPSR_EL2=57856,
+ REG_ELR_EL2=57857,
+ REG_SP_EL1=57864,
+ REG_SPSR_IRQ=57880,
+ REG_SPSR_ABT=57881,
+ REG_SPSR_UND=57882,
+ REG_SPSR_FIQ=57883,
+ REG_IFSR32_EL2=57985,
+ REG_AFSR0_EL2=57992,
+ REG_AFSR1_EL2=57993,
+ REG_ESR_EL2=58000,
+ REG_VSESR_EL2=58003,
+ REG_FPEXC32_EL2=58008,
+ REG_TFSR_EL2=58032,
+ REG_FAR_EL2=58112,
+ REG_HPFAR_EL2=58116,
+ REG_PMSCR_EL2=58568,
+ REG_MAIR_EL2=58640,
+ REG_AMAIR_EL2=58648,
+ REG_MPAMHCR_EL2=58656,
+ REG_MPAMVPMV_EL2=58657,
+ REG_MPAM2_EL2=58664,
+ REG_MPAMVPM0_EL2=58672,
+ REG_MPAMVPM1_EL2=58673,
+ REG_MPAMVPM2_EL2=58674,
+ REG_MPAMVPM3_EL2=58675,
+ REG_MPAMVPM4_EL2=58676,
+ REG_MPAMVPM5_EL2=58677,
+ REG_MPAMVPM6_EL2=58678,
+ REG_MPAMVPM7_EL2=58679,
+ REG_VBAR_EL2=58880,
+ REG_RMR_EL2=58882,
+ REG_VDISR_EL2=58889,
+ REG_ICH_AP0R0_EL2=58944,
+ REG_ICH_AP0R1_EL2=58945,
+ REG_ICH_AP0R2_EL2=58946,
+ REG_ICH_AP0R3_EL2=58947,
+ REG_ICH_AP1R0_EL2=58952,
+ REG_ICH_AP1R1_EL2=58953,
+ REG_ICH_AP1R2_EL2=58954,
+ REG_ICH_AP1R3_EL2=58955,
+ REG_ICH_VSEIR_EL2=58956,
+ REG_ICC_SRE_EL2=58957,
+ REG_ICH_HCR_EL2=58968,
+ REG_ICH_MISR_EL2=58970,
+ REG_ICH_VMCR_EL2=58975,
+ REG_ICH_LR0_EL2=58976,
+ REG_ICH_LR1_EL2=58977,
+ REG_ICH_LR2_EL2=58978,
+ REG_ICH_LR3_EL2=58979,
+ REG_ICH_LR4_EL2=58980,
+ REG_ICH_LR5_EL2=58981,
+ REG_ICH_LR6_EL2=58982,
+ REG_ICH_LR7_EL2=58983,
+ REG_ICH_LR8_EL2=58984,
+ REG_ICH_LR9_EL2=58985,
+ REG_ICH_LR10_EL2=58986,
+ REG_ICH_LR11_EL2=58987,
+ REG_ICH_LR12_EL2=58988,
+ REG_ICH_LR13_EL2=58989,
+ REG_ICH_LR14_EL2=58990,
+ REG_ICH_LR15_EL2=58991,
+ REG_CONTEXTIDR_EL2=59009,
+ REG_TPIDR_EL2=59010,
+ REG_SCXTNUM_EL2=59015,
+ REG_CNTVOFF_EL2=59139,
+ REG_CNTHCTL_EL2=59144,
+ REG_CNTHP_TVAL_EL2=59152,
+ REG_CNTHP_CTL_EL2=59153,
+ REG_CNTHP_CVAL_EL2=59154,
+ REG_CNTHV_TVAL_EL2=59160,
+ REG_CNTHV_CTL_EL2=59161,
+ REG_CNTHV_CVAL_EL2=59162,
+ REG_CNTHVS_TVAL_EL2=59168,
+ REG_CNTHVS_CTL_EL2=59169,
+ REG_CNTHVS_CVAL_EL2=59170,
+ REG_CNTHPS_TVAL_EL2=59176,
+ REG_CNTHPS_CTL_EL2=59177,
+ REG_CNTHPS_CVAL_EL2=59178,
+ REG_SCTLR_EL12=59520,
+ REG_CPACR_EL12=59522,
+ REG_TRFCR_EL12=59537,
+ REG_TTBR0_EL12=59648,
+ REG_TTBR1_EL12=59649,
+ REG_TCR_EL12=59650,
+ REG_SPSR_EL12=59904,
+ REG_ELR_EL12=59905,
+ REG_AFSR0_EL12=60040,
+ REG_AFSR1_EL12=60041,
+ REG_ESR_EL12=60048,
+ REG_TFSR_EL12=60080,
+ REG_FAR_EL12=60160,
+ REG_PMSCR_EL12=60616,
+ REG_MAIR_EL12=60688,
+ REG_AMAIR_EL12=60696,
+ REG_MPAM1_EL12=60712,
+ REG_VBAR_EL12=60928,
+ REG_CONTEXTIDR_EL12=61057,
+ REG_SCXTNUM_EL12=61063,
+ REG_CNTKCTL_EL12=61192,
+ REG_CNTP_TVAL_EL02=61200,
+ REG_CNTP_CTL_EL02=61201,
+ REG_CNTP_CVAL_EL02=61202,
+ REG_CNTV_TVAL_EL02=61208,
+ REG_CNTV_CTL_EL02=61209,
+ REG_CNTV_CVAL_EL02=61210,
+ REG_SCTLR_EL3=61568,
+ REG_ACTLR_EL3=61569,
+ REG_SCR_EL3=61576,
+ REG_SDER32_EL3=61577,
+ REG_CPTR_EL3=61578,
+ REG_MDCR_EL3=61593,
+ REG_TTBR0_EL3=61696,
+ REG_TCR_EL3=61698,
+ REG_SPSR_EL3=61952,
+ REG_ELR_EL3=61953,
+ REG_SP_EL2=61960,
+ REG_AFSR0_EL3=62088,
+ REG_AFSR1_EL3=62089,
+ REG_ESR_EL3=62096,
+ REG_TFSR_EL3=62128,
+ REG_FAR_EL3=62208,
+ REG_MAIR_EL3=62736,
+ REG_AMAIR_EL3=62744,
+ REG_MPAM3_EL3=62760,
+ REG_VBAR_EL3=62976,
+ REG_RMR_EL3=62978,
+ REG_ICC_CTLR_EL3=63076,
+ REG_ICC_SRE_EL3=63077,
+ REG_ICC_IGRPEN1_EL3=63079,
+ REG_TPIDR_EL3=63106,
+ REG_SCXTNUM_EL3=63111,
+ REG_CNTPS_TVAL_EL1=65296,
+ REG_CNTPS_CTL_EL1=65297,
+ REG_CNTPS_CVAL_EL1=65298,
+ /* exceptional system registers */
+ REG_PSTATE_SPSEL=65299, // (op0,op1,crn,crm,op2)=(0,0,4,9,5) doesn't map to [SYSREG_NONE+1, SYSREG_END)
+ SYSREG_END=65300,
+};
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+const char *get_system_register_name(enum SystemReg);
+const char *get_system_register_name_decomposed(int op0, int op1, int CRn, int CRm, int op2);
+#ifdef __cplusplus
+}
+#endif
+