ARM: Set CPSR.E to SCTLR.EE on faults.
authorGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:10 +0000 (12:58 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Wed, 2 Jun 2010 17:58:10 +0000 (12:58 -0500)
src/arch/arm/faults.cc

index 8428931a70909e6f95e6c382e4324b69c2e150d7..528fc32a5d49810b75dfe43e1563638dcee0824b 100644 (file)
@@ -111,6 +111,7 @@ ArmFaultBase::invoke(ThreadContext *tc)
     cpsr.a = cpsr.a | abortDisable();
     cpsr.f = cpsr.f | fiqDisable();
     cpsr.i = 1;
+    cpsr.e = sctlr.ee;
     tc->setMiscReg(MISCREG_CPSR, cpsr);
     tc->setIntReg(INTREG_LR, tc->readPC() + 
             (saved_cpsr.t ? thumbPcOffset() : armPcOffset()));