diff options
Diffstat (limited to 'src/arch/arm')
-rw-r--r-- | src/arch/arm/faults.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/arch/arm/faults.cc b/src/arch/arm/faults.cc index 8428931a7..528fc32a5 100644 --- a/src/arch/arm/faults.cc +++ b/src/arch/arm/faults.cc @@ -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())); |