diff options
| author | Galen Williamson <galen@vector35.com> | 2025-03-25 21:27:51 -0400 |
|---|---|---|
| committer | Galen Williamson <galen@vector35.com> | 2025-03-31 18:31:33 -0400 |
| commit | b095215397ca8fe7e9808f312403ec4494de76f6 (patch) | |
| tree | 5eebe61a44d2f95aa5fadd78d9974234fca376be /arch/arm64/disassembler/sysregs_fmt_gen.c | |
| parent | 8093106217331012734564301118244748535715 (diff) | |
[aarch64] Updating Aarch64 system registers to 2024-12 spec, fix MSR/MRS lifting to use ReadMSR/WriteMSR intrinsics that take enums, removing the sysregs from the register list of the architecture
* sysregs are no longer registers, add enum for TLBI and AT operands
* add erroneously missing cases for unsupported encodings, add enum for DC operands
Diffstat (limited to 'arch/arm64/disassembler/sysregs_fmt_gen.c')
| -rw-r--r-- | arch/arm64/disassembler/sysregs_fmt_gen.c | 1501 |
1 files changed, 1501 insertions, 0 deletions
diff --git a/arch/arm64/disassembler/sysregs_fmt_gen.c b/arch/arm64/disassembler/sysregs_fmt_gen.c new file mode 100644 index 00000000..805303ab --- /dev/null +++ b/arch/arm64/disassembler/sysregs_fmt_gen.c @@ -0,0 +1,1501 @@ +#include <stddef.h> + +#include "sysregs_gen.h" + +/* must parallel has_system_register_name() from the decode side */ +const char *get_system_register_name(enum SystemReg sr) +{ + switch(sr) { + case REG_EDSCR: return "edscr"; + case REG_EDPRSR: return "edprsr"; + case REG_UAOIMM: return "uaoimm"; + case REG_PANIMM: return "panimm"; + case REG_SPSELIMM: return "spselimm"; + case REG_DITIMM: return "ditimm"; + case REG_SVCRIMM: return "svcrimm"; + case REG_ICIALLUIS: return "icialluis"; + case REG_ICIALLU: return "iciallu"; + case REG_DCIVAC: return "dcivac"; + case REG_DCISW: return "dcisw"; + case REG_ATS1E1R: return "ats1e1r"; + case REG_ATS1E1W: return "ats1e1w"; + case REG_ATS1E0R: return "ats1e0r"; + case REG_ATS1E0W: return "ats1e0w"; + case REG_DCCSW: return "dccsw"; + case REG_DCCISW: return "dccisw"; + case REG_TLBIVMALLE1IS: return "tlbivmalle1is"; + case REG_TLBIVAE1IS: return "tlbivae1is"; + case REG_TLBIASIDE1IS: return "tlbiaside1is"; + case REG_TLBIVAAE1IS: return "tlbivaae1is"; + case REG_TLBIVALE1IS: return "tlbivale1is"; + case REG_TLBIVAALE1IS: return "tlbivaale1is"; + case REG_TLBIVMALLE1: return "tlbivmalle1"; + case REG_TLBIVAE1: return "tlbivae1"; + case REG_TLBIASIDE1: return "tlbiaside1"; + case REG_TLBIVAAE1: return "tlbivaae1"; + case REG_TLBIVALE1: return "tlbivale1"; + case REG_TLBIVAALE1: return "tlbivaale1"; + case REG_DCZVA: return "dczva"; + case REG_ICIVAU: return "icivau"; + case REG_DCCVAC: return "dccvac"; + case REG_DCCVAU: return "dccvau"; + case REG_DCCIVAC: return "dccivac"; + case REG_ATS1E2R: return "ats1e2r"; + case REG_ATS1E2W: return "ats1e2w"; + case REG_ATS12E1R: return "ats12e1r"; + case REG_ATS12E1W: return "ats12e1w"; + case REG_ATS12E0R: return "ats12e0r"; + case REG_ATS12E0W: return "ats12e0w"; + case REG_TLBIIPAS2E1IS: return "tlbiipas2e1is"; + case REG_TLBIIPAS2LE1IS: return "tlbiipas2le1is"; + case REG_TLBIALLE2IS: return "tlbialle2is"; + case REG_TLBIVAE2IS: return "tlbivae2is"; + case REG_TLBIALLE1IS: return "tlbialle1is"; + case REG_TLBIVALE2IS: return "tlbivale2is"; + case REG_TLBIVMALLS12E1IS: return "tlbivmalls12e1is"; + case REG_TLBIIPAS2E1: return "tlbiipas2e1"; + case REG_TLBIIPAS2LE1: return "tlbiipas2le1"; + case REG_TLBIALLE2: return "tlbialle2"; + case REG_TLBIVAE2: return "tlbivae2"; + case REG_TLBIALLE1: return "tlbialle1"; + case REG_TLBIVALE2: return "tlbivale2"; + case REG_TLBIVMALLS12E1: return "tlbivmalls12e1"; + case REG_ATS1E3R: return "ats1e3r"; + case REG_ATS1E3W: return "ats1e3w"; + case REG_TLBIALLE3IS: return "tlbialle3is"; + case REG_TLBIVAE3IS: return "tlbivae3is"; + case REG_TLBIVALE3IS: return "tlbivale3is"; + case REG_TLBIALLE3: return "tlbialle3"; + case REG_TLBIVAE3: return "tlbivae3"; + case REG_TLBIVALE3: return "tlbivale3"; + case REG_OSDTRRX_EL1: return "osdtrrx_el1"; + case REG_DBGBVR0_EL1: return "dbgbvr0_el1"; + case REG_DBGBCR0_EL1: return "dbgbcr0_el1"; + case REG_DBGWVR0_EL1: return "dbgwvr0_el1"; + case REG_DBGWCR0_EL1: return "dbgwcr0_el1"; + case REG_DBGBVR1_EL1: return "dbgbvr1_el1"; + case REG_DBGBCR1_EL1: return "dbgbcr1_el1"; + case REG_DBGWVR1_EL1: return "dbgwvr1_el1"; + case REG_DBGWCR1_EL1: return "dbgwcr1_el1"; + case REG_MDCCINT_EL1: return "mdccint_el1"; + case REG_MDSCR_EL1: return "mdscr_el1"; + case REG_DBGBVR2_EL1: return "dbgbvr2_el1"; + case REG_DBGBCR2_EL1: return "dbgbcr2_el1"; + case REG_DBGWVR2_EL1: return "dbgwvr2_el1"; + case REG_DBGWCR2_EL1: return "dbgwcr2_el1"; + case REG_OSDTRTX_EL1: return "osdtrtx_el1"; + case REG_DBGBVR3_EL1: return "dbgbvr3_el1"; + case REG_DBGBCR3_EL1: return "dbgbcr3_el1"; + case REG_DBGWVR3_EL1: return "dbgwvr3_el1"; + case REG_DBGWCR3_EL1: return "dbgwcr3_el1"; + case REG_DBGBVR4_EL1: return "dbgbvr4_el1"; + case REG_DBGBCR4_EL1: return "dbgbcr4_el1"; + case REG_DBGWVR4_EL1: return "dbgwvr4_el1"; + case REG_DBGWCR4_EL1: return "dbgwcr4_el1"; + case REG_DBGBVR5_EL1: return "dbgbvr5_el1"; + case REG_DBGBCR5_EL1: return "dbgbcr5_el1"; + case REG_DBGWVR5_EL1: return "dbgwvr5_el1"; + case REG_DBGWCR5_EL1: return "dbgwcr5_el1"; + case REG_DBGWFAR: return "dbgwfar"; + case REG_OSECCR_EL1: return "oseccr_el1"; + case REG_DBGBVR6_EL1: return "dbgbvr6_el1"; + case REG_DBGBCR6_EL1: return "dbgbcr6_el1"; + case REG_DBGWVR6_EL1: return "dbgwvr6_el1"; + case REG_DBGWCR6_EL1: return "dbgwcr6_el1"; + case REG_DBGBVR7_EL1: return "dbgbvr7_el1"; + case REG_DBGBCR7_EL1: return "dbgbcr7_el1"; + case REG_DBGWVR7_EL1: return "dbgwvr7_el1"; + case REG_DBGWCR7_EL1: return "dbgwcr7_el1"; + case REG_DBGBVR8_EL1: return "dbgbvr8_el1"; + case REG_DBGBCR8_EL1: return "dbgbcr8_el1"; + case REG_DBGWVR8_EL1: return "dbgwvr8_el1"; + case REG_DBGWCR8_EL1: return "dbgwcr8_el1"; + case REG_DBGBVR9_EL1: return "dbgbvr9_el1"; + case REG_DBGBCR9_EL1: return "dbgbcr9_el1"; + case REG_DBGWVR9_EL1: return "dbgwvr9_el1"; + case REG_DBGWCR9_EL1: return "dbgwcr9_el1"; + case REG_DBGBVR10_EL1: return "dbgbvr10_el1"; + case REG_DBGBCR10_EL1: return "dbgbcr10_el1"; + case REG_DBGWVR10_EL1: return "dbgwvr10_el1"; + case REG_DBGWCR10_EL1: return "dbgwcr10_el1"; + case REG_DBGBVR11_EL1: return "dbgbvr11_el1"; + case REG_DBGBCR11_EL1: return "dbgbcr11_el1"; + case REG_DBGWVR11_EL1: return "dbgwvr11_el1"; + case REG_DBGWCR11_EL1: return "dbgwcr11_el1"; + case REG_DBGBVR12_EL1: return "dbgbvr12_el1"; + case REG_DBGBCR12_EL1: return "dbgbcr12_el1"; + case REG_DBGWVR12_EL1: return "dbgwvr12_el1"; + case REG_DBGWCR12_EL1: return "dbgwcr12_el1"; + case REG_DBGBVR13_EL1: return "dbgbvr13_el1"; + case REG_DBGBCR13_EL1: return "dbgbcr13_el1"; + case REG_DBGWVR13_EL1: return "dbgwvr13_el1"; + case REG_DBGWCR13_EL1: return "dbgwcr13_el1"; + case REG_DBGBVR14_EL1: return "dbgbvr14_el1"; + case REG_DBGBCR14_EL1: return "dbgbcr14_el1"; + case REG_DBGWVR14_EL1: return "dbgwvr14_el1"; + case REG_DBGWCR14_EL1: return "dbgwcr14_el1"; + case REG_DBGBVR15_EL1: return "dbgbvr15_el1"; + case REG_DBGBCR15_EL1: return "dbgbcr15_el1"; + case REG_DBGWVR15_EL1: return "dbgwvr15_el1"; + case REG_DBGWCR15_EL1: return "dbgwcr15_el1"; + case REG_MDRAR_EL1: return "mdrar_el1"; + case REG_OSLAR_EL1: return "oslar_el1"; + case REG_OSLSR_EL1: return "oslsr_el1"; + case REG_OSDLR_EL1: return "osdlr_el1"; + case REG_DBGPRCR_EL1: return "dbgprcr_el1"; + case REG_CLAIMSET_EL1: return "claimset_el1"; + case REG_CLAIMCLR_EL1: return "claimclr_el1"; + case REG_AUTHSTAT_EL1: return "authstat_el1"; + case REG_TRCTRACEIDR: return "trctraceidr"; + case REG_TRCVICTLR: return "trcvictlr"; + case REG_TRCSEQEVR0: return "trcseqevr0"; + case REG_TRCCNTRLDVR0: return "trccntrldvr0"; + case REG_TRCIMSPEC0: return "trcimspec0"; + case REG_TRCPRGCTLR: return "trcprgctlr"; + case REG_TRCQCTLR: return "trcqctlr"; + case REG_TRCVIIECTLR: return "trcviiectlr"; + case REG_TRCSEQEVR1: return "trcseqevr1"; + case REG_TRCCNTRLDVR1: return "trccntrldvr1"; + case REG_TRCIMSPEC1: return "trcimspec1"; + case REG_TRCPROCSELR: return "trcprocselr"; + case REG_TRCVISSCTLR: return "trcvissctlr"; + case REG_TRCSEQEVR2: return "trcseqevr2"; + case REG_TRCCNTRLDVR2: return "trccntrldvr2"; + case REG_TRCIMSPEC2: return "trcimspec2"; + case REG_TRCVIPCSSCTLR: return "trcvipcssctlr"; + case REG_TRCCNTRLDVR3: return "trccntrldvr3"; + case REG_TRCIMSPEC3: return "trcimspec3"; + case REG_TRCCONFIGR: return "trcconfigr"; + case REG_TRCCNTCTLR0: return "trccntctlr0"; + case REG_TRCIMSPEC4: return "trcimspec4"; + case REG_TRCCNTCTLR1: return "trccntctlr1"; + case REG_TRCIMSPEC5: return "trcimspec5"; + case REG_TRCAUXCTLR: return "trcauxctlr"; + case REG_TRCSEQRSTEVR: return "trcseqrstevr"; + case REG_TRCCNTCTLR2: return "trccntctlr2"; + case REG_TRCIMSPEC6: return "trcimspec6"; + case REG_TRCSEQSTR: return "trcseqstr"; + case REG_TRCCNTCTLR3: return "trccntctlr3"; + case REG_TRCIMSPEC7: return "trcimspec7"; + case REG_TRCEVENTCTL0R: return "trceventctl0r"; + case REG_TRCVDCTLR: return "trcvdctlr"; + case REG_TRCEXTINSELR: return "trcextinselr"; + case REG_TRCCNTVR0: return "trccntvr0"; + case REG_TRCEVENTCTL1R: return "trceventctl1r"; + case REG_TRCVDSACCTLR: return "trcvdsacctlr"; + case REG_TRCEXTINSELR1: return "trcextinselr1"; + case REG_TRCCNTVR1: return "trccntvr1"; + case REG_TRCRSR: return "trcrsr"; + case REG_TRCVDARCCTLR: return "trcvdarcctlr"; + case REG_TRCEXTINSELR2: return "trcextinselr2"; + case REG_TRCCNTVR2: return "trccntvr2"; + case REG_TRCSTALLCTLR: return "trcstallctlr"; + case REG_TRCEXTINSELR3: return "trcextinselr3"; + case REG_TRCCNTVR3: return "trccntvr3"; + case REG_TRCTSCTLR: return "trctsctlr"; + case REG_TRCSYNCPR: return "trcsyncpr"; + case REG_TRCCCCTLR: return "trcccctlr"; + case REG_TRCBBCTLR: return "trcbbctlr"; + case REG_TRCRSCTLR16: return "trcrsctlr16"; + case REG_TRCSSCCR0: return "trcssccr0"; + case REG_TRCSSPCICR0: return "trcsspcicr0"; + case REG_TRCOSLAR: return "trcoslar"; + case REG_TRCRSCTLR17: return "trcrsctlr17"; + case REG_TRCSSCCR1: return "trcssccr1"; + case REG_TRCSSPCICR1: return "trcsspcicr1"; + case REG_TRCRSCTLR2: return "trcrsctlr2"; + case REG_TRCRSCTLR18: return "trcrsctlr18"; + case REG_TRCSSCCR2: return "trcssccr2"; + case REG_TRCSSPCICR2: return "trcsspcicr2"; + case REG_TRCRSCTLR3: return "trcrsctlr3"; + case REG_TRCRSCTLR19: return "trcrsctlr19"; + case REG_TRCSSCCR3: return "trcssccr3"; + case REG_TRCSSPCICR3: return "trcsspcicr3"; + case REG_TRCRSCTLR4: return "trcrsctlr4"; + case REG_TRCRSCTLR20: return "trcrsctlr20"; + case REG_TRCSSCCR4: return "trcssccr4"; + case REG_TRCSSPCICR4: return "trcsspcicr4"; + case REG_TRCPDCR: return "trcpdcr"; + case REG_TRCRSCTLR5: return "trcrsctlr5"; + case REG_TRCRSCTLR21: return "trcrsctlr21"; + case REG_TRCSSCCR5: return "trcssccr5"; + case REG_TRCSSPCICR5: return "trcsspcicr5"; + case REG_TRCRSCTLR6: return "trcrsctlr6"; + case REG_TRCRSCTLR22: return "trcrsctlr22"; + case REG_TRCSSCCR6: return "trcssccr6"; + case REG_TRCSSPCICR6: return "trcsspcicr6"; + case REG_TRCRSCTLR7: return "trcrsctlr7"; + case REG_TRCRSCTLR23: return "trcrsctlr23"; + case REG_TRCSSCCR7: return "trcssccr7"; + case REG_TRCSSPCICR7: return "trcsspcicr7"; + case REG_TRCRSCTLR8: return "trcrsctlr8"; + case REG_TRCRSCTLR24: return "trcrsctlr24"; + case REG_TRCSSCSR0: return "trcsscsr0"; + case REG_TRCRSCTLR9: return "trcrsctlr9"; + case REG_TRCRSCTLR25: return "trcrsctlr25"; + case REG_TRCSSCSR1: return "trcsscsr1"; + case REG_TRCRSCTLR10: return "trcrsctlr10"; + case REG_TRCRSCTLR26: return "trcrsctlr26"; + case REG_TRCSSCSR2: return "trcsscsr2"; + case REG_TRCRSCTLR11: return "trcrsctlr11"; + case REG_TRCRSCTLR27: return "trcrsctlr27"; + case REG_TRCSSCSR3: return "trcsscsr3"; + case REG_TRCRSCTLR12: return "trcrsctlr12"; + case REG_TRCRSCTLR28: return "trcrsctlr28"; + case REG_TRCSSCSR4: return "trcsscsr4"; + case REG_TRCRSCTLR13: return "trcrsctlr13"; + case REG_TRCRSCTLR29: return "trcrsctlr29"; + case REG_TRCSSCSR5: return "trcsscsr5"; + case REG_TRCRSCTLR14: return "trcrsctlr14"; + case REG_TRCRSCTLR30: return "trcrsctlr30"; + case REG_TRCSSCSR6: return "trcsscsr6"; + case REG_TRCRSCTLR15: return "trcrsctlr15"; + case REG_TRCRSCTLR31: return "trcrsctlr31"; + case REG_TRCSSCSR7: return "trcsscsr7"; + case REG_TRCACVR0: return "trcacvr0"; + case REG_TRCACVR8: return "trcacvr8"; + case REG_TRCACATR0: return "trcacatr0"; + case REG_TRCACATR8: return "trcacatr8"; + case REG_TRCDVCVR0: return "trcdvcvr0"; + case REG_TRCDVCVR4: return "trcdvcvr4"; + case REG_TRCDVCMR0: return "trcdvcmr0"; + case REG_TRCDVCMR4: return "trcdvcmr4"; + case REG_TRCACVR1: return "trcacvr1"; + case REG_TRCACVR9: return "trcacvr9"; + case REG_TRCACATR1: return "trcacatr1"; + case REG_TRCACATR9: return "trcacatr9"; + case REG_TRCACVR2: return "trcacvr2"; + case REG_TRCACVR10: return "trcacvr10"; + case REG_TRCACATR2: return "trcacatr2"; + case REG_TRCACATR10: return "trcacatr10"; + case REG_TRCDVCVR1: return "trcdvcvr1"; + case REG_TRCDVCVR5: return "trcdvcvr5"; + case REG_TRCDVCMR1: return "trcdvcmr1"; + case REG_TRCDVCMR5: return "trcdvcmr5"; + case REG_TRCACVR3: return "trcacvr3"; + case REG_TRCACVR11: return "trcacvr11"; + case REG_TRCACATR3: return "trcacatr3"; + case REG_TRCACATR11: return "trcacatr11"; + case REG_TRCACVR4: return "trcacvr4"; + case REG_TRCACVR12: return "trcacvr12"; + case REG_TRCACATR4: return "trcacatr4"; + case REG_TRCACATR12: return "trcacatr12"; + case REG_TRCDVCVR2: return "trcdvcvr2"; + case REG_TRCDVCVR6: return "trcdvcvr6"; + case REG_TRCDVCMR2: return "trcdvcmr2"; + case REG_TRCDVCMR6: return "trcdvcmr6"; + case REG_TRCACVR5: return "trcacvr5"; + case REG_TRCACVR13: return "trcacvr13"; + case REG_TRCACATR5: return "trcacatr5"; + case REG_TRCACATR13: return "trcacatr13"; + case REG_TRCACVR6: return "trcacvr6"; + case REG_TRCACVR14: return "trcacvr14"; + case REG_TRCACATR6: return "trcacatr6"; + case REG_TRCACATR14: return "trcacatr14"; + case REG_TRCDVCVR3: return "trcdvcvr3"; + case REG_TRCDVCVR7: return "trcdvcvr7"; + case REG_TRCDVCMR3: return "trcdvcmr3"; + case REG_TRCDVCMR7: return "trcdvcmr7"; + case REG_TRCACVR7: return "trcacvr7"; + case REG_TRCACVR15: return "trcacvr15"; + case REG_TRCACATR7: return "trcacatr7"; + case REG_TRCACATR15: return "trcacatr15"; + case REG_TRCCIDCVR0: return "trccidcvr0"; + case REG_TRCVMIDCVR0: return "trcvmidcvr0"; + case REG_TRCCIDCCTLR0: return "trccidcctlr0"; + case REG_TRCCIDCCTLR1: return "trccidcctlr1"; + case REG_TRCCIDCVR1: return "trccidcvr1"; + case REG_TRCVMIDCVR1: return "trcvmidcvr1"; + case REG_TRCVMIDCCTLR0: return "trcvmidcctlr0"; + case REG_TRCVMIDCCTLR1: return "trcvmidcctlr1"; + case REG_TRCCIDCVR2: return "trccidcvr2"; + case REG_TRCVMIDCVR2: return "trcvmidcvr2"; + case REG_TRCCIDCVR3: return "trccidcvr3"; + case REG_TRCVMIDCVR3: return "trcvmidcvr3"; + case REG_TRCCIDCVR4: return "trccidcvr4"; + case REG_TRCVMIDCVR4: return "trcvmidcvr4"; + case REG_TRCCIDCVR5: return "trccidcvr5"; + case REG_TRCVMIDCVR5: return "trcvmidcvr5"; + case REG_TRCCIDCVR6: return "trccidcvr6"; + case REG_TRCVMIDCVR6: return "trcvmidcvr6"; + case REG_TRCCIDCVR7: return "trccidcvr7"; + case REG_TRCVMIDCVR7: return "trcvmidcvr7"; + case REG_TRCITCTRL: return "trcitctrl"; + case REG_TRCCLAIMSET: return "trcclaimset"; + case REG_TRCCLAIMCLR: return "trcclaimclr"; + case REG_TRCLAR: return "trclar"; + case REG_TEECR32_EL1: return "teecr32_el1"; + case REG_TEEHBR32_EL1: return "teehbr32_el1"; + case REG_MDCCSR_EL0: return "mdccsr_el0"; + case REG_MDDTR_EL0: return "mddtr_el0"; + case REG_MDDTRTX_EL0: return "mddtrtx_el0"; + case REG_DBGVCR32_EL2: return "dbgvcr32_el2"; + case REG_MIDR_EL1: return "midr_el1"; + case REG_MPIDR_EL1: return "mpidr_el1"; + case REG_REVIDR_EL1: return "revidr_el1"; + case REG_ID_PFR0_EL1: return "id_pfr0_el1"; + case REG_ID_PFR1_EL1: return "id_pfr1_el1"; + case REG_ID_DFR0_EL1: return "id_dfr0_el1"; + case REG_ID_AFR0_EL1: return "id_afr0_el1"; + case REG_ID_MMFR0_EL1: return "id_mmfr0_el1"; + case REG_ID_MMFR1_EL1: return "id_mmfr1_el1"; + case REG_ID_MMFR2_EL1: return "id_mmfr2_el1"; + case REG_ID_MMFR3_EL1: return "id_mmfr3_el1"; + case REG_ID_ISAR0_EL1: return "id_isar0_el1"; + case REG_ID_ISAR1_EL1: return "id_isar1_el1"; + case REG_ID_ISAR2_EL1: return "id_isar2_el1"; + case REG_ID_ISAR3_EL1: return "id_isar3_el1"; + case REG_ID_ISAR4_EL1: return "id_isar4_el1"; + case REG_ID_ISAR5_EL1: return "id_isar5_el1"; + case REG_ID_MMFR4_EL1: return "id_mmfr4_el1"; + case REG_ID_ISAR6_EL1: return "id_isar6_el1"; + case REG_MVFR0_EL1: return "mvfr0_el1"; + case REG_MVFR1_EL1: return "mvfr1_el1"; + case REG_MVFR2_EL1: return "mvfr2_el1"; + case REG_ID_AA32RES3_EL1: return "id_aa32res3_el1"; + case REG_ID_PFR2_EL1: return "id_pfr2_el1"; + case REG_ID_AA32RES5_EL1: return "id_aa32res5_el1"; + case REG_ID_AA32RES6_EL1: return "id_aa32res6_el1"; + case REG_ID_AA32RES7_EL1: return "id_aa32res7_el1"; + case REG_ID_AA64PFR0_EL1: return "id_aa64pfr0_el1"; + case REG_ID_AA64PFR1_EL1: return "id_aa64pfr1_el1"; + case REG_ID_AA64PFR2_EL1: return "id_aa64pfr2_el1"; + case REG_ID_AA64PFR3_EL1: return "id_aa64pfr3_el1"; + case REG_ID_AA64ZFR0_EL1: return "id_aa64zfr0_el1"; + case REG_ID_AA64SMFR0_EL1: return "id_aa64smfr0_el1"; + case REG_ID_AA64ZFR2_EL1: return "id_aa64zfr2_el1"; + case REG_ID_AA64ZFR3_EL1: return "id_aa64zfr3_el1"; + case REG_ID_AA64DFR0_EL1: return "id_aa64dfr0_el1"; + case REG_ID_AA64DFR1_EL1: return "id_aa64dfr1_el1"; + case REG_ID_AA64DFR2_EL1: return "id_aa64dfr2_el1"; + case REG_ID_AA64DFR3_EL1: return "id_aa64dfr3_el1"; + case REG_ID_AA64AFR0_EL1: return "id_aa64afr0_el1"; + case REG_ID_AA64AFR1_EL1: return "id_aa64afr1_el1"; + case REG_ID_AA64AFR2_EL1: return "id_aa64afr2_el1"; + case REG_ID_AA64AFR3_EL1: return "id_aa64afr3_el1"; + case REG_ID_AA64ISAR0_EL1: return "id_aa64isar0_el1"; + case REG_ID_AA64ISAR1_EL1: return "id_aa64isar1_el1"; + case REG_ID_AA64ISAR2_EL1: return "id_aa64isar2_el1"; + case REG_ID_AA64ISAR3_EL1: return "id_aa64isar3_el1"; + case REG_ID_AA64ISAR4_EL1: return "id_aa64isar4_el1"; + case REG_ID_AA64ISAR5_EL1: return "id_aa64isar5_el1"; + case REG_ID_AA64ISAR6_EL1: return "id_aa64isar6_el1"; + case REG_ID_AA64ISAR7_EL1: return "id_aa64isar7_el1"; + case REG_ID_AA64MMFR0_EL1: return "id_aa64mmfr0_el1"; + case REG_ID_AA64MMFR1_EL1: return "id_aa64mmfr1_el1"; + case REG_ID_AA64MMFR2_EL1: return "id_aa64mmfr2_el1"; + case REG_ID_AA64MMFR3_EL1: return "id_aa64mmfr3_el1"; + case REG_ID_AA64MMFR4_EL1: return "id_aa64mmfr4_el1"; + case REG_ID_AA64MMFR5_EL1: return "id_aa64mmfr5_el1"; + case REG_ID_AA64MMFR6_EL1: return "id_aa64mmfr6_el1"; + case REG_ID_AA64MMFR7_EL1: return "id_aa64mmfr7_el1"; + case REG_SCTLR_EL21: return "sctlr_el21"; + case REG_ACTLR_EL21: return "actlr_el21"; + case REG_CPTR_EL21: return "cptr_el21"; + case REG_RGSR_EL1: return "rgsr_el1"; + case REG_GCR_EL1: return "gcr_el1"; + case REG_TRFCR_EL1: return "trfcr_el1"; + case REG_SMPRI_EL1: return "smpri_el1"; + case REG_SMCR_EL21: return "smcr_el21"; + case REG_TTBR0_EL21: return "ttbr0_el21"; + case REG_TTBR1_EL21: return "ttbr1_el21"; + case REG_TCR_EL21: return "tcr_el21"; + case REG_APIAKEYLO_EL21: return "apiakeylo_el21"; + case REG_APIAKEYHI_EL21: return "apiakeyhi_el21"; + case REG_APIBKEYLO_EL21: return "apibkeylo_el21"; + case REG_APIBKEYHI_EL21: return "apibkeyhi_el21"; + case REG_APDAKEYLO_EL21: return "apdakeylo_el21"; + case REG_APDAKEYHI_EL21: return "apdakeyhi_el21"; + case REG_APDBKEYLO_EL21: return "apdbkeylo_el21"; + case REG_APDBKEYHI_EL21: return "apdbkeyhi_el21"; + case REG_APGAKEYLO_EL21: return "apgakeylo_el21"; + case REG_APGAKEYHI_EL21: return "apgakeyhi_el21"; + case REG_SPSR_EL21: return "spsr_el21"; + case REG_ELR_EL21: return "elr_el21"; + case REG_SP_EL0: return "sp_el0"; + case REG_SPSEL: return "spsel"; + case REG_NESTEDCURRENTEL: return "nestedcurrentel"; + case REG_PAN: return "pan"; + case REG_UAO: return "uao"; + case REG_ICV_PMR_EL1: return "icv_pmr_el1"; + case REG_AFSR0_EL21: return "afsr0_el21"; + case REG_AFSR1_EL21: return "afsr1_el21"; + case REG_ESR_EL21: return "esr_el21"; + case REG_ERRIDR_EL1: return "erridr_el1"; + case REG_ERRSELR_EL1: return "errselr_el1"; + case REG_ERXCTLR_EL1: return "erxctlr_el1"; + case REG_ERXSTATUS_EL1: return "erxstatus_el1"; + case REG_ERXADDR_EL1: return "erxaddr_el1"; + case REG_ERXPFGCTL_EL1: return "erxpfgctl_el1"; + case REG_ERXPFGCDN_EL1: return "erxpfgcdn_el1"; + case REG_ERXMISC0_EL1: return "erxmisc0_el1"; + case REG_ERXMISC1_EL1: return "erxmisc1_el1"; + case REG_ERXMISC2_EL1: return "erxmisc2_el1"; + case REG_ERXMISC3_EL1: return "erxmisc3_el1"; + case REG_ERXTS_EL1: return "erxts_el1"; + case REG_TFSR_EL1: return "tfsr_el1"; + case REG_TFSRE0_EL1: return "tfsre0_el1"; + case REG_FAR_EL21: return "far_el21"; + case REG_PAR_EL1: return "par_el1"; + case REG_PMSCR_EL1: return "pmscr_el1"; + case REG_PMSICR_EL1: return "pmsicr_el1"; + case REG_PMSIRR_EL1: return "pmsirr_el1"; + case REG_PMSFCR_EL1: return "pmsfcr_el1"; + case REG_PMSEVFR_EL1: return "pmsevfr_el1"; + case REG_PMSLATFR_EL1: return "pmslatfr_el1"; + case REG_PMSIDR_EL1: return "pmsidr_el1"; + case REG_PMBLIMITR_EL1: return "pmblimitr_el1"; + case REG_PMBPTR_EL1: return "pmbptr_el1"; + case REG_PMBSR_EL1: return "pmbsr_el1"; + case REG_PMBIDR_EL1: return "pmbidr_el1"; + case REG_TRBLIMITR_EL1: return "trblimitr_el1"; + case REG_TRBPTR_EL1: return "trbptr_el1"; + case REG_TRBBASER_EL1: return "trbbaser_el1"; + case REG_TRBSR_EL1: return "trbsr_el1"; + case REG_TRBMAR_EL1: return "trbmar_el1"; + case REG_TRBTRG_EL1: return "trbtrg_el1"; + case REG_PMINTENSET_EL1: return "pmintenset_el1"; + case REG_PMINTENCLR_EL1: return "pmintenclr_el1"; + case REG_PMMIR_EL1: return "pmmir_el1"; + case REG_MAIR_EL21: return "mair_el21"; + case REG_AMAIR_EL21: return "amair_el21"; + case REG_LORSA_EL1: return "lorsa_el1"; + case REG_LOREA_EL1: return "lorea_el1"; + case REG_LORN_EL1: return "lorn_el1"; + case REG_LORC_EL1: return "lorc_el1"; + case REG_LORID_EL1: return "lorid_el1"; + case REG_MPAM1_EL1: return "mpam1_el1"; + case REG_MPAM0_EL1: return "mpam0_el1"; + case REG_CTRR_C_LWR_EL21: return "ctrr_c_lwr_el21"; + case REG_CTRR_C_UPR_EL21: return "ctrr_c_upr_el21"; + case REG_CTRR_D_LWR_EL21: return "ctrr_d_lwr_el21"; + case REG_CTRR_D_UPR_EL21: return "ctrr_d_upr_el21"; + case REG_CTRR_C_LWR_EL12: return "ctrr_c_lwr_el12"; + case REG_CTRR_C_UPR_EL12: return "ctrr_c_upr_el12"; + case REG_CTRR_D_LWR_EL12: return "ctrr_d_lwr_el12"; + case REG_CTRR_D_UPR_EL12: return "ctrr_d_upr_el12"; + case REG_CTRR_C_LWR_EL2: return "ctrr_c_lwr_el2"; + case REG_CTRR_C_UPR_EL2: return "ctrr_c_upr_el2"; + case REG_CTRR_D_LWR_EL2: return "ctrr_d_lwr_el2"; + case REG_CTRR_D_UPR_EL2: return "ctrr_d_upr_el2"; + case REG_CTRR_C_CTL_EL21: return "ctrr_c_ctl_el21"; + case REG_CTRR_D_CTL_EL21: return "ctrr_d_ctl_el21"; + case REG_CTRR_C_CTL_EL12: return "ctrr_c_ctl_el12"; + case REG_CTRR_D_CTL_EL12: return "ctrr_d_ctl_el12"; + case REG_CTRR_C_CTL_EL2: return "ctrr_c_ctl_el2"; + case REG_CTRR_D_CTL_EL2: return "ctrr_d_ctl_el2"; + case REG_CTXR_A_LWR_EL21: return "ctxr_a_lwr_el21"; + case REG_CTXR_A_UPR_EL21: return "ctxr_a_upr_el21"; + case REG_CTXR_B_LWR_EL21: return "ctxr_b_lwr_el21"; + case REG_CTXR_B_UPR_EL21: return "ctxr_b_upr_el21"; + case REG_CTXR_C_LWR_EL21: return "ctxr_c_lwr_el21"; + case REG_CTXR_C_UPR_EL21: return "ctxr_c_upr_el21"; + case REG_CTXR_D_LWR_EL21: return "ctxr_d_lwr_el21"; + case REG_CTXR_D_UPR_EL21: return "ctxr_d_upr_el21"; + case REG_CTXR_A_LWR_EL12: return "ctxr_a_lwr_el12"; + case REG_CTXR_A_UPR_EL12: return "ctxr_a_upr_el12"; + case REG_CTXR_B_LWR_EL12: return "ctxr_b_lwr_el12"; + case REG_CTXR_B_UPR_EL12: return "ctxr_b_upr_el12"; + case REG_CTXR_C_LWR_EL12: return "ctxr_c_lwr_el12"; + case REG_CTXR_C_UPR_EL12: return "ctxr_c_upr_el12"; + case REG_CTXR_D_LWR_EL12: return "ctxr_d_lwr_el12"; + case REG_CTXR_D_UPR_EL12: return "ctxr_d_upr_el12"; + case REG_CTXR_A_LWR_EL2: return "ctxr_a_lwr_el2"; + case REG_CTXR_A_UPR_EL2: return "ctxr_a_upr_el2"; + case REG_CTXR_B_LWR_EL2: return "ctxr_b_lwr_el2"; + case REG_CTXR_B_UPR_EL2: return "ctxr_b_upr_el2"; + case REG_CTXR_C_LWR_EL2: return "ctxr_c_lwr_el2"; + case REG_CTXR_C_UPR_EL2: return "ctxr_c_upr_el2"; + case REG_CTXR_D_LWR_EL2: return "ctxr_d_lwr_el2"; + case REG_CTXR_D_UPR_EL2: return "ctxr_d_upr_el2"; + case REG_CTXR_A_CTL_EL21: return "ctxr_a_ctl_el21"; + case REG_CTXR_B_CTL_EL21: return "ctxr_b_ctl_el21"; + case REG_CTXR_C_CTL_EL21: return "ctxr_c_ctl_el21"; + case REG_CTXR_D_CTL_EL21: return "ctxr_d_ctl_el21"; + case REG_CTXR_A_CTL_EL12: return "ctxr_a_ctl_el12"; + case REG_CTXR_B_CTL_EL12: return "ctxr_b_ctl_el12"; + case REG_CTXR_C_CTL_EL12: return "ctxr_c_ctl_el12"; + case REG_CTXR_D_CTL_EL12: return "ctxr_d_ctl_el12"; + case REG_CTXR_A_CTL_EL2: return "ctxr_a_ctl_el2"; + case REG_CTXR_B_CTL_EL2: return "ctxr_b_ctl_el2"; + case REG_CTXR_C_CTL_EL2: return "ctxr_c_ctl_el2"; + case REG_CTXR_D_CTL_EL2: return "ctxr_d_ctl_el2"; + case REG_ACC_CTRR_C_LWR_EL2: return "acc_ctrr_c_lwr_el2"; + case REG_ACC_CTRR_C_UPR_EL2: return "acc_ctrr_c_upr_el2"; + case REG_ACC_CTRR_D_LWR_EL2: return "acc_ctrr_d_lwr_el2"; + case REG_ACC_CTRR_D_UPR_EL2: return "acc_ctrr_d_upr_el2"; + case REG_ACC_CTXR_A_LWR_EL2: return "acc_ctxr_a_lwr_el2"; + case REG_ACC_CTXR_A_UPR_EL2: return "acc_ctxr_a_upr_el2"; + case REG_ACC_CTXR_B_LWR_EL2: return "acc_ctxr_b_lwr_el2"; + case REG_ACC_CTXR_B_UPR_EL2: return "acc_ctxr_b_upr_el2"; + case REG_ACC_CTXR_C_LWR_EL2: return "acc_ctxr_c_lwr_el2"; + case REG_ACC_CTXR_C_UPR_EL2: return "acc_ctxr_c_upr_el2"; + case REG_ACC_CTXR_D_LWR_EL2: return "acc_ctxr_d_lwr_el2"; + case REG_ACC_CTXR_D_UPR_EL2: return "acc_ctxr_d_upr_el2"; + case REG_ACC_CTRR_C_CTL_EL2: return "acc_ctrr_c_ctl_el2"; + case REG_ACC_CTRR_D_CTL_EL2: return "acc_ctrr_d_ctl_el2"; + case REG_ACC_CTXR_A_CTL_EL2: return "acc_ctxr_a_ctl_el2"; + case REG_ACC_CTXR_B_CTL_EL2: return "acc_ctxr_b_ctl_el2"; + case REG_ACC_CTXR_C_CTL_EL2: return "acc_ctxr_c_ctl_el2"; + case REG_ACC_CTXR_D_CTL_EL2: return "acc_ctxr_d_ctl_el2"; + case REG_VBAR_EL21: return "vbar_el21"; + case REG_RVBAR_EL1: return "rvbar_el1"; + case REG_RMR_EL1: return "rmr_el1"; + case REG_ISR_EL1: return "isr_el1"; + case REG_DISR_EL1: return "disr_el1"; + case REG_ICV_IAR0_EL1: return "icv_iar0_el1"; + case REG_ICV_EOIR0_EL1: return "icv_eoir0_el1"; + case REG_ICV_HPPIR0_EL1: return "icv_hppir0_el1"; + case REG_ICV_BPR0_EL1: return "icv_bpr0_el1"; + case REG_ICC_AP0R0_EL1: return "icc_ap0r0_el1"; + case REG_ICC_AP0R1_EL1: return "icc_ap0r1_el1"; + case REG_ICC_AP0R2_EL1: return "icc_ap0r2_el1"; + case REG_ICC_AP0R3_EL1: return "icc_ap0r3_el1"; + case REG_ICC_AP1R0_EL1: return "icc_ap1r0_el1"; + case REG_ICC_AP1R1_EL1: return "icc_ap1r1_el1"; + case REG_ICC_AP1R2_EL1: return "icc_ap1r2_el1"; + case REG_ICC_AP1R3_EL1: return "icc_ap1r3_el1"; + case REG_ICV_DIR_EL1: return "icv_dir_el1"; + case REG_ICV_RPR_EL1: return "icv_rpr_el1"; + case REG_ICC_SGI1R_EL1: return "icc_sgi1r_el1"; + case REG_ICC_ASGI1R_EL1: return "icc_asgi1r_el1"; + case REG_ICC_SGI0R_EL1: return "icc_sgi0r_el1"; + case REG_ICV_IAR1_EL1: return "icv_iar1_el1"; + case REG_ICV_EOIR1_EL1: return "icv_eoir1_el1"; + case REG_ICV_HPPIR1_EL1: return "icv_hppir1_el1"; + case REG_ICV_BPR1_EL1: return "icv_bpr1_el1"; + case REG_ICV_CTLR_EL1: return "icv_ctlr_el1"; + case REG_ICC_SRE_EL1: return "icc_sre_el1"; + case REG_ICV_IGRPEN0_EL1: return "icv_igrpen0_el1"; + case REG_ICV_IGRPEN1_EL1: return "icv_igrpen1_el1"; + case REG_ICC_SEIEN_EL1: return "icc_seien_el1"; + case REG_CONTEXTIDR_EL21: return "contextidr_el21"; + case REG_TPIDR_EL1: return "tpidr_el1"; + case REG_SCXTNUM_EL21: return "scxtnum_el21"; + case REG_REDIR_CNTKCTL_EL1: return "redir_cntkctl_el1"; + case REG_HID0: return "hid0"; + case REG_HID25: return "hid25"; + case REG_HID26: return "hid26"; + case REG_HID27: return "hid27"; + case REG_HID28: return "hid28"; + case REG_HID29: return "hid29"; + case REG_HID34: return "hid34"; + case REG_HID1: return "hid1"; + case REG_HID21: return "hid21"; + case REG_BIUVCSCUPCMDCRD: return "biuvcscupcmdcrd"; + case REG_BIUVCSCUPDATCRD: return "biuvcscupdatcrd"; + case REG_HID2: return "hid2"; + case REG_HID30: return "hid30"; + case REG_HID31: return "hid31"; + case REG_HID32: return "hid32"; + case REG_HID33: return "hid33"; + case REG_HID3: return "hid3"; + case REG_BIUVCSCUPCMDCRDC2: return "biuvcscupcmdcrdc2"; + case REG_BIUVCSCUPDATCRDC2: return "biuvcscupdatcrdc2"; + case REG_HID4: return "hid4"; + case REG_HID5: return "hid5"; + case REG_HID6: return "hid6"; + case REG_HID7: return "hid7"; + case REG_HID8: return "hid8"; + case REG_HID9: return "hid9"; + case REG_HID10: return "hid10"; + case REG_BLOCK_CMAINT_CFG: return "block_cmaint_cfg"; + case REG_HID11: return "hid11"; + case REG_HID18: return "hid18"; + case REG_HID36: return "hid36"; + case REG_HID37: return "hid37"; + case REG_HID12: return "hid12"; + case REG_HID15: return "hid15"; + case REG_HID19: return "hid19"; + case REG_BIU_TLIMIT: return "biu_tlimit"; + case REG_HID13: return "hid13"; + case REG_HID_RCTX_G0CTL: return "hid_rctx_g0ctl"; + case REG_HID_RCTX_G1CTL: return "hid_rctx_g1ctl"; + case REG_HID14: return "hid14"; + case REG_HID16: return "hid16"; + case REG_LLC_WRR2: return "llc_wrr2"; + case REG_BIU_AFI_CFG: return "biu_afi_cfg"; + case REG_HID17: return "hid17"; + case REG_HID24: return "hid24"; + case REG_HID35: return "hid35"; + case REG_CCSIDRPL1_I_EL1: return "ccsidrpl1_i_el1"; + case REG_CLIDR_EL1: return "clidr_el1"; + case REG_SMIDR_EL1: return "smidr_el1"; + case REG_AIDR_EL1: return "aidr_el1"; + case REG_PMCR0_EL1: return "pmcr0_el1"; + case REG_APPL_CONTEXTPTR: return "appl_contextptr"; + case REG_LD_LATPROF_CTL_EL21: return "ld_latprof_ctl_el21"; + case REG_AON_CPU_MSTALL_CTL01_EL1: return "aon_cpu_mstall_ctl01_el1"; + case REG_PM_MEMFLT_CTL23_EL1: return "pm_memflt_ctl23_el1"; + case REG_REDIR_ACNTV_CTL_EL0: return "redir_acntv_ctl_el0"; + case REG_LCL_ACNTVCTSS_NOREDIR_EL0: return "lcl_acntvctss_noredir_el0"; + case REG_PMCR1_EL21: return "pmcr1_el21"; + case REG_LD_LATPROF_CTR_EL1: return "ld_latprof_ctr_el1"; + case REG_AON_CPU_MSTALL_CTL23_EL1: return "aon_cpu_mstall_ctl23_el1"; + case REG_PM_MEMFLT_CTL45_EL1: return "pm_memflt_ctl45_el1"; + case REG_AGTCNTRDIR_EL21: return "agtcntrdir_el21"; + case REG_AGTCNTKCTL_NOREDIR_EL1: return "agtcntkctl_noredir_el1"; + case REG_PMCR2_EL1: return "pmcr2_el1"; + case REG_LD_LATPROF_STS_EL1: return "ld_latprof_sts_el1"; + case REG_AON_CPU_MSTALL_CTL45_EL1: return "aon_cpu_mstall_ctl45_el1"; + case REG_REDIR_ACNTHP_CVAL_EL2: return "redir_acnthp_cval_el2"; + case REG_LCL_CNTVCT_NOREDIR_EL0: return "lcl_cntvct_noredir_el0"; + case REG_AGTCNTP_CVAL_NOREDIR_EL0: return "agtcntp_cval_noredir_el0"; + case REG_PMCR3_EL1: return "pmcr3_el1"; + case REG_LD_LATPROF_INF_EL1: return "ld_latprof_inf_el1"; + case REG_AON_CPU_MSTALL_CTL67_EL1: return "aon_cpu_mstall_ctl67_el1"; + case REG_REDIR_ACNTHP_TVAL_EL2: return "redir_acnthp_tval_el2"; + case REG_LCL_CNTPCTSS_NOREDIR_EL0: return "lcl_cntpctss_noredir_el0"; + case REG_AGTCNTP_TVAL_NOREDIR_EL0: return "agtcntp_tval_noredir_el0"; + case REG_PMCR4_EL1: return "pmcr4_el1"; + case REG_LD_LATPROF_CTL_EL2: return "ld_latprof_ctl_el2"; + case REG_AON_CPU_MEMFLT_CTL01_EL1: return "aon_cpu_memflt_ctl01_el1"; + case REG_REDIR_ACNTHP_CTL_EL2: return "redir_acnthp_ctl_el2"; + case REG_LCL_CNTVCTSS_NOREDIR_EL0: return "lcl_cntvctss_noredir_el0"; + case REG_AGTCNTP_CTL_NOREDIR_EL0: return "agtcntp_ctl_noredir_el0"; + case REG_PMESR0_EL1: return "pmesr0_el1"; + case REG_LD_LATPROF_CMD_EL1: return "ld_latprof_cmd_el1"; + case REG_AON_CPU_MEMFLT_CTL23_EL1: return "aon_cpu_memflt_ctl23_el1"; + case REG_REDIR_ACNTHV_CVAL_EL2: return "redir_acnthv_cval_el2"; + case REG_AGTCNTV_CVAL_NOREDIR_EL0: return "agtcntv_cval_noredir_el0"; + case REG_PMESR1_EL1: return "pmesr1_el1"; + case REG_PMCR1_EL2: return "pmcr1_el2"; + case REG_AON_CPU_MEMFLT_CTL45_EL1: return "aon_cpu_memflt_ctl45_el1"; + case REG_REDIR_ACNTHV_TVAL_EL2: return "redir_acnthv_tval_el2"; + case REG_CNTKCTL_NOREDIR_EL1: return "cntkctl_noredir_el1"; + case REG_AGTCNTV_TVAL_NOREDIR_EL0: return "agtcntv_tval_noredir_el0"; + case REG_OPMAT0_EL1: return "opmat0_el1"; + case REG_PMCR1_EL12: return "pmcr1_el12"; + case REG_AON_CPU_MEMFLT_CTL67_EL1: return "aon_cpu_memflt_ctl67_el1"; + case REG_REDIR_ACNTHV_CTL_EL2: return "redir_acnthv_ctl_el2"; + case REG_CNTP_CVAL_NOREDIR_EL0: return "cntp_cval_noredir_el0"; + case REG_AGTCNTV_CTL_NOREDIR_EL0: return "agtcntv_ctl_noredir_el0"; + case REG_OPMAT1_EL1: return "opmat1_el1"; + case REG_PMCR1_GL12: return "pmcr1_gl12"; + case REG_AON_CPU_MSTALL_CTR0_EL1: return "aon_cpu_mstall_ctr0_el1"; + case REG_REDIR_ACNTFRQ_EL0: return "redir_acntfrq_el0"; + case REG_CNTP_TVAL_NOREDIR_EL0: return "cntp_tval_noredir_el0"; + case REG_LCL_CNTPCT_NOREDIR_EL0: return "lcl_cntpct_noredir_el0"; + case REG_OPMSK0_EL1: return "opmsk0_el1"; + case REG_LD_LATPROF_CTL_EL12: return "ld_latprof_ctl_el12"; + case REG_AON_CPU_MSTALL_CTR1_EL1: return "aon_cpu_mstall_ctr1_el1"; + case REG_AGTCNTVOFF_EL2: return "agtcntvoff_el2"; + case REG_CNTP_CTL_NOREDIR_EL0: return "cntp_ctl_noredir_el0"; + case REG_CNTV_CTL_NOREDIR_EL0: return "cntv_ctl_noredir_el0"; + case REG_OPMSK1_EL1: return "opmsk1_el1"; + case REG_LD_LATPROF_INF_EL2: return "ld_latprof_inf_el2"; + case REG_AON_CPU_MSTALL_CTR2_EL1: return "aon_cpu_mstall_ctr2_el1"; + case REG_REDIR_ACNTP_CVAL_EL0: return "redir_acntp_cval_el0"; + case REG_CNTV_CVAL_NOREDIR_EL0: return "cntv_cval_noredir_el0"; + case REG_LCL_ACNTPCT_NOREDIR_EL0: return "lcl_acntpct_noredir_el0"; + case REG_AON_CPU_MSTALL_CTR3_EL1: return "aon_cpu_mstall_ctr3_el1"; + case REG_REDIR_ACNTP_TVAL_EL0: return "redir_acntp_tval_el0"; + case REG_CNTV_TVAL_NOREDIR_EL0: return "cntv_tval_noredir_el0"; + case REG_VMSA_HV_LOCK_EL2: return "vmsa_hv_lock_el2"; + case REG_PMSWCTRL_EL1: return "pmswctrl_el1"; + case REG_PMCR5_EL0: return "pmcr5_el0"; + case REG_AON_CPU_MSTALL_CTR4_EL1: return "aon_cpu_mstall_ctr4_el1"; + case REG_PMCOMPARE0_EL1: return "pmcompare0_el1"; + case REG_PMCOMPARE1_EL1: return "pmcompare1_el1"; + case REG_VMSA_NV_LOCK_EL2: return "vmsa_nv_lock_el2"; + case REG_PMSR_EL1: return "pmsr_el1"; + case REG_AON_CPU_MSTALL_CTR5_EL1: return "aon_cpu_mstall_ctr5_el1"; + case REG_REDIR_ACNTP_CTL_EL0: return "redir_acntp_ctl_el0"; + case REG_PMCOMPARE5_EL1: return "pmcompare5_el1"; + case REG_PMCOMPARE6_EL1: return "pmcompare6_el1"; + case REG_PMCOMPARE7_EL1: return "pmcompare7_el1"; + case REG_PMCR_BVRNG4_EL1: return "pmcr_bvrng4_el1"; + case REG_PM_PMI_PC: return "pm_pmi_pc"; + case REG_AON_CPU_MSTALL_CTR6_EL1: return "aon_cpu_mstall_ctr6_el1"; + case REG_REDIR_ACNTV_CVAL_EL0: return "redir_acntv_cval_el0"; + case REG_LCL_ACNTVCT_NOREDIR_EL0: return "lcl_acntvct_noredir_el0"; + case REG_PMCR_BVRNG5_EL1: return "pmcr_bvrng5_el1"; + case REG_AON_CPU_MSTALL_CTR7_EL1: return "aon_cpu_mstall_ctr7_el1"; + case REG_REDIR_ACNTV_TVAL_EL0: return "redir_acntv_tval_el0"; + case REG_LCL_ACNTPCTSS_NOREDIR_EL0: return "lcl_acntpctss_noredir_el0"; + case REG_CSSELR_EL1: return "csselr_el1"; + case REG_PMC0: return "pmc0"; + case REG_UPMCFILTER0: return "upmcfilter0"; + case REG_UPMCFILTER1: return "upmcfilter1"; + case REG_UPMCFILTER2: return "upmcfilter2"; + case REG_UPMCFILTER3: return "upmcfilter3"; + case REG_UPMCFILTER4: return "upmcfilter4"; + case REG_UPMCFILTER5: return "upmcfilter5"; + case REG_UPMCFILTER6: return "upmcfilter6"; + case REG_PMC1: return "pmc1"; + case REG_UPMCFILTER7: return "upmcfilter7"; + case REG_PMC2: return "pmc2"; + case REG_PMC3: return "pmc3"; + case REG_PMC4: return "pmc4"; + case REG_PMC5: return "pmc5"; + case REG_PMC6: return "pmc6"; + case REG_PMC7: return "pmc7"; + case REG_PMC8: return "pmc8"; + case REG_PMC9: return "pmc9"; + case REG_PMTRHLD6_EL1: return "pmtrhld6_el1"; + case REG_PMTRHLD4_EL1: return "pmtrhld4_el1"; + case REG_PMTRHLD2_EL1: return "pmtrhld2_el1"; + case REG_PMMMAP_EL1: return "pmmmap_el1"; + case REG_CTR_EL0: return "ctr_el0"; + case REG_DCZID_EL0: return "dczid_el0"; + case REG_NZCV: return "nzcv"; + case REG_DAIF: return "daif"; + case REG_SVCR: return "svcr"; + case REG_DIT: return "dit"; + case REG_SSBS: return "ssbs"; + case REG_TCO: return "tco"; + case REG_FPCR: return "fpcr"; + case REG_FPSR: return "fpsr"; + case REG_DSPSR_EL0: return "dspsr_el0"; + case REG_DLR_EL0: return "dlr_el0"; + case REG_PMCR_EL0: return "pmcr_el0"; + case REG_PMCNTENSET_EL0: return "pmcntenset_el0"; + case REG_PMCNTENCLR_EL0: return "pmcntenclr_el0"; + case REG_PMOVSCLR_EL0: return "pmovsclr_el0"; + case REG_PMSWINC_EL0: return "pmswinc_el0"; + case REG_PMSELR_EL0: return "pmselr_el0"; + case REG_PMCCNTR_EL0: return "pmccntr_el0"; + case REG_PMXEVTYPER_EL0: return "pmxevtyper_el0"; + case REG_PMXEVCNTR_EL0: return "pmxevcntr_el0"; + case REG_DAIFCLR: return "daifclr"; + case REG_PMUSERENR_EL0: return "pmuserenr_el0"; + case REG_PMOVSSET_EL0: return "pmovsset_el0"; + case REG_TPIDR_EL0: return "tpidr_el0"; + case REG_TPIDRRO_EL0: return "tpidrro_el0"; + case REG_TPIDR2_EL0: return "tpidr2_el0"; + case REG_SCXTNUM_EL0: return "scxtnum_el0"; + case REG_AMCR_EL0: return "amcr_el0"; + case REG_AMUSERENR_EL0: return "amuserenr_el0"; + case REG_AMCNTENCLR0_EL0: return "amcntenclr0_el0"; + case REG_AMCNTENSET0_EL0: return "amcntenset0_el0"; + case REG_AMCNTENCLR1_EL0: return "amcntenclr1_el0"; + case REG_AMCNTENSET1_EL0: return "amcntenset1_el0"; + case REG_AMEVCNTR00_EL0: return "amevcntr00_el0"; + case REG_AMEVCNTR01_EL0: return "amevcntr01_el0"; + case REG_AMEVCNTR02_EL0: return "amevcntr02_el0"; + case REG_AMEVCNTR03_EL0: return "amevcntr03_el0"; + case REG_AMEVCNTR10_EL0: return "amevcntr10_el0"; + case REG_AMEVCNTR11_EL0: return "amevcntr11_el0"; + case REG_AMEVCNTR12_EL0: return "amevcntr12_el0"; + case REG_AMEVCNTR13_EL0: return "amevcntr13_el0"; + case REG_AMEVCNTR14_EL0: return "amevcntr14_el0"; + case REG_AMEVCNTR15_EL0: return "amevcntr15_el0"; + case REG_AMEVCNTR16_EL0: return "amevcntr16_el0"; + case REG_AMEVCNTR17_EL0: return "amevcntr17_el0"; + case REG_AMEVCNTR18_EL0: return "amevcntr18_el0"; + case REG_AMEVCNTR19_EL0: return "amevcntr19_el0"; + case REG_AMEVCNTR110_EL0: return "amevcntr110_el0"; + case REG_AMEVCNTR111_EL0: return "amevcntr111_el0"; + case REG_AMEVCNTR112_EL0: return "amevcntr112_el0"; + case REG_AMEVCNTR113_EL0: return "amevcntr113_el0"; + case REG_AMEVCNTR114_EL0: return "amevcntr114_el0"; + case REG_AMEVCNTR115_EL0: return "amevcntr115_el0"; + case REG_AMEVTYPER10_EL0: return "amevtyper10_el0"; + case REG_AMEVTYPER11_EL0: return "amevtyper11_el0"; + case REG_AMEVTYPER12_EL0: return "amevtyper12_el0"; + case REG_AMEVTYPER13_EL0: return "amevtyper13_el0"; + case REG_AMEVTYPER14_EL0: return "amevtyper14_el0"; + case REG_AMEVTYPER15_EL0: return "amevtyper15_el0"; + case REG_AMEVTYPER16_EL0: return "amevtyper16_el0"; + case REG_AMEVTYPER17_EL0: return "amevtyper17_el0"; + case REG_AMEVTYPER18_EL0: return "amevtyper18_el0"; + case REG_AMEVTYPER19_EL0: return "amevtyper19_el0"; + case REG_AMEVTYPER110_EL0: return "amevtyper110_el0"; + case REG_AMEVTYPER111_EL0: return "amevtyper111_el0"; + case REG_AMEVTYPER112_EL0: return "amevtyper112_el0"; + case REG_AMEVTYPER113_EL0: return "amevtyper113_el0"; + case REG_AMEVTYPER114_EL0: return "amevtyper114_el0"; + case REG_AMEVTYPER115_EL0: return "amevtyper115_el0"; + case REG_REDIR_CNTFRQ_EL0: return "redir_cntfrq_el0"; + case REG_REDIR_LCL_CNTPCT_EL0: return "redir_lcl_cntpct_el0"; + case REG_REDIR_LCL_CNTVCT_EL0: return "redir_lcl_cntvct_el0"; + case REG_REDIR_LCL_CNTPCTSS_EL0: return "redir_lcl_cntpctss_el0"; + case REG_REDIR_LCL_CNTVCTSS_EL0: return "redir_lcl_cntvctss_el0"; + case REG_REDIR_CNTP_TVAL_EL0: return "redir_cntp_tval_el0"; + case REG_REDIR_CNTP_CTL_EL0: return "redir_cntp_ctl_el0"; + case REG_REDIR_CNTP_CVAL_EL0: return "redir_cntp_cval_el0"; + case REG_REDIR_CNTV_TVAL_EL0: return "redir_cntv_tval_el0"; + case REG_REDIR_CNTV_CTL_EL0: return "redir_cntv_ctl_el0"; + case REG_REDIR_CNTV_CVAL_EL0: return "redir_cntv_cval_el0"; + case REG_PMEVCNTR0_EL0: return "pmevcntr0_el0"; + case REG_PMEVCNTR1_EL0: return "pmevcntr1_el0"; + case REG_PMEVCNTR2_EL0: return "pmevcntr2_el0"; + case REG_PMEVCNTR3_EL0: return "pmevcntr3_el0"; + case REG_PMEVCNTR4_EL0: return "pmevcntr4_el0"; + case REG_PMEVCNTR5_EL0: return "pmevcntr5_el0"; + case REG_PMEVCNTR6_EL0: return "pmevcntr6_el0"; + case REG_PMEVCNTR7_EL0: return "pmevcntr7_el0"; + case REG_PMEVCNTR8_EL0: return "pmevcntr8_el0"; + case REG_PMEVCNTR9_EL0: return "pmevcntr9_el0"; + case REG_PMEVCNTR10_EL0: return "pmevcntr10_el0"; + case REG_PMEVCNTR11_EL0: return "pmevcntr11_el0"; + case REG_PMEVCNTR12_EL0: return "pmevcntr12_el0"; + case REG_PMEVCNTR13_EL0: return "pmevcntr13_el0"; + case REG_PMEVCNTR14_EL0: return "pmevcntr14_el0"; + case REG_PMEVCNTR15_EL0: return "pmevcntr15_el0"; + case REG_PMEVCNTR16_EL0: return "pmevcntr16_el0"; + case REG_PMEVCNTR17_EL0: return "pmevcntr17_el0"; + case REG_PMEVCNTR18_EL0: return "pmevcntr18_el0"; + case REG_PMEVCNTR19_EL0: return "pmevcntr19_el0"; + case REG_PMEVCNTR20_EL0: return "pmevcntr20_el0"; + case REG_PMEVCNTR21_EL0: return "pmevcntr21_el0"; + case REG_PMEVCNTR22_EL0: return "pmevcntr22_el0"; + case REG_PMEVCNTR23_EL0: return "pmevcntr23_el0"; + case REG_PMEVCNTR24_EL0: return "pmevcntr24_el0"; + case REG_PMEVCNTR25_EL0: return "pmevcntr25_el0"; + case REG_PMEVCNTR26_EL0: return "pmevcntr26_el0"; + case REG_PMEVCNTR27_EL0: return "pmevcntr27_el0"; + case REG_PMEVCNTR28_EL0: return "pmevcntr28_el0"; + case REG_PMEVCNTR29_EL0: return "pmevcntr29_el0"; + case REG_PMEVCNTR30_EL0: return "pmevcntr30_el0"; + case REG_PMEVTYPER0_EL0: return "pmevtyper0_el0"; + case REG_PMEVTYPER1_EL0: return "pmevtyper1_el0"; + case REG_PMEVTYPER2_EL0: return "pmevtyper2_el0"; + case REG_PMEVTYPER3_EL0: return "pmevtyper3_el0"; + case REG_PMEVTYPER4_EL0: return "pmevtyper4_el0"; + case REG_PMEVTYPER5_EL0: return "pmevtyper5_el0"; + case REG_PMEVTYPER6_EL0: return "pmevtyper6_el0"; + case REG_PMEVTYPER7_EL0: return "pmevtyper7_el0"; + case REG_PMEVTYPER8_EL0: return "pmevtyper8_el0"; + case REG_PMEVTYPER9_EL0: return "pmevtyper9_el0"; + case REG_PMEVTYPER10_EL0: return "pmevtyper10_el0"; + case REG_PMEVTYPER11_EL0: return "pmevtyper11_el0"; + case REG_PMEVTYPER12_EL0: return "pmevtyper12_el0"; + case REG_PMEVTYPER13_EL0: return "pmevtyper13_el0"; + case REG_PMEVTYPER14_EL0: return "pmevtyper14_el0"; + case REG_PMEVTYPER15_EL0: return "pmevtyper15_el0"; + case REG_PMEVTYPER16_EL0: return "pmevtyper16_el0"; + case REG_PMEVTYPER17_EL0: return "pmevtyper17_el0"; + case REG_PMEVTYPER18_EL0: return "pmevtyper18_el0"; + case REG_PMEVTYPER19_EL0: return "pmevtyper19_el0"; + case REG_PMEVTYPER20_EL0: return "pmevtyper20_el0"; + case REG_PMEVTYPER21_EL0: return "pmevtyper21_el0"; + case REG_PMEVTYPER22_EL0: return "pmevtyper22_el0"; + case REG_PMEVTYPER23_EL0: return "pmevtyper23_el0"; + case REG_PMEVTYPER24_EL0: return "pmevtyper24_el0"; + case REG_PMEVTYPER25_EL0: return "pmevtyper25_el0"; + case REG_PMEVTYPER26_EL0: return "pmevtyper26_el0"; + case REG_PMEVTYPER27_EL0: return "pmevtyper27_el0"; + case REG_PMEVTYPER28_EL0: return "pmevtyper28_el0"; + case REG_PMEVTYPER29_EL0: return "pmevtyper29_el0"; + case REG_PMEVTYPER30_EL0: return "pmevtyper30_el0"; + case REG_PMCCFILTR_EL0: return "pmccfiltr_el0"; + case REG_LSU_ERR_STS: return "lsu_err_sts"; + case REG_AFLATCTL1_EL1: return "aflatctl1_el1"; + case REG_AFLATVALBIN0_EL1: return "aflatvalbin0_el1"; + case REG_AFLATINFLO_EL1: return "aflatinflo_el1"; + case REG_LSU_ERR_CTL: return "lsu_err_ctl"; + case REG_AFLATCTL2_EL1: return "aflatctl2_el1"; + case REG_AFLATVALBIN1_EL1: return "aflatvalbin1_el1"; + case REG_AFLATINFHI_EL1: return "aflatinfhi_el1"; + case REG_AFLATCTL3_EL1: return "aflatctl3_el1"; + case REG_AFLATVALBIN2_EL1: return "aflatvalbin2_el1"; + case REG_AFLATCTL4_EL1: return "aflatctl4_el1"; + case REG_AFLATVALBIN3_EL1: return "aflatvalbin3_el1"; + case REG_LLC_FILL_CTL: return "llc_fill_ctl"; + case REG_AFLATCTL5_LO_EL1: return "aflatctl5_lo_el1"; + case REG_AFLATVALBIN4_EL1: return "aflatvalbin4_el1"; + case REG_AFLATCTL5_HI_EL1: return "aflatctl5_hi_el1"; + case REG_LLC_FILL_DAT: return "llc_fill_dat"; + case REG_AFLATVALBIN5_EL1: return "aflatvalbin5_el1"; + case REG_AFLATVALBIN6_EL1: return "aflatvalbin6_el1"; + case REG_LLC_RAM_CONFIG: return "llc_ram_config"; + case REG_AFLATVALBIN7_EL1: return "aflatvalbin7_el1"; + case REG_LLC_ERR_STS: return "llc_err_sts"; + case REG_CMAINT_BCAST_LIST_0: return "cmaint_bcast_list_0"; + case REG_CMAINT_BCAST_LIST_1: return "cmaint_bcast_list_1"; + case REG_CMAINT_BCAST_CTL: return "cmaint_bcast_ctl"; + case REG_LLC_ERR_ADR: return "llc_err_adr"; + case REG_LLC_ERR_CTL: return "llc_err_ctl"; + case REG_LLC_ERR_INJ: return "llc_err_inj"; + case REG_LLC_ERR_INF: return "llc_err_inf"; + case REG_USERTAGSEL_EL1: return "usertagsel_el1"; + case REG_UUSERTAG_EL0: return "uusertag_el0"; + case REG_KUSERTAG_EL1: return "kusertag_el1"; + case REG_HUSERTAG_EL2: return "husertag_el2"; + case REG_LLC_TRACE_CTL0: return "llc_trace_ctl0"; + case REG_LLC_TRACE_CTL1: return "llc_trace_ctl1"; + case REG_LLC_UP_REQ_VC: return "llc_up_req_vc"; + case REG_LLC_UP_REQ_VC_THRESH: return "llc_up_req_vc_thresh"; + case REG_LLC_UP_REQ_VC_2: return "llc_up_req_vc_2"; + case REG_LLC_UP_REQ_VC_THRESH_2: return "llc_up_req_vc_thresh_2"; + case REG_LLC_DRAM_HASH0: return "llc_dram_hash0"; + case REG_LLC_DRAM_HASH1: return "llc_dram_hash1"; + case REG_LLC_DRAM_HASH2: return "llc_dram_hash2"; + case REG_LLC_DRAM_HASH3: return "llc_dram_hash3"; + case REG_LLC_TRACE_CTL2: return "llc_trace_ctl2"; + case REG_LLC_DRAM_HASH4: return "llc_dram_hash4"; + case REG_LLC_UP_REQ_VC_3: return "llc_up_req_vc_3"; + case REG_LLC_UP_REQ_VC_THRESH_3: return "llc_up_req_vc_thresh_3"; + case REG_LLC_UP_REQ_VC_4: return "llc_up_req_vc_4"; + case REG_LLC_UP_REQ_VC_THRESH_4: return "llc_up_req_vc_thresh_4"; + case REG_LLC_HASH0: return "llc_hash0"; + case REG_LLC_HASH1: return "llc_hash1"; + case REG_LLC_HASH2: return "llc_hash2"; + case REG_LLC_HASH3: return "llc_hash3"; + case REG_LLC_WRR: return "llc_wrr"; + case REG_LLC_DRAM_HASH5: return "llc_dram_hash5"; + case REG_LLC_DRAM_HASH6: return "llc_dram_hash6"; + case REG_VPIDR_EL2: return "vpidr_el2"; + case REG_VMPIDR_EL2: return "vmpidr_el2"; + case REG_SCTLR_EL2: return "sctlr_el2"; + case REG_ACTLR_EL2: return "actlr_el2"; + case REG_HCR_EL2: return "hcr_el2"; + case REG_MDCR_EL2: return "mdcr_el2"; + case REG_CPTR_EL2: return "cptr_el2"; + case REG_HSTR_EL2: return "hstr_el2"; + case REG_HFGRTR_EL2: return "hfgrtr_el2"; + case REG_HFGWTR_EL2: return "hfgwtr_el2"; + case REG_HFGITR_EL2: return "hfgitr_el2"; + case REG_HACR_EL2: return "hacr_el2"; + case REG_TRFCR_EL2: return "trfcr_el2"; + case REG_HCRX_EL2: return "hcrx_el2"; + case REG_SMPRIMAP_EL2: return "smprimap_el2"; + case REG_SMCR_EL2: return "smcr_el2"; + case REG_SDER32_EL2: return "sder32_el2"; + case REG_TTBR0_EL2: return "ttbr0_el2"; + case REG_TTBR1_EL2: return "ttbr1_el2"; + case REG_TCR_EL2: return "tcr_el2"; + case REG_VTTBR_EL2: return "vttbr_el2"; + case REG_VTCR_EL2: return "vtcr_el2"; + case REG_VNCR_EL2: return "vncr_el2"; + case REG_VSTTBR_EL2: return "vsttbr_el2"; + case REG_VSTCR_EL2: return "vstcr_el2"; + case REG_DACR32_EL2: return "dacr32_el2"; + case REG_HDFGRTR_EL2: return "hdfgrtr_el2"; + case REG_HDFGWTR_EL2: return "hdfgwtr_el2"; + case REG_SPSR_NV_EL21: return "spsr_nv_el21"; + case REG_ELR_NV_EL21: return "elr_nv_el21"; + case REG_SP_EL1: return "sp_el1"; + case REG_SPSR_IRQ: return "spsr_irq"; + case REG_SPSR_ABT: return "spsr_abt"; + case REG_SPSR_UND: return "spsr_und"; + case REG_SPSR_FIQ: return "spsr_fiq"; + case REG_IFSR32_EL2: return "ifsr32_el2"; + case REG_AFSR0_EL2: return "afsr0_el2"; + case REG_AFSR1_EL2: return "afsr1_el2"; + case REG_ESR_NV_EL21: return "esr_nv_el21"; + case REG_VSESR_EL2: return "vsesr_el2"; + case REG_FPEXC32_EL2: return "fpexc32_el2"; + case REG_TFSR_EL2: return "tfsr_el2"; + case REG_FAR_NV_EL21: return "far_nv_el21"; + case REG_HPFAR_EL2: return "hpfar_el2"; + case REG_PMSCR_EL2: return "pmscr_el2"; + case REG_MAIR_EL2: return "mair_el2"; + case REG_AMAIR_EL2: return "amair_el2"; + case REG_MPAMHCR_EL2: return "mpamhcr_el2"; + case REG_MPAMVPMV_EL2: return "mpamvpmv_el2"; + case REG_MPAM2_EL2: return "mpam2_el2"; + case REG_MPAMVPM0_EL2: return "mpamvpm0_el2"; + case REG_MPAMVPM1_EL2: return "mpamvpm1_el2"; + case REG_MPAMVPM2_EL2: return "mpamvpm2_el2"; + case REG_MPAMVPM3_EL2: return "mpamvpm3_el2"; + case REG_MPAMVPM4_EL2: return "mpamvpm4_el2"; + case REG_MPAMVPM5_EL2: return "mpamvpm5_el2"; + case REG_MPAMVPM6_EL2: return "mpamvpm6_el2"; + case REG_MPAMVPM7_EL2: return "mpamvpm7_el2"; + case REG_VBAR_EL2: return "vbar_el2"; + case REG_RVBAR_EL2: return "rvbar_el2"; + case REG_RMR_EL2: return "rmr_el2"; + case REG_VDISR_EL2: return "vdisr_el2"; + case REG_ICH_AP0R0_EL2: return "ich_ap0r0_el2"; + case REG_ICH_AP0R1_EL2: return "ich_ap0r1_el2"; + case REG_ICH_AP0R2_EL2: return "ich_ap0r2_el2"; + case REG_ICH_AP0R3_EL2: return "ich_ap0r3_el2"; + case REG_ICH_AP1R0_EL2: return "ich_ap1r0_el2"; + case REG_ICH_AP1R1_EL2: return "ich_ap1r1_el2"; + case REG_ICH_AP1R2_EL2: return "ich_ap1r2_el2"; + case REG_ICH_AP1R3_EL2: return "ich_ap1r3_el2"; + case REG_ICH_VSEIR_EL2: return "ich_vseir_el2"; + case REG_ICC_SRE_EL2: return "icc_sre_el2"; + case REG_ICH_HCR_EL2: return "ich_hcr_el2"; + case REG_ICH_VTR_EL2: return "ich_vtr_el2"; + case REG_ICH_MISR_EL2: return "ich_misr_el2"; + case REG_ICH_EISR_EL2: return "ich_eisr_el2"; + case REG_ICH_ELRSR_EL2: return "ich_elrsr_el2"; + case REG_ICH_VMCR_EL2: return "ich_vmcr_el2"; + case REG_ICH_LR0_EL2: return "ich_lr0_el2"; + case REG_ICH_LR1_EL2: return "ich_lr1_el2"; + case REG_ICH_LR2_EL2: return "ich_lr2_el2"; + case REG_ICH_LR3_EL2: return "ich_lr3_el2"; + case REG_ICH_LR4_EL2: return "ich_lr4_el2"; + case REG_ICH_LR5_EL2: return "ich_lr5_el2"; + case REG_ICH_LR6_EL2: return "ich_lr6_el2"; + case REG_ICH_LR7_EL2: return "ich_lr7_el2"; + case REG_ICH_LR8_EL2: return "ich_lr8_el2"; + case REG_ICH_LR9_EL2: return "ich_lr9_el2"; + case REG_ICH_LR10_EL2: return "ich_lr10_el2"; + case REG_ICH_LR11_EL2: return "ich_lr11_el2"; + case REG_ICH_LR12_EL2: return "ich_lr12_el2"; + case REG_ICH_LR13_EL2: return "ich_lr13_el2"; + case REG_ICH_LR14_EL2: return "ich_lr14_el2"; + case REG_ICH_LR15_EL2: return "ich_lr15_el2"; + case REG_CONTEXTIDR_EL2: return "contextidr_el2"; + case REG_TPIDR_EL2: return "tpidr_el2"; + case REG_SCXTNUM_EL2: return "scxtnum_el2"; + case REG_CNTVOFF_EL2: return "cntvoff_el2"; + case REG_REDIR_CNTHCTL_EL2: return "redir_cnthctl_el2"; + case REG_REDIR_CNTHP_TVAL_EL2: return "redir_cnthp_tval_el2"; + case REG_REDIR_CNTHP_CTL_EL2: return "redir_cnthp_ctl_el2"; + case REG_REDIR_CNTHP_CVAL_EL2: return "redir_cnthp_cval_el2"; + case REG_REDIR_CNTHV_TVAL_EL2: return "redir_cnthv_tval_el2"; + case REG_REDIR_CNTHV_CTL_EL2: return "redir_cnthv_ctl_el2"; + case REG_REDIR_CNTHV_CVAL_EL2: return "redir_cnthv_cval_el2"; + case REG_CNTHVS_TVAL_EL2: return "cnthvs_tval_el2"; + case REG_CNTHVS_CTL_EL2: return "cnthvs_ctl_el2"; + case REG_CNTHVS_CVAL_EL2: return "cnthvs_cval_el2"; + case REG_CNTHPS_TVAL_EL2: return "cnthps_tval_el2"; + case REG_CNTHPS_CTL_EL2: return "cnthps_ctl_el2"; + case REG_CNTHPS_CVAL_EL2: return "cnthps_cval_el2"; + case REG_FED_ERR_STS: return "fed_err_sts"; + case REG_FED_ERR_CTL: return "fed_err_ctl"; + case REG_APCTL_EL21: return "apctl_el21"; + case REG_KERNKEYLO_EL21: return "kernkeylo_el21"; + case REG_KERNKEYHI_EL21: return "kernkeyhi_el21"; + case REG_VMSA_LOCK_EL1: return "vmsa_lock_el1"; + case REG_AMX_STATE_T_EL1: return "amx_state_t_el1"; + case REG_AMX_CONFIG_EL21: return "amx_config_el21"; + case REG_VMSA_LOCK_EL2: return "vmsa_lock_el2"; + case REG_CTRR_B_UPR_EL21: return "ctrr_b_upr_el21"; + case REG_CTRR_B_LWR_EL21: return "ctrr_b_lwr_el21"; + case REG_SP_SETUP_GL21: return "sp_setup_gl21"; + case REG_SP_SETUP_GL2: return "sp_setup_gl2"; + case REG_CTRR_B_CTL_EL21: return "ctrr_b_ctl_el21"; + case REG_CTRR_A_LWR_EL21: return "ctrr_a_lwr_el21"; + case REG_CTRR_A_UPR_EL21: return "ctrr_a_upr_el21"; + case REG_CTRR_A_CTL_EL21: return "ctrr_a_ctl_el21"; + case REG_VMSA_LOCK_EL12: return "vmsa_lock_el12"; + case REG_AGTCNTV_CTL_EL02: return "agtcntv_ctl_el02"; + case REG_AMX_STATE_EL1: return "amx_state_el1"; + case REG_AMX_STATUS_EL1: return "amx_status_el1"; + case REG_AGTCNTP_CVAL_EL02: return "agtcntp_cval_el02"; + case REG_REDIR_ACNTP_TVAL_EL02: return "redir_acntp_tval_el02"; + case REG_AGTCNTP_CTL_EL02: return "agtcntp_ctl_el02"; + case REG_AGTCNTV_CVAL_EL02: return "agtcntv_cval_el02"; + case REG_AGTCNTV_TVAL_EL02: return "agtcntv_tval_el02"; + case REG_AMX_CONFIG_EL12: return "amx_config_el12"; + case REG_AMX_CONFIG_EL2: return "amx_config_el2"; + case REG_SPRR_HUPERM_EL0: return "sprr_huperm_el0"; + case REG_SPRR_VUPERM_EL0: return "sprr_vuperm_el0"; + case REG_CTRR_A_CTL_EL2: return "ctrr_a_ctl_el2"; + case REG_CTRR_B_CTL_EL2: return "ctrr_b_ctl_el2"; + case REG_CTRR_A_LWR_EL2: return "ctrr_a_lwr_el2"; + case REG_CTRR_A_UPR_EL2: return "ctrr_a_upr_el2"; + case REG_CTRR_B_LWR_EL2: return "ctrr_b_lwr_el2"; + case REG_CTRR_B_UPR_EL2: return "ctrr_b_upr_el2"; + case REG_SPRR_HUMPRR_EL2: return "sprr_humprr_el2"; + case REG_SPRR_HUPERM_SH01_EL2: return "sprr_huperm_sh01_el2"; + case REG_SPRR_HUPERM_SH02_EL2: return "sprr_huperm_sh02_el2"; + case REG_SPRR_HUPERM_SH03_EL2: return "sprr_huperm_sh03_el2"; + case REG_SPRR_HUPERM_SH04_EL2: return "sprr_huperm_sh04_el2"; + case REG_SPRR_HUPERM_SH05_EL2: return "sprr_huperm_sh05_el2"; + case REG_SPRR_HUPERM_SH06_EL2: return "sprr_huperm_sh06_el2"; + case REG_SPRR_HUPERM_SH07_EL2: return "sprr_huperm_sh07_el2"; + case REG_SPRR_VUMPRR_EL1: return "sprr_vumprr_el1"; + case REG_SPRR_VUPERM_SH01_EL1: return "sprr_vuperm_sh01_el1"; + case REG_SPRR_VUPERM_SH02_EL1: return "sprr_vuperm_sh02_el1"; + case REG_SPRR_VUPERM_SH03_EL1: return "sprr_vuperm_sh03_el1"; + case REG_SPRR_VUPERM_SH04_EL1: return "sprr_vuperm_sh04_el1"; + case REG_SPRR_VUPERM_SH05_EL1: return "sprr_vuperm_sh05_el1"; + case REG_SPRR_VUPERM_SH06_EL1: return "sprr_vuperm_sh06_el1"; + case REG_SPRR_VUPERM_SH07_EL1: return "sprr_vuperm_sh07_el1"; + case REG_CTRR_A_LWR_EL12: return "ctrr_a_lwr_el12"; + case REG_CTRR_A_UPR_EL12: return "ctrr_a_upr_el12"; + case REG_CTRR_B_LWR_EL12: return "ctrr_b_lwr_el12"; + case REG_CTRR_B_UPR_EL12: return "ctrr_b_upr_el12"; + case REG_CTRR_A_CTL_EL12: return "ctrr_a_ctl_el12"; + case REG_CTRR_B_CTL_EL12: return "ctrr_b_ctl_el12"; + case REG_REDIR_ACNTKCTL_EL1: return "redir_acntkctl_el1"; + case REG_AGTCNTKCTL_EL12: return "agtcntkctl_el12"; + case REG_PREDAKEYLO_EL1: return "predakeylo_el1"; + case REG_PREDAKEYHI_EL1: return "predakeyhi_el1"; + case REG_PREDBKEYLO_EL1: return "predbkeylo_el1"; + case REG_PREDBKEYHI_EL1: return "predbkeyhi_el1"; + case REG_SIQ_CFG_EL1: return "siq_cfg_el1"; + case REG_REDIR_LCL_ACNTPCTSS_EL0: return "redir_lcl_acntpctss_el0"; + case REG_REDIR_LCL_ACNTVCTSS_EL0: return "redir_lcl_acntvctss_el0"; + case REG_AVNCR_EL2: return "avncr_el2"; + case REG_ACC_CTRR_A_LWR_EL2: return "acc_ctrr_a_lwr_el2"; + case REG_ACC_CTRR_A_UPR_EL2: return "acc_ctrr_a_upr_el2"; + case REG_ACC_CTRR_B_LWR_EL2: return "acc_ctrr_b_lwr_el2"; + case REG_ACC_CTRR_B_UPR_EL2: return "acc_ctrr_b_upr_el2"; + case REG_ACC_CTRR_A_CTL_EL2: return "acc_ctrr_a_ctl_el2"; + case REG_ACC_CTRR_B_CTL_EL2: return "acc_ctrr_b_ctl_el2"; + case REG_REDIR_LCL_ACNTPCT_EL0: return "redir_lcl_acntpct_el0"; + case REG_REDIR_LCL_ACNTVCT_EL0: return "redir_lcl_acntvct_el0"; + case REG_ACFG_EL1: return "acfg_el1"; + case REG_AHCR_EL2: return "ahcr_el2"; + case REG_APL_INTSTATUS_EL21: return "apl_intstatus_el21"; + case REG_APL_INTSTATUS_EL2: return "apl_intstatus_el2"; + case REG_REDIR_ACNTHCTL_EL2: return "redir_acnthctl_el2"; + case REG_JAPIAKEYLO_NV_EL21: return "japiakeylo_nv_el21"; + case REG_JAPIAKEYHI_NV_EL21: return "japiakeyhi_nv_el21"; + case REG_JAPIBKEYLO_NV_EL21: return "japibkeylo_nv_el21"; + case REG_JAPIBKEYHI_NV_EL21: return "japibkeyhi_nv_el21"; + case REG_JAPIAKEYLO_EL21: return "japiakeylo_el21"; + case REG_JAPIAKEYHI_EL21: return "japiakeyhi_el21"; + case REG_JAPIBKEYLO_EL21: return "japibkeylo_el21"; + case REG_JAPIBKEYHI_EL21: return "japibkeyhi_el21"; + case REG_JAPIAKEYLO_EL12: return "japiakeylo_el12"; + case REG_JAPIAKEYHI_EL12: return "japiakeyhi_el12"; + case REG_JAPIBKEYLO_EL12: return "japibkeylo_el12"; + case REG_JAPIBKEYHI_EL12: return "japibkeyhi_el12"; + case REG_AGTCNTRDIR_EL2: return "agtcntrdir_el2"; + case REG_AGTCNTRDIR_EL12: return "agtcntrdir_el12"; + case REG_JRANGE_EL2: return "jrange_el2"; + case REG_JRANGE_EL21: return "jrange_el21"; + case REG_JRANGE_EL12: return "jrange_el12"; + case REG_JCTL_EL2: return "jctl_el2"; + case REG_JCTL_EL21: return "jctl_el21"; + case REG_JCTL_EL12: return "jctl_el12"; + case REG_JCTL_EL0: return "jctl_el0"; + case REG_AMDSCR_EL1: return "amdscr_el1"; + case REG_SCTLR_EL12: return "sctlr_el12"; + case REG_ACTLR_EL12: return "actlr_el12"; + case REG_CPACR_EL12: return "cpacr_el12"; + case REG_TRFCR_EL12: return "trfcr_el12"; + case REG_SMCR_EL12: return "smcr_el12"; + case REG_TTBR0_EL12: return "ttbr0_el12"; + case REG_TTBR1_EL12: return "ttbr1_el12"; + case REG_TCR_EL12: return "tcr_el12"; + case REG_SPSR_EL12: return "spsr_el12"; + case REG_ELR_EL12: return "elr_el12"; + case REG_AFSR0_EL12: return "afsr0_el12"; + case REG_AFSR1_EL12: return "afsr1_el12"; + case REG_ESR_EL12: return "esr_el12"; + case REG_TFSR_EL12: return "tfsr_el12"; + case REG_FAR_EL12: return "far_el12"; + case REG_PMSCR_EL12: return "pmscr_el12"; + case REG_MAIR_EL12: return "mair_el12"; + case REG_AMAIR_EL12: return "amair_el12"; + case REG_MPAM1_EL12: return "mpam1_el12"; + case REG_VBAR_EL12: return "vbar_el12"; + case REG_CONTEXTIDR_EL12: return "contextidr_el12"; + case REG_SCXTNUM_EL12: return "scxtnum_el12"; + case REG_CNTKCTL_EL12: return "cntkctl_el12"; + case REG_CNTP_TVAL_EL02: return "cntp_tval_el02"; + case REG_CNTP_CTL_EL02: return "cntp_ctl_el02"; + case REG_CNTP_CVAL_EL02: return "cntp_cval_el02"; + case REG_CNTV_TVAL_EL02: return "cntv_tval_el02"; + case REG_CNTV_CTL_EL02: return "cntv_ctl_el02"; + case REG_CNTV_CVAL_EL02: return "cntv_cval_el02"; + case REG_IPI_RR_LOCAL_EL1: return "ipi_rr_local_el1"; + case REG_IPI_RR_GLOBAL_EL1: return "ipi_rr_global_el1"; + case REG_AF_ERR_CFG0: return "af_err_cfg0"; + case REG_AP_ERR_CFG0: return "ap_err_cfg0"; + case REG_AF_ERR_SRC_IDS: return "af_err_src_ids"; + case REG_DPC_ERR_STS: return "dpc_err_sts"; + case REG_DPC_ERR_CTL: return "dpc_err_ctl"; + case REG_PROD_TRC_CORE_CFG_EL21: return "prod_trc_core_cfg_el21"; + case REG_TRACE_CORE_CFG: return "trace_core_cfg"; + case REG_IPI_SR: return "ipi_sr"; + case REG_APL_LRTMR_EL2: return "apl_lrtmr_el2"; + case REG_APL_INTENABLE_EL2: return "apl_intenable_el2"; + case REG_KTRACE_MESSAGE: return "ktrace_message"; + case REG_TRACE_CORE_CFG_EXT: return "trace_core_cfg_ext"; + case REG_PROD_TRC_CORE_CFG_EL2: return "prod_trc_core_cfg_el2"; + case REG_HID_PROD_TRC_CORE_CFG_EL1: return "hid_prod_trc_core_cfg_el1"; + case REG_DBG_WRAP_GLB: return "dbg_wrap_glb"; + case REG_TRACE_STREAM_BASE: return "trace_stream_base"; + case REG_TRACE_STREAM_FILL: return "trace_stream_fill"; + case REG_TRACE_STREAM_BASE1: return "trace_stream_base1"; + case REG_TRACE_STREAM_FILL1: return "trace_stream_fill1"; + case REG_TRACE_STREAM_IRQ: return "trace_stream_irq"; + case REG_WATCHDOGDIAG0: return "watchdogdiag0"; + case REG_WATCHDOGDIAG1: return "watchdogdiag1"; + case REG_TRACE_AUX_CTL: return "trace_aux_ctl"; + case REG_IPI_CR: return "ipi_cr"; + case REG_UTRIG_EVENT: return "utrig_event"; + case REG_HID_PROD_TRC_MASK_EL1: return "hid_prod_trc_mask_el1"; + case REG_TRACE_CTL: return "trace_ctl"; + case REG_TRACE_DAT: return "trace_dat"; + case REG_PROD_TRC_STRM_BASE0_GL2: return "prod_trc_strm_base0_gl2"; + case REG_PROD_TRC_STRM_BASE1_GL2: return "prod_trc_strm_base1_gl2"; + case REG_CPU_CFG: return "cpu_cfg"; + case REG_PBLK_STS: return "pblk_sts"; + case REG_PROD_TRC_CTL_EL21: return "prod_trc_ctl_el21"; + case REG_PROD_TRC_STRM_BASE0_GL21: return "prod_trc_strm_base0_gl21"; + case REG_PROD_TRC_STRM_BASE1_GL21: return "prod_trc_strm_base1_gl21"; + case REG_PROD_TRC_STRM_FIQ_EL21: return "prod_trc_strm_fiq_el21"; + case REG_CPU_OVRD: return "cpu_ovrd"; + case REG_PBLK_EXE_ST: return "pblk_exe_st"; + case REG_PROD_TRC_CORE_GL_CTL_GL21: return "prod_trc_core_gl_ctl_gl21"; + case REG_PROD_TRC_CORE_GL_CTL_GL2: return "prod_trc_core_gl_ctl_gl2"; + case REG_ACC_OVRD: return "acc_ovrd"; + case REG_ACC_OVRD1: return "acc_ovrd1"; + case REG_CPM_PWRDN_CTL: return "cpm_pwrdn_ctl"; + case REG_PROD_TRC_BUF_RESTORE0_GL21: return "prod_trc_buf_restore0_gl21"; + case REG_PROD_TRC_BUF_RESTORE1_GL21: return "prod_trc_buf_restore1_gl21"; + case REG_PROD_TRC_EN_GL21: return "prod_trc_en_gl21"; + case REG_PRE_LLCFLUSH_TMR: return "pre_llcflush_tmr"; + case REG_BIUINTFCTL_CFG: return "biuintfctl_cfg"; + case REG_BIUINTFWRR_CFG: return "biuintfwrr_cfg"; + case REG_PRE_TD_TMR: return "pre_td_tmr"; + case REG_ACC_SLP_WAKE_UP_TMR: return "acc_slp_wake_up_tmr"; + case REG_PBLK_PSW_DLY: return "pblk_psw_dly"; + case REG_CPU_STS: return "cpu_sts"; + case REG_HIST_TRIG: return "hist_trig"; + case REG_PROD_TRC_BUF_RESTORE0_GL2: return "prod_trc_buf_restore0_gl2"; + case REG_PROD_TRC_BUF_RESTORE1_GL2: return "prod_trc_buf_restore1_gl2"; + case REG_PROD_TRC_STRM_FILL0_EL1: return "prod_trc_strm_fill0_el1"; + case REG_PROD_TRC_STRM_FILL1_EL1: return "prod_trc_strm_fill1_el1"; + case REG_ARRAY_INDEX: return "array_index"; + case REG_PROD_TRC_CTL_EL2: return "prod_trc_ctl_el2"; + case REG_PROD_TRC_EN_GL2: return "prod_trc_en_gl2"; + case REG_PROD_TRC_STRM_FIQ_EL2: return "prod_trc_strm_fiq_el2"; + case REG_PROD_TRC_CPMU_DUMP_TRIG_EL1: return "prod_trc_cpmu_dump_trig_el1"; + case REG_PROD_LOSS_COUNT_EL1: return "prod_loss_count_el1"; + case REG_SW_TRACE_DATA_EL0: return "sw_trace_data_el0"; + case REG_IL1_DATA0: return "il1_data0"; + case REG_IL1_DATA1: return "il1_data1"; + case REG_DL1_DATA0: return "dl1_data0"; + case REG_DL1_DATA1: return "dl1_data1"; + case REG_MMUDATA0: return "mmudata0"; + case REG_MMUDATA1: return "mmudata1"; + case REG_DL1_DATA2: return "dl1_data2"; + case REG_IL1_DATA2: return "il1_data2"; + case REG_LLC_DATA0: return "llc_data0"; + case REG_LLC_DATA1: return "llc_data1"; + case REG_SCTLR_EL3: return "sctlr_el3"; + case REG_ACTLR_EL3: return "actlr_el3"; + case REG_SCR_EL3: return "scr_el3"; + case REG_SDER32_EL3: return "sder32_el3"; + case REG_CPTR_EL3: return "cptr_el3"; + case REG_MDCR_EL3: return "mdcr_el3"; + case REG_TTBR0_EL3: return "ttbr0_el3"; + case REG_TCR_EL3: return "tcr_el3"; + case REG_SPSR_EL3: return "spsr_el3"; + case REG_ELR_EL3: return "elr_el3"; + case REG_SP_EL2: return "sp_el2"; + case REG_AFSR0_EL3: return "afsr0_el3"; + case REG_AFSR1_EL3: return "afsr1_el3"; + case REG_ESR_EL3: return "esr_el3"; + case REG_TFSR_EL3: return "tfsr_el3"; + case REG_FAR_EL3: return "far_el3"; + case REG_MAIR_EL3: return "mair_el3"; + case REG_AMAIR_EL3: return "amair_el3"; + case REG_MPAM3_EL3: return "mpam3_el3"; + case REG_VBAR_EL3: return "vbar_el3"; + case REG_RVBAR_EL3: return "rvbar_el3"; + case REG_RMR_EL3: return "rmr_el3"; + case REG_ICC_CTLR_EL3: return "icc_ctlr_el3"; + case REG_ICC_SRE_EL3: return "icc_sre_el3"; + case REG_ICC_IGRPEN1_EL3: return "icc_igrpen1_el3"; + case REG_TPIDR_EL3: return "tpidr_el3"; + case REG_SCXTNUM_EL3: return "scxtnum_el3"; + case REG_MMU_ERR_STS: return "mmu_err_sts"; + case REG_AFSR1_GL21: return "afsr1_gl21"; + case REG_AFSR1_GL2: return "afsr1_gl2"; + case REG_AFSR1_GL12: return "afsr1_gl12"; + case REG_BP_OBJC_ADR_EL1: return "bp_objc_adr_el1"; + case REG_BP_OBJC_CTL_EL1: return "bp_objc_ctl_el1"; + case REG_SP_GL11_GL21: return "sp_gl11_gl21"; + case REG_MMU_SESR_EL2: return "mmu_sesr_el2"; + case REG_SPRR_CONFIG_EL21: return "sprr_config_el21"; + case REG_HPFAR_GL2: return "hpfar_gl2"; + case REG_GXF_CONFIG_EL21: return "gxf_config_el21"; + case REG_SPRR_AMRANGE_EL1: return "sprr_amrange_el1"; + case REG_GXF_CONFIG_EL2: return "gxf_config_el2"; + case REG_SPRR_UPERM_EL02: return "sprr_uperm_el02"; + case REG_SPRR_PPERM_EL21: return "sprr_pperm_el21"; + case REG_SPRR_PPERM_EL2: return "sprr_pperm_el2"; + case REG_APGAKEYLO_EL12: return "apgakeylo_el12"; + case REG_APGAKEYHI_EL12: return "apgakeyhi_el12"; + case REG_KERNKEYLO_EL12: return "kernkeylo_el12"; + case REG_KERNKEYHI_EL12: return "kernkeyhi_el12"; + case REG_AFPCR_EL0: return "afpcr_el0"; + case REG_SP_GL22: return "sp_gl22"; + case REG_AMXIDR_EL1: return "amxidr_el1"; + case REG_SPRR_UMPRR_EL1: return "sprr_umprr_el1"; + case REG_SPRR_PMPRR_EL21: return "sprr_pmprr_el21"; + case REG_SPRR_PMPRR_EL2: return "sprr_pmprr_el2"; + case REG_SPRR_UPERM_SH01_EL1: return "sprr_uperm_sh01_el1"; + case REG_SPRR_UPERM_SH02_EL1: return "sprr_uperm_sh02_el1"; + case REG_SPRR_UPERM_SH03_EL1: return "sprr_uperm_sh03_el1"; + case REG_SPRR_UPERM_SH04_EL1: return "sprr_uperm_sh04_el1"; + case REG_SPRR_UPERM_SH05_EL1: return "sprr_uperm_sh05_el1"; + case REG_SPRR_UPERM_SH06_EL1: return "sprr_uperm_sh06_el1"; + case REG_SPRR_UPERM_SH07_EL1: return "sprr_uperm_sh07_el1"; + case REG_SPRR_PPERM_SH01_EL21: return "sprr_pperm_sh01_el21"; + case REG_SPRR_PPERM_SH02_EL21: return "sprr_pperm_sh02_el21"; + case REG_SPRR_PPERM_SH03_EL21: return "sprr_pperm_sh03_el21"; + case REG_SPRR_PPERM_SH04_EL21: return "sprr_pperm_sh04_el21"; + case REG_SPRR_PPERM_SH05_EL21: return "sprr_pperm_sh05_el21"; + case REG_SPRR_PPERM_SH06_EL21: return "sprr_pperm_sh06_el21"; + case REG_SPRR_PPERM_SH07_EL21: return "sprr_pperm_sh07_el21"; + case REG_SPRR_PPERM_SH01_EL2: return "sprr_pperm_sh01_el2"; + case REG_SPRR_PPERM_SH02_EL2: return "sprr_pperm_sh02_el2"; + case REG_SPRR_PPERM_SH03_EL2: return "sprr_pperm_sh03_el2"; + case REG_SPRR_PPERM_SH04_EL2: return "sprr_pperm_sh04_el2"; + case REG_SPRR_PPERM_SH05_EL2: return "sprr_pperm_sh05_el2"; + case REG_SPRR_PPERM_SH06_EL2: return "sprr_pperm_sh06_el2"; + case REG_SPRR_PPERM_SH07_EL2: return "sprr_pperm_sh07_el2"; + case REG_SPRR_PMPRR_EL12: return "sprr_pmprr_el12"; + case REG_SPRR_PPERM_SH01_EL12: return "sprr_pperm_sh01_el12"; + case REG_SPRR_PPERM_SH02_EL12: return "sprr_pperm_sh02_el12"; + case REG_SPRR_PPERM_SH03_EL12: return "sprr_pperm_sh03_el12"; + case REG_SPRR_PPERM_SH04_EL12: return "sprr_pperm_sh04_el12"; + case REG_SPRR_PPERM_SH05_EL12: return "sprr_pperm_sh05_el12"; + case REG_SPRR_PPERM_SH06_EL12: return "sprr_pperm_sh06_el12"; + case REG_SPRR_PPERM_SH07_EL12: return "sprr_pperm_sh07_el12"; + case REG_APIAKEYLO_EL12: return "apiakeylo_el12"; + case REG_APIAKEYHI_EL12: return "apiakeyhi_el12"; + case REG_APIBKEYLO_EL12: return "apibkeylo_el12"; + case REG_APIBKEYHI_EL12: return "apibkeyhi_el12"; + case REG_APDAKEYLO_EL12: return "apdakeylo_el12"; + case REG_APDAKEYHI_EL12: return "apdakeyhi_el12"; + case REG_APDBKEYLO_EL12: return "apdbkeylo_el12"; + case REG_APDBKEYHI_EL12: return "apdbkeyhi_el12"; + case REG_CURRENTG: return "currentg"; + case REG_GXF_ENTRY_EL21: return "gxf_entry_el21"; + case REG_GXF_PABENTRY_EL21: return "gxf_pabentry_el21"; + case REG_ASPSR_EL21: return "aspsr_el21"; + case REG_ADSPSR_EL0: return "adspsr_el0"; + case REG_PMCR1_GL2: return "pmcr1_gl2"; + case REG_ASPSR_NV_EL21: return "aspsr_nv_el21"; + case REG_PMCR1_GL21: return "pmcr1_gl21"; + case REG_VBAR_GL12: return "vbar_gl12"; + case REG_SPSR_GL12: return "spsr_gl12"; + case REG_ASPSR_GL12: return "aspsr_gl12"; + case REG_ESR_GL12: return "esr_gl12"; + case REG_ELR_GL12: return "elr_gl12"; + case REG_FAR_GL12: return "far_gl12"; + case REG_SP_GL1: return "sp_gl1"; + case REG_TPIDR_GL1: return "tpidr_gl1"; + case REG_VBAR_GL21: return "vbar_gl21"; + case REG_SPSR_GL21: return "spsr_gl21"; + case REG_ASPSR_GL21: return "aspsr_gl21"; + case REG_ESR_GL21: return "esr_gl21"; + case REG_ELR_GL21: return "elr_gl21"; + case REG_FAR_GL21: return "far_gl21"; + case REG_SP_GL2: return "sp_gl2"; + case REG_TPIDR_GL2: return "tpidr_gl2"; + case REG_VBAR_GL2: return "vbar_gl2"; + case REG_SPSR_GL2: return "spsr_gl2"; + case REG_ASPSR_GL2: return "aspsr_gl2"; + case REG_ESR_GL2: return "esr_gl2"; + case REG_ELR_GL2: return "elr_gl2"; + case REG_FAR_GL2: return "far_gl2"; + case REG_GXF_ENTRY_EL2: return "gxf_entry_el2"; + case REG_GXF_PABENTRY_EL2: return "gxf_pabentry_el2"; + case REG_APCTL_EL2: return "apctl_el2"; + case REG_APSTS_EL2: return "apsts_el2"; + case REG_APSTS_NV1_EL1: return "apsts_nv1_el1"; + case REG_KERNKEYLO_NV_EL21: return "kernkeylo_nv_el21"; + case REG_KERNKEYHI_NV_EL21: return "kernkeyhi_nv_el21"; + case REG_ASPSR_EL12: return "aspsr_el12"; + case REG_APIAKEYLO_NV_EL21: return "apiakeylo_nv_el21"; + case REG_APIAKEYHI_NV_EL21: return "apiakeyhi_nv_el21"; + case REG_APIBKEYLO_NV_EL21: return "apibkeylo_nv_el21"; + case REG_APIBKEYHI_NV_EL21: return "apibkeyhi_nv_el21"; + case REG_APDAKEYLO_NV_EL21: return "apdakeylo_nv_el21"; + case REG_APDAKEYHI_NV_EL21: return "apdakeyhi_nv_el21"; + case REG_APDBKEYLO_NV_EL21: return "apdbkeylo_nv_el21"; + case REG_APDBKEYHI_NV_EL21: return "apdbkeyhi_nv_el21"; + case REG_APGAKEYLO_NV_EL21: return "apgakeylo_nv_el21"; + case REG_APGAKEYHI_NV_EL21: return "apgakeyhi_nv_el21"; + case REG_SPRR_CONFIG_EL2: return "sprr_config_el2"; + case REG_SPRR_AMRANGE_EL2: return "sprr_amrange_el2"; + case REG_VMKEYLO_EL2: return "vmkeylo_el2"; + case REG_VMKEYHI_EL2: return "vmkeyhi_el2"; + case REG_MMU_SFAR_EL2: return "mmu_sfar_el2"; + case REG_APSTS_EL12: return "apsts_el12"; + case REG_APCTL_EL12: return "apctl_el12"; + case REG_GXF_CONFIG_EL12: return "gxf_config_el12"; + case REG_GXF_ENTRY_EL12: return "gxf_entry_el12"; + case REG_GXF_PABENTRY_EL12: return "gxf_pabentry_el12"; + case REG_SPRR_CONFIG_EL12: return "sprr_config_el12"; + case REG_SPRR_AMRANGE_EL12: return "sprr_amrange_el12"; + case REG_MMU_SESR_CTL_EL2: return "mmu_sesr_ctl_el2"; + case REG_SPRR_PPERM_EL12: return "sprr_pperm_el12"; + case REG_CNTPS_TVAL_EL1: return "cntps_tval_el1"; + case REG_CNTPS_CTL_EL1: return "cntps_ctl_el1"; + case REG_CNTPS_CVAL_EL1: return "cntps_cval_el1"; + case REG_PSTATE_SPSEL: return "pstate_spsel"; + case REG_PWRDNSAVE0: return "pwrdnsave0"; + case REG_NRG_ACC_CTL: return "nrg_acc_ctl"; + case REG_AON_CNT0: return "aon_cnt0"; + case REG_CPU_CNT0: return "cpu_cnt0"; + case REG_UPMCR0_EL1: return "upmcr0_el1"; + case REG_UPMC8: return "upmc8"; + case REG_AON_CNT8: return "aon_cnt8"; + case REG_PWRDNSAVE1: return "pwrdnsave1"; + case REG_CORE_NRG_ACC_DAT: return "core_nrg_acc_dat"; + case REG_AON_CNT_CTL0: return "aon_cnt_ctl0"; + case REG_CPU_CNT_CTL0: return "cpu_cnt_ctl0"; + case REG_UPMESR0_EL1: return "upmesr0_el1"; + case REG_UPMC9: return "upmc9"; + case REG_AON_CNT_CTL8: return "aon_cnt_ctl8"; + case REG_ACC_PWR_DN_SAVE: return "acc_pwr_dn_save"; + case REG_CPM_NRG_ACC_DAT: return "cpm_nrg_acc_dat"; + case REG_AON_CNT1: return "aon_cnt1"; + case REG_CPU_CNT1: return "cpu_cnt1"; + case REG_UPMSWCTRL_EL1: return "upmswctrl_el1"; + case REG_UPMC10: return "upmc10"; + case REG_AON_CNT9: return "aon_cnt9"; + case REG_CORE_SRM_NRG_ACC_DAT: return "core_srm_nrg_acc_dat"; + case REG_AON_CNT_CTL1: return "aon_cnt_ctl1"; + case REG_CPU_CNT_CTL1: return "cpu_cnt_ctl1"; + case REG_UPMECM0_EL1: return "upmecm0_el1"; + case REG_UPMC11: return "upmc11"; + case REG_AON_CNT_CTL9: return "aon_cnt_ctl9"; + case REG_AON_CNT_CTL: return "aon_cnt_ctl"; + case REG_CPM_SRM_NRG_ACC_DAT: return "cpm_srm_nrg_acc_dat"; + case REG_AON_CNT2: return "aon_cnt2"; + case REG_CPU_CNT2: return "cpu_cnt2"; + case REG_UPMECM1_EL1: return "upmecm1_el1"; + case REG_UPMC12: return "upmc12"; + case REG_AON_CNT10: return "aon_cnt10"; + case REG_CPU_CNT_CTL: return "cpu_cnt_ctl"; + case REG_AON_CNT_CTL2: return "aon_cnt_ctl2"; + case REG_CPU_CNT_CTL2: return "cpu_cnt_ctl2"; + case REG_UPMPCM_EL1: return "upmpcm_el1"; + case REG_UPMC13: return "upmc13"; + case REG_AON_CNT_CTL10: return "aon_cnt_ctl10"; + case REG_AON_CNT3: return "aon_cnt3"; + case REG_CPU_CNT3: return "cpu_cnt3"; + case REG_UPMSR_EL1: return "upmsr_el1"; + case REG_UPMC14: return "upmc14"; + case REG_AON_CNT11: return "aon_cnt11"; + case REG_AON_CNT_CTL3: return "aon_cnt_ctl3"; + case REG_CPU_CNT_CTL3: return "cpu_cnt_ctl3"; + case REG_UPMC0: return "upmc0"; + case REG_UPMC15: return "upmc15"; + case REG_AON_CNT_CTL11: return "aon_cnt_ctl11"; + case REG_AON_CNT4: return "aon_cnt4"; + case REG_CPU_CNT4: return "cpu_cnt4"; + case REG_UPMC1: return "upmc1"; + case REG_UPMECM2_EL1: return "upmecm2_el1"; + case REG_AON_CNT_CTL4: return "aon_cnt_ctl4"; + case REG_CPU_CNT_CTL4: return "cpu_cnt_ctl4"; + case REG_UPMC2: return "upmc2"; + case REG_UPMECM3_EL1: return "upmecm3_el1"; + case REG_AON_CNT5: return "aon_cnt5"; + case REG_CPU_CNT5: return "cpu_cnt5"; + case REG_UPMC3: return "upmc3"; + case REG_UPMCR1_EL1: return "upmcr1_el1"; + case REG_AON_CNT_CTL5: return "aon_cnt_ctl5"; + case REG_CPU_CNT_CTL5: return "cpu_cnt_ctl5"; + case REG_UPMC4: return "upmc4"; + case REG_UPMESR1_EL1: return "upmesr1_el1"; + case REG_AON_CNT6: return "aon_cnt6"; + case REG_CPU_CNT6: return "cpu_cnt6"; + case REG_UPMC5: return "upmc5"; + case REG_AON_CNT_CTL6: return "aon_cnt_ctl6"; + case REG_CPU_CNT_CTL6: return "cpu_cnt_ctl6"; + case REG_UPMC6: return "upmc6"; + case REG_AON_CNT7: return "aon_cnt7"; + case REG_CPU_CNT7: return "cpu_cnt7"; + case REG_UPMC7: return "upmc7"; + case REG_AON_CNT_CTL7: return "aon_cnt_ctl7"; + case REG_CPU_CNT_CTL7: return "cpu_cnt_ctl7"; + default: return ""; + } +} + +const char *get_system_register_name_decomposed(int op0, int op1, int CRn, int CRm, int op2) +{ + enum SystemReg sr = (enum SystemReg)((op0<<14)|(op1<<11)|(CRn<<7)|(CRm<<3)|op2); + return get_system_register_name(sr); +} + |
