arm: Mark some miscregs (timer counter) registers at unverifiable.
authorAli Saidi <Ali.Saidi@ARM.com>
Thu, 30 Oct 2014 04:18:24 +0000 (23:18 -0500)
committerAli Saidi <Ali.Saidi@ARM.com>
Thu, 30 Oct 2014 04:18:24 +0000 (23:18 -0500)
The checker can't verify timer registers, so it should just grab the version
from the executing CPU, otherwise it could get a larger value and diverge
execution.

src/arch/arm/isa/formats/aarch64.isa
src/arch/arm/isa/formats/misc.isa
src/arch/arm/miscregs.cc
src/arch/arm/miscregs.hh

index 04a8ba527a3985b9f8980219dde31d7ab64569f0..b5a4dfa219f9e18885989a25e73348a6b1858953 100644 (file)
@@ -366,9 +366,12 @@ namespace Aarch64
                         if (miscReg == MISCREG_DC_ZVA_Xt && !read)
                             return new Dczva(machInst, rt, (IntRegIndex) miscReg, iss);
 
-                        if (read)
-                            return new Mrs64(machInst, rt, (IntRegIndex) miscReg, iss);
-                        else
+                        if (read) {
+                            StaticInstPtr si = new Mrs64(machInst, rt, (IntRegIndex) miscReg, iss);
+                            if (miscRegInfo[miscReg][MISCREG_UNVERIFIABLE])
+                                si->setFlag(StaticInst::IsUnverifiable);
+                            return si;
+                        } else
                             return new Msr64(machInst, (IntRegIndex) miscReg, rt, iss);
                     } else if (miscRegInfo[miscReg][MISCREG_WARN_NOT_FAIL]) {
                         std::string full_mnem = csprintf("%s %s",
index 925ed55cd7a0cf03c13a4924c09e7c67ab4a0626..f81b96f2f43996de4cabce1123b929fb78f1e9d7 100644 (file)
@@ -273,8 +273,12 @@ let {{
             if (miscRegInfo[miscReg][MISCREG_IMPLEMENTED]) {
                 uint32_t iss = mcrrMrrcIssBuild(isRead, crm, rt, rt2, opc1);
 
-                if (isRead)
-                    return new Mrrc15(machInst, miscReg, rt2, rt, iss);
+                if (isRead) {
+                    StaticInstPtr si =  new Mrrc15(machInst, miscReg, rt2, rt, iss);
+                    if (miscRegInfo[miscReg][MISCREG_UNVERIFIABLE])
+                        si->setFlag(StaticInst::IsUnverifiable);
+                    return si;
+                }
                 return new Mcrr15(machInst, rt2, rt, miscReg, iss);
             } else {
                 return new FailUnimplemented(isRead ? "mrrc" : "mcrr", machInst,
index c54e7d07b6759ae8f1be0cd165d1e84705a4846d..d8c257f08b5f6ae07594fb65cce09e4b80c93ed4 100644 (file)
@@ -126,1227 +126,1227 @@ using namespace std;
 
 bitset<NUM_MISCREG_INFOS> miscRegInfo[NUM_MISCREGS] = {
     // MISCREG_CPSR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR_FIQ
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR_IRQ
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR_SVC
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR_MON
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR_ABT
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR_HYP
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR_UND
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_ELR_HYP
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_FPSID
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_FPSCR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_MVFR1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_MVFR0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_FPEXC
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
 
     // Helper registers
     // MISCREG_CPSR_MODE
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_CPSR_Q
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_FPSCR_Q
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_FPSCR_EXC
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_LOCKADDR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_LOCKFLAG
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PRRR_MAIR0
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001101")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000011001")),
     // MISCREG_PRRR_MAIR0_NS
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000010101")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000101001")),
     // MISCREG_PRRR_MAIR0_S
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000010101")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000101001")),
     // MISCREG_NMRR_MAIR1
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001101")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000011001")),
     // MISCREG_NMRR_MAIR1_NS
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000010101")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000101001")),
     // MISCREG_NMRR_MAIR1_S
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000010101")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000101001")),
     // MISCREG_PMXEVTYPER_PMCCFILTR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000000101")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000001001")),
     // MISCREG_SCTLR_RST
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SEV_MAILBOX
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
 
     // AArch32 CP14 registers
     // MISCREG_DBGDIDR
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000001")),
     // MISCREG_DBGDSCRint
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000001")),
     // MISCREG_DBGDCCINT
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGDTRTXint
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGDTRRXint
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWFAR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGVCR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGDTRRXext
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGDSCRext
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100010")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000100")),
     // MISCREG_DBGDTRTXext
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGOSECCR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBVR0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBVR1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBVR2
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBVR3
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBVR4
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBVR5
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBCR0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBCR1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBCR2
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBCR3
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBCR4
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBCR5
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWVR0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWVR1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWVR2
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWVR3
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWCR0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWCR1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWCR2
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGWCR3
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGDRAR
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000000")),
     // MISCREG_DBGBXVR4
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGBXVR5
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGOSLAR
-    bitset<NUM_MISCREG_INFOS>(string("1010111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("10101111111111000000")),
     // MISCREG_DBGOSLSR
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000000")),
     // MISCREG_DBGOSDLR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGPRCR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGDSAR
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000000")),
     // MISCREG_DBGCLAIMSET
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGCLAIMCLR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_DBGAUTHSTATUS
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000000")),
     // MISCREG_DBGDEVID2
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000000")),
     // MISCREG_DBGDEVID1
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000000")),
     // MISCREG_DBGDEVID0
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000000")),
     // MISCREG_TEECR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_JIDR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_TEEHBR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_JOSCR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_JMCR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
 
     // AArch32 CP15 registers
     // MISCREG_MIDR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_CTR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_TCMTR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_TLBTR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_MPIDR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_REVIDR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000100")),
     // MISCREG_ID_PFR0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_PFR1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_DFR0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AFR0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_MMFR0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_MMFR1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_MMFR2
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_MMFR3
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR2
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR3
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR4
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR5
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_CCSIDR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_CLIDR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_AIDR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_CSSELR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_CSSELR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_CSSELR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_VPIDR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_VMPIDR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_SCTLR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_SCTLR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_SCTLR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_ACTLR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_ACTLR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_ACTLR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_CPACR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_SCR
-    bitset<NUM_MISCREG_INFOS>(string("1111001100000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110011000000000001")),
     // MISCREG_SDER
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_NSACR
-    bitset<NUM_MISCREG_INFOS>(string("1111011101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110111010000000001")),
     // MISCREG_HSCTLR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HACTLR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HCR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HDCR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HCPTR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HSTR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HACR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000100")),
     // MISCREG_TTBR0
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_TTBR0_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_TTBR0_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_TTBR1
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_TTBR1_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_TTBR1_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_TTBCR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_TTBCR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_TTBCR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_HTCR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_VTCR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_DACR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_DACR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_DACR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_DFSR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_DFSR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_DFSR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_IFSR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_IFSR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_IFSR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_ADFSR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001010")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010100")),
     // MISCREG_ADFSR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010010")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100100")),
     // MISCREG_ADFSR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010010")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100100")),
     // MISCREG_AIFSR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001010")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010100")),
     // MISCREG_AIFSR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010010")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100100")),
     // MISCREG_AIFSR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010010")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100100")),
     // MISCREG_HADFSR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HAIFSR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HSR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_DFAR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_DFAR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_DFAR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_IFAR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_IFAR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_IFAR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_HDFAR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HIFAR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HPFAR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_ICIALLUIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_BPIALLIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_PAR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_PAR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_PAR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_ICIALLU
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_ICIMVAU
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_CP15ISB
-    bitset<NUM_MISCREG_INFOS>(string("1010101010101000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010101010000001")),
     // MISCREG_BPIALL
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_BPIMVA
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_DCIMVAC
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_DCISW
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_ATS1CPR
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_ATS1CPW
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_ATS1CUR
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_ATS1CUW
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_ATS12NSOPR
-    bitset<NUM_MISCREG_INFOS>(string("1010101000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010000000000001")),
     // MISCREG_ATS12NSOPW
