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