From 0fa843c9cbeaca05e9b5cdc409b296c669156156 Mon Sep 17 00:00:00 2001 From: Giacomo Travaglini Date: Mon, 6 Feb 2023 17:04:47 +0000 Subject: [PATCH] arch-arm: VMPIDR_EL2 can be used in secure mode as well This was some old code still assuming EL2 is not implemented in secure mode. This is wrong since the introduction of FEAT_SEL2 in gem5 Change-Id: Ie7e112a83e64f33a98885e88504c2d6bc5070218 Signed-off-by: Giacomo Travaglini Reviewed-by: Richard Cooper Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/70471 Tested-by: kokoro Reviewed-by: Jason Lowe-Power Maintainer: Jason Lowe-Power --- src/arch/arm/utility.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/arch/arm/utility.cc b/src/arch/arm/utility.cc index 67645691df..05d1cab06c 100644 --- a/src/arch/arm/utility.cc +++ b/src/arch/arm/utility.cc @@ -139,8 +139,6 @@ readMPIDR(ArmSystem *arm_sys, ThreadContext *tc) { const ExceptionLevel current_el = currEL(tc); - const bool is_secure = isSecureBelowEL3(tc); - switch (current_el) { case EL0: // Note: in MsrMrs instruction we read the register value before @@ -150,7 +148,7 @@ readMPIDR(ArmSystem *arm_sys, ThreadContext *tc) warn_once("Trying to read MPIDR at EL0\n"); [[fallthrough]]; case EL1: - if (ArmSystem::haveEL(tc, EL2) && !is_secure) + if (EL2Enabled(tc)) return tc->readMiscReg(MISCREG_VMPIDR_EL2); else return getMPIDR(arm_sys, tc);