-    bitset<NUM_MISCREG_INFOS>(string("1010101000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010000000000001")),
     // MISCREG_ATS12NSOUR
-    bitset<NUM_MISCREG_INFOS>(string("1010101000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010000000000001")),
     // MISCREG_ATS12NSOUW
-    bitset<NUM_MISCREG_INFOS>(string("1010101000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010000000000001")),
     // MISCREG_DCCMVAC
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_DCCSW
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_CP15DSB
-    bitset<NUM_MISCREG_INFOS>(string("1010101010101000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010101010000001")),
     // MISCREG_CP15DMB
-    bitset<NUM_MISCREG_INFOS>(string("1010101010101000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010101010000001")),
     // MISCREG_DCCMVAU
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_DCCIMVAC
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_DCCISW
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000100")),
     // MISCREG_ATS1HR
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_ATS1HW
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBIALLIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIMVAIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIASIDIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIMVAAIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIMVALIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000000")),
     // MISCREG_TLBIMVAALIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000000")),
     // MISCREG_ITLBIALL
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_ITLBIMVA
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_ITLBIASID
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_DTLBIALL
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_DTLBIMVA
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_DTLBIASID
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIALL
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIMVA
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIASID
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIMVAA
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBIMVAL
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000000")),
     // MISCREG_TLBIMVAAL
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000000")),
     // MISCREG_TLBIIPAS2IS
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000000")),
     // MISCREG_TLBIIPAS2LIS
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000000")),
     // MISCREG_TLBIALLHIS
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBIMVAHIS
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBIALLNSNHIS
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBIMVALHIS
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000000")),
     // MISCREG_TLBIIPAS2
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000000")),
     // MISCREG_TLBIIPAS2L
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000000")),
     // MISCREG_TLBIALLH
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBIMVAH
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBIALLNSNH
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBIMVALH
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000000")),
     // MISCREG_PMCR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCNTENSET
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCNTENCLR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMOVSR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMSWINC
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMSELR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCEID0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCEID1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCCNTR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMXEVTYPER
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCCFILTR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMXEVCNTR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMUSERENR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110101000001")),
     // MISCREG_PMINTENSET
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_PMINTENCLR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_PMOVSSET
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000000")),
     // MISCREG_L2CTLR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_L2ECTLR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_PRRR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_PRRR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_PRRR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_MAIR0
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_MAIR0_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_MAIR0_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_NMRR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_NMRR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_NMRR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_MAIR1
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_MAIR1_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_MAIR1_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_AMAIR0
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_AMAIR0_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_AMAIR0_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_AMAIR1
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_AMAIR1_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_AMAIR1_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_HMAIR0
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HMAIR1
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_HAMAIR0
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000100")),
     // MISCREG_HAMAIR1
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000100")),
     // MISCREG_VBAR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_VBAR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_VBAR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_MVBAR
