From 49538a71186d98f5440c5db646e23507fc2e38d1 Mon Sep 17 00:00:00 2001 From: Curtis Dunham Date: Tue, 2 Aug 2016 10:38:01 +0100 Subject: arm: enable EL2 support Change-Id: I59fa4fae98c33d9e5c2185382e1411911d27d341 --- src/arch/arm/faults.cc | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) (limited to 'src/arch/arm/faults.cc') diff --git a/src/arch/arm/faults.cc b/src/arch/arm/faults.cc index 1b54a3e24..e7a461ef6 100644 --- a/src/arch/arm/faults.cc +++ b/src/arch/arm/faults.cc @@ -338,11 +338,10 @@ ArmFault::getVector64(ThreadContext *tc) assert(ArmSystem::haveSecurity(tc)); vbar = tc->readMiscReg(MISCREG_VBAR_EL3); break; - // @todo: uncomment this to enable Virtualization - // case EL2: - // assert(ArmSystem::haveVirtualization(tc)); - // vbar = tc->readMiscReg(MISCREG_VBAR_EL2); - // break; + case EL2: + assert(ArmSystem::haveVirtualization(tc)); + vbar = tc->readMiscReg(MISCREG_VBAR_EL2); + break; case EL1: vbar = tc->readMiscReg(MISCREG_VBAR_EL1); break; @@ -596,12 +595,11 @@ ArmFault::invoke64(ThreadContext *tc, const StaticInstPtr &inst) elr_idx = MISCREG_ELR_EL1; spsr_idx = MISCREG_SPSR_EL1; break; - // @todo: uncomment this to enable Virtualization - // case EL2: - // assert(ArmSystem::haveVirtualization()); - // elr_idx = MISCREG_ELR_EL2; - // spsr_idx = MISCREG_SPSR_EL2; - // break; + case EL2: + assert(ArmSystem::haveVirtualization(tc)); + elr_idx = MISCREG_ELR_EL2; + spsr_idx = MISCREG_SPSR_EL2; + break; case EL3: assert(ArmSystem::haveSecurity(tc)); elr_idx = MISCREG_ELR_EL3; -- cgit v1.2.3