From: Dylan Johnson Date: Tue, 2 Aug 2016 09:38:02 +0000 (+0100) Subject: arm: Add check to fault routing for hypervisor/virtualization X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f9a6f68e0bcb1f7e2a34ad1bbf93515b473b610f;p=gem5.git 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 --- 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)