-    bitset<NUM_MISCREG_INFOS>(string("1111001100000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110011000000000001")),
     // MISCREG_RMR
-    bitset<NUM_MISCREG_INFOS>(string("1111001100000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11110011000000000000")),
     // MISCREG_ISR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_HVBAR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_FCSEIDR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000100")),
     // MISCREG_CONTEXTIDR
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_CONTEXTIDR_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_CONTEXTIDR_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_TPIDRURW
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_TPIDRURW_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011111110001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100111111100001")),
     // MISCREG_TPIDRURW_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_TPIDRURO
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_TPIDRURO_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011010110001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110101100001")),
     // MISCREG_TPIDRURO_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_TPIDRPRW
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_TPIDRPRW_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100110000100001")),
     // MISCREG_TPIDRPRW_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100000010001")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011000000100001")),
     // MISCREG_HTPIDR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_CNTFRQ
-    bitset<NUM_MISCREG_INFOS>(string("1111010101010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110101010101000011")),
     // MISCREG_CNTKCTL
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_CNTP_TVAL
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_CNTP_TVAL_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011111110001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100111111100001")),
     // MISCREG_CNTP_TVAL_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100111110000")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011001111100000")),
     // MISCREG_CNTP_CTL
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_CNTP_CTL_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011111110001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100111111100001")),
     // MISCREG_CNTP_CTL_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100111110000")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011001111100000")),
     // MISCREG_CNTV_TVAL
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTV_CTL
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTHCTL
-    bitset<NUM_MISCREG_INFOS>(string("0100100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01001000000000000000")),
     // MISCREG_CNTHP_TVAL
