From f9a6f68e0bcb1f7e2a34ad1bbf93515b473b610f Mon Sep 17 00:00:00 2001 From: Dylan Johnson Date: Tue, 2 Aug 2016 10:38:02 +0100 Subject: [PATCH] arm: Add check to fault routing for hypervisor/virtualization This patch adds the option for faults to be routed to the hypervisor using the pre-existing routeToHyp() functions that are present in each fault type. Change-Id: I9735512c094457636b9870456a5be5432288e004 --- src/arch/arm/faults.cc | 2 ++ 1 file changed, 2 insertions(+) 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)