summaryrefslogtreecommitdiff
path: root/arch/arm64/disassembler/sysregs_fmt_gen.c
diff options
context:
space:
mode:
authorGalen Williamson <galen@vector35.com>2025-03-25 21:27:51 -0400
committerGalen Williamson <galen@vector35.com>2025-03-31 18:31:33 -0400
commitb095215397ca8fe7e9808f312403ec4494de76f6 (patch)
tree5eebe61a44d2f95aa5fadd78d9974234fca376be /arch/arm64/disassembler/sysregs_fmt_gen.c
parent8093106217331012734564301118244748535715 (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.c1501
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);
+}
+