From: Peter Maydell Date: Thu, 30 Jan 2025 18:22:58 +0000 (+0000) Subject: target/arm: Report correct syndrome for UNDEFINED S1E2 AT ops at EL3 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=ccda792945d650bce4609c8dbce8814a220df1bb;p=qemu.git target/arm: Report correct syndrome for UNDEFINED S1E2 AT ops at EL3 The pseudocode for AT S1E2R and AT S1E2W says that they should be UNDEFINED if executed at EL3 when EL2 is not enabled. We were incorrectly using CP_ACCESS_TRAP and reporting the wrong exception syndrome as a result. Use CP_ACCESS_TRAP_UNCATEGORIZED. Cc: qemu-stable@nongnu.org Fixes: 2a47df953202e1 ("target-arm: Wire up AArch64 EL2 and EL3 address translation ops") Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20250130182309.717346-4-peter.maydell@linaro.org --- diff --git a/target/arm/helper.c b/target/arm/helper.c index 9ed1a67b76..f4af2d2de5 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -3611,7 +3611,7 @@ static CPAccessResult at_s1e2_access(CPUARMState *env, const ARMCPRegInfo *ri, { if (arm_current_el(env) == 3 && !(env->cp15.scr_el3 & (SCR_NS | SCR_EEL2))) { - return CP_ACCESS_TRAP; + return CP_ACCESS_TRAP_UNCATEGORIZED; } return at_e012_access(env, ri, isread); }