From: Peter Maydell Date: Fri, 7 Mar 2025 10:08:20 +0000 (+0000) Subject: target/arm: Make CNTPS_* UNDEF from Secure EL1 when Secure EL2 is enabled X-Git-Tag: v10.0.0-rc0~21^2~15 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bdd641541fbef0a27bf9f60e7eba6f8a31d4706c;p=thirdparty%2Fqemu.git target/arm: Make CNTPS_* UNDEF from Secure EL1 when Secure EL2 is enabled When we added Secure EL2 support, we missed that this needs an update to the access code for the EL3 physical timer registers. These are supposed to UNDEF from Secure EL1 when Secure EL2 is enabled. (Note for stable backporting: for backports to branches where CP_ACCESS_UNDEFINED is not defined, the old name to use instead is CP_ACCESS_TRAP_UNCATEGORIZED.) Cc: qemu-stable@nongnu.org Signed-off-by: Peter Maydell Reviewed-by: Alex Bennée Message-id: 20250204125009.2281315-4-peter.maydell@linaro.org --- diff --git a/target/arm/helper.c b/target/arm/helper.c index 5729b313f84..5b6de446ace 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -2387,6 +2387,9 @@ static CPAccessResult gt_stimer_access(CPUARMState *env, if (!arm_is_secure(env)) { return CP_ACCESS_UNDEFINED; } + if (arm_is_el2_enabled(env)) { + return CP_ACCESS_UNDEFINED; + } if (!(env->cp15.scr_el3 & SCR_ST)) { return CP_ACCESS_TRAP_EL3; }