-    bitset<NUM_MISCREG_INFOS>(string("0100100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01001000000000000000")),
     // MISCREG_CNTHP_CTL
-    bitset<NUM_MISCREG_INFOS>(string("0100100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01001000000000000000")),
     // MISCREG_IL1DATA0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_IL1DATA1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_IL1DATA2
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_IL1DATA3
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_DL1DATA0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_DL1DATA1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_DL1DATA2
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_DL1DATA3
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_DL1DATA4
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_RAMINDEX
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000000")),
     // MISCREG_L2ACTLR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_CBAR
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000000")),
     // MISCREG_HTTBR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_VTTBR
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_CNTPCT
-    bitset<NUM_MISCREG_INFOS>(string("0101010101010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010101000001")),
     // MISCREG_CNTVCT
-    bitset<NUM_MISCREG_INFOS>(string("0101010101010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010101000011")),
     // MISCREG_CNTP_CVAL
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000010001")),
     // MISCREG_CNTP_CVAL_NS
-    bitset<NUM_MISCREG_INFOS>(string("1100110011111110001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100111111100001")),
     // MISCREG_CNTP_CVAL_S
-    bitset<NUM_MISCREG_INFOS>(string("0011001100111110000")),
+    bitset<NUM_MISCREG_INFOS>(string("00110011001111100000")),
     // MISCREG_CNTV_CVAL
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTVOFF
-    bitset<NUM_MISCREG_INFOS>(string("1100110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11001100000000000001")),
     // MISCREG_CNTHP_CVAL
