summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/arm/faults.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/arch/arm/faults.cc b/src/arch/arm/faults.cc
index 061e1299a..d195d1a14 100644
--- a/src/arch/arm/faults.cc
+++ b/src/arch/arm/faults.cc
@@ -439,6 +439,8 @@ ArmFault::invoke(ThreadContext *tc, const StaticInstPtr &inst)
// Determine target exception level
if (ArmSystem::haveSecurity(tc) && routeToMonitor(tc))
toEL = EL3;
+ else if (ArmSystem::haveVirtualization(tc) && routeToHyp(tc))
+ toEL = EL2;
else
toEL = opModeToEL(nextMode());
if (fromEL > toEL)