ARM: Ignore accesses to DCCIMVAC.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:08 +0000 (12:58 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:08 +0000 (12:58 -0500)
src/arch/arm/isa/formats/misc.isa
src/arch/arm/miscregs.hh

index 5498a84b07ea405429959e643854ecc77c70b07a..74e10a2d87bb83d29593390f3c1f24ffd43896aa 100644 (file)
@@ -90,14 +90,18 @@ def format McrMrc15() {{
 
         const bool isRead = bits(machInst, 20);
 
-        if (miscReg == MISCREG_NOP) {
+        switch (miscReg) {
+          case MISCREG_NOP:
             return new NopInst(machInst);
-        } else if (miscReg == NUM_MISCREGS) {
+          case NUM_MISCREGS:
             return new Unknown(machInst);
-        } else if (miscReg == MISCREG_DCCISW) {
-            return new WarnUnimplemented(isRead ? "mrc dccisw" : "mcr dcisw",
-                                         machInst);
-        } else {
+          case MISCREG_DCCISW:
+            return new WarnUnimplemented(
+                    isRead ? "mrc dccisw" : "mcr dcisw", machInst);
+          case MISCREG_DCCIMVAC:
+            return new WarnUnimplemented(
+                    isRead ? "mrc dccimvac" : "mcr dcimvac", machInst);
+          default:
             if (isRead) {
                 return new Mrc15(machInst, rt, (IntRegIndex)miscReg);
             } else {
index dfa9829b9efa2ee1eef5f7369b796a251bc190d5..c1c7e942259f2c9438f03058cdcf41999ae0ef8b 100644 (file)
@@ -83,6 +83,7 @@ namespace ArmISA
         MISCREG_CP15_START,
         MISCREG_SCTLR = MISCREG_CP15_START,
         MISCREG_DCCISW,
+        MISCREG_DCCIMVAC,
         MISCREG_CONTEXTIDR,
         MISCREG_TPIDRURW,
         MISCREG_TPIDRURO,
@@ -140,7 +141,6 @@ namespace ArmISA
         MISCREG_CP15DSB,
         MISCREG_CP15DMB,
         MISCREG_DCCMVAU,
-        MISCREG_DCCIMVAC,
 
         MISCREG_CP15_END,
 
@@ -158,7 +158,8 @@ namespace ArmISA
         "cpsr", "spsr", "spsr_fiq", "spsr_irq", "spsr_svc",
         "spsr_mon", "spsr_und", "spsr_abt",
         "fpsr", "fpsid", "fpscr", "fpexc",
-        "sctlr", "dccisw", "contextidr", "tpidrurw", "tpidruro", "tpidrprw",
+        "sctlr", "dccisw", "dccimvac",
+        "contextidr", "tpidrurw", "tpidruro", "tpidrprw",
         "ctr", "tcmtr", "mpuir", "mpidr", "midr",
         "id_pfr0", "id_pfr1", "id_dfr0", "id_afr0",
         "id_mmfr0", "id_mmfr1", "id_mmfr2", "id_mmfr3",
@@ -168,7 +169,7 @@ namespace ArmISA
         "drbar", "irbar", "drsr", "irsr", "dracr", "iracr",
         "rgnr", "icialluis", "bpiallis", "iciallu", "icimvau",
         "cp15isb", "bpiall", "bpimva", "dcimvac", "dcisw", "dccmvac", "mccsw",
-        "cp15dsb", "cp15dmb", "dccmvau", "dccimvac",
+        "cp15dsb", "cp15dmb", "dccmvau",
         "nop", "raz"
     };