arch-arm: Remove SCTLR.VE bit
authorGiacomo Travaglini <giacomo.travaglini@arm.com>
Fri, 2 Nov 2018 10:33:30 +0000 (10:33 +0000)
committerGiacomo Travaglini <giacomo.travaglini@arm.com>
Wed, 7 Nov 2018 15:22:43 +0000 (15:22 +0000)
ARMv8 has removed SCTLR.VE bit which is now hardcoded to 0. We are
removing it from gem5 since we were not handling it anyway.

Change-Id: Ibde2db45c7f8add4a3188f2cb8c23701a6088d03
Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/13998
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>

src/arch/arm/faults.cc
src/arch/arm/miscregs_types.hh

index ab0d0de0f9b56bb4c8058b2945dfda88b79764c9..bd06ea288173d5a03f3e16efa8db4a548b1368fe 100644 (file)
@@ -300,10 +300,6 @@ ArmFault::getVector(ThreadContext *tc)
     // ARM ARM issue C B1.8.1
     bool haveSecurity = ArmSystem::haveSecurity(tc);
 
-    // panic if SCTLR.VE because I have no idea what to do with vectored
-    // interrupts
-    SCTLR sctlr = tc->readMiscReg(MISCREG_SCTLR);
-    assert(!sctlr.ve);
     // Check for invalid modes
     CPSR cpsr = tc->readMiscRegNoEffect(MISCREG_CPSR);
     assert(haveSecurity                      || cpsr.mode != MODE_MON);
@@ -318,6 +314,7 @@ ArmFault::getVector(ThreadContext *tc)
         base = tc->readMiscReg(MISCREG_HVBAR);
         break;
       default:
+        SCTLR sctlr = tc->readMiscReg(MISCREG_SCTLR);
         if (sctlr.v) {
             base = HighVecs;
         } else {
index 0a862360eae849c1746d2796d6b7a5b9cec1211f..c3ee6ca0085bf03451dc2683e11c6d9d8352d7e2 100644 (file)
@@ -319,7 +319,6 @@ namespace ArmISA
                                 // DC CVAC and IC IVAU instructions
                                 // (AArch64 SCTLR_EL1 only)
         Bitfield<25>   ee;      // Exception Endianness
-        Bitfield<24>   ve;      // Interrupt Vectors Enable (ARMv7 only)
         Bitfield<24>   e0e;     // Endianness of explicit data accesses at EL0
                                 // (AArch64 SCTLR_EL1 only)
         Bitfield<23>   xp;      // Extended page table enable (dropped in ARMv7)