-    bitset<NUM_MISCREG_INFOS>(string("0100100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01001000000000000000")),
     // MISCREG_CPUMERRSR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000000")),
     // MISCREG_L2MERRSR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000100")),
 
     // AArch64 registers (Op0=2)
     // MISCREG_MDCCINT_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_OSDTRRX_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_MDSCR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_OSDTRTX_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_OSECCR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBVR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBVR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBVR2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBVR3_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBVR4_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBVR5_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBCR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBCR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBCR2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBCR3_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBCR4_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGBCR5_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGWVR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGWVR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGWVR2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGWVR3_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGWCR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGWCR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGWCR2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGWCR3_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_MDCCSR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000001")),
     // MISCREG_MDDTR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_MDDTRTX_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_MDDTRRX_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGVCR32_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_MDRAR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000001")),
     // MISCREG_OSLAR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1010111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101111111111000001")),
     // MISCREG_OSLSR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000001")),
     // MISCREG_OSDLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGPRCR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGCLAIMSET_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGCLAIMCLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DBGAUTHSTATUS_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01011111111111000001")),
     // MISCREG_TEECR32_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000000001")),
     // MISCREG_TEEHBR32_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000000001")),
 
     // AArch64 registers (Op0=1,3)
     // MISCREG_MIDR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_MPIDR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_REVIDR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_PFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_PFR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_DFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_MMFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_MMFR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_MMFR2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_MMFR3_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR3_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR4_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_ISAR5_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_MVFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_MVFR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_MVFR2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64PFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64PFR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64DFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64DFR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64AFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64AFR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64ISAR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64ISAR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64MMFR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ID_AA64MMFR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_CCSIDR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_CLIDR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_AIDR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_CSSELR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_CTR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010101000001")),
     // MISCREG_DCZID_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010101000001")),
     // MISCREG_VPIDR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_VMPIDR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SCTLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_ACTLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_CPACR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_SCTLR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_ACTLR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_HCR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_MDCR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_CPTR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_HSTR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_HACR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SCTLR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_ACTLR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_SCR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_SDER32_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_CPTR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_MDCR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_TTBR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_TTBR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_TCR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_TTBR0_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_TCR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_VTTBR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_VTCR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_TTBR0_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_TCR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_DACR32_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SPSR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_ELR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_SP_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_SPSEL
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_CURRENTEL
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_NZCV
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DAIF
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_FPCR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_FPSR
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DSPSR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_DLR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_SPSR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_ELR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SP_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SPSR_IRQ_AA64
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SPSR_ABT_AA64
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SPSR_UND_AA64
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SPSR_FIQ_AA64
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_SPSR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_ELR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_SP_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_AFSR0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_AFSR1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_ESR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_IFSR32_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_AFSR0_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_AFSR1_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_ESR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_FPEXC32_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_AFSR0_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_AFSR1_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_ESR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_FAR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_FAR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_HPFAR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_FAR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_IC_IALLUIS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000101")),
     // MISCREG_PAR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_IC_IALLU
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000101")),
     // MISCREG_DC_IVAC_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000101")),
     // MISCREG_DC_ISW_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000101")),
     // MISCREG_AT_S1E1R_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_AT_S1E1W_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_AT_S1E0R_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_AT_S1E0W_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_DC_CSW_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000101")),
     // MISCREG_DC_CISW_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000101")),
     // MISCREG_DC_ZVA_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010001000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100010000101")),
     // MISCREG_IC_IVAU_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010101000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010101010000001")),
     // MISCREG_DC_CVAC_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010101000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010101010000101")),
     // MISCREG_DC_CVAU_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010101000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010101010000101")),
     // MISCREG_DC_CIVAC_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010101000011")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010101010000101")),
     // MISCREG_AT_S1E2R_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_AT_S1E2W_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_AT_S12E1R_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_AT_S12E1W_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_AT_S12E0R_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_AT_S12E0W_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_AT_S1E3R_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10100000000000000001")),
     // MISCREG_AT_S1E3W_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10100000000000000001")),
     // MISCREG_TLBI_VMALLE1IS
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VAE1IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_ASIDE1IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VAAE1IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VALE1IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VAALE1IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VMALLE1
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VAE1_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_ASIDE1_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VAAE1_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VALE1_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_VAALE1_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010101010000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010100000000001")),
     // MISCREG_TLBI_IPAS2E1IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_TLBI_IPAS2LE1IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_TLBI_ALLE2IS
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBI_VAE2IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBI_ALLE1IS
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_TLBI_VALE2IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBI_VMALLS12E1IS
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_TLBI_IPAS2E1_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_TLBI_IPAS2LE1_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_TLBI_ALLE2
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBI_VAE2_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBI_ALLE1
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_TLBI_VALE2_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1000100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10001000000000000001")),
     // MISCREG_TLBI_VMALLS12E1
-    bitset<NUM_MISCREG_INFOS>(string("1010100000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101000000000000001")),
     // MISCREG_TLBI_ALLE3IS
-    bitset<NUM_MISCREG_INFOS>(string("1010000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10100000000000000001")),
     // MISCREG_TLBI_VAE3IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10100000000000000001")),
     // MISCREG_TLBI_VALE3IS_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10100000000000000001")),
     // MISCREG_TLBI_ALLE3
-    bitset<NUM_MISCREG_INFOS>(string("1010000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10100000000000000001")),
     // MISCREG_TLBI_VAE3_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10100000000000000001")),
     // MISCREG_TLBI_VALE3_Xt
