diff --git a/src/arch/arm/utility.cc b/src/arch/arm/utility.cc index f5d37fee8d..d7185f2014 100644 --- a/src/arch/arm/utility.cc +++ b/src/arch/arm/utility.cc @@ -123,8 +123,8 @@ inAArch64(ThreadContext *tc) ExceptionLevel currEL(const ThreadContext *tc) { - return static_cast( - const_cast(tc)->getIsaPtr())->currEL(); + CPSR cpsr = tc->readMiscRegNoEffect(MISCREG_CPSR); + return opModeToEL((OperatingMode)(uint8_t)cpsr.mode); } bool