-    bitset<NUM_MISCREG_INFOS>(string("1010000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("10100000000000000001")),
     // MISCREG_PMINTENSET_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_PMINTENCLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_PMCR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCNTENSET_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCNTENCLR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMOVSCLR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMSWINC_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1010101010111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("10101010101111000001")),
     // MISCREG_PMSELR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCEID0_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101011111000001")),
     // MISCREG_PMCEID1_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101011111000001")),
     // MISCREG_PMCCNTR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMXEVTYPER_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMCCFILTR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMXEVCNTR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMUSERENR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110101000001")),
     // MISCREG_PMOVSSET_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_MAIR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_AMAIR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_MAIR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_AMAIR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_MAIR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_AMAIR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_L2CTLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_L2ECTLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_VBAR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_RVBAR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_ISR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_VBAR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_RVBAR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("0101010000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010100000000000001")),
     // MISCREG_VBAR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_RVBAR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("0101000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010000000000000001")),
     // MISCREG_RMR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_CONTEXTIDR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_TPIDR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_TPIDR_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_TPIDRRO_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110101000001")),
     // MISCREG_TPIDR_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_TPIDR_EL3
-    bitset<NUM_MISCREG_INFOS>(string("1111000000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110000000000000001")),
     // MISCREG_CNTKCTL_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_CNTFRQ_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111010101010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11110101010101000001")),
     // MISCREG_CNTPCT_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010101000001")),
     // MISCREG_CNTVCT_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0101010101010100001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010101000011")),
     // MISCREG_CNTP_TVAL_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_CNTP_CTL_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_CNTP_CVAL_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_CNTV_TVAL_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTV_CTL_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTV_CVAL_EL0
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_PMEVCNTR0_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVCNTR1_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVCNTR2_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVCNTR3_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVCNTR4_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVCNTR5_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVTYPER0_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVTYPER1_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVTYPER2_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVTYPER3_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVTYPER4_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_PMEVTYPER5_EL0
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_CNTVOFF_EL2
-    bitset<NUM_MISCREG_INFOS>(string("1111110000000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111100000000000001")),
     // MISCREG_CNTHCTL_EL2
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTHP_TVAL_EL2
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTHP_CTL_EL2
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTHP_CVAL_EL2
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTPS_TVAL_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTPS_CTL_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_CNTPS_CVAL_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0111100000000000000")),
+    bitset<NUM_MISCREG_INFOS>(string("01111000000000000000")),
     // MISCREG_IL1DATA0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_IL1DATA1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_IL1DATA2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_IL1DATA3_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_DL1DATA0_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_DL1DATA1_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_DL1DATA2_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_DL1DATA3_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_DL1DATA4_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_L2ACTLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_CPUACTLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_CPUECTLR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_CPUMERRSR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000001")),
     // MISCREG_L2MERRSR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("1111111111000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111110000000100")),
     // MISCREG_CBAR_EL1
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
 
     // Dummy registers
     // MISCREG_NOP
-    bitset<NUM_MISCREG_INFOS>(string("1111111111111100001")),
+    bitset<NUM_MISCREG_INFOS>(string("11111111111111000001")),
     // MISCREG_RAZ
-    bitset<NUM_MISCREG_INFOS>(string("0101010101000000001")),
+    bitset<NUM_MISCREG_INFOS>(string("01010101010000000001")),
     // MISCREG_CP14_UNIMPL
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000000100")),
     // MISCREG_CP15_UNIMPL
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000000100")),
     // MISCREG_A64_UNIMPL
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000000010")),
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000000100")),
     // MISCREG_UNKNOWN
-    bitset<NUM_MISCREG_INFOS>(string("0000000000000000001"))
+    bitset<NUM_MISCREG_INFOS>(string("00000000000000000001"))
 };
 
 MiscRegIndex
index 3852caee8c1b18019f79c45be181e1b580b06953..930902543565e74c10f91647083da8b1f46438f3 100644 (file)
@@ -677,6 +677,8 @@ namespace ArmISA
 
     enum MiscRegInfo {
         MISCREG_IMPLEMENTED,
+        MISCREG_UNVERIFIABLE,   // Does the value change on every read (e.g. a
+                                // arch generic counter)
         MISCREG_WARN_NOT_FAIL,  // If MISCREG_IMPLEMENTED is deasserted, it
                                 // tells whether the instruction should raise a
                                 // warning or fail