aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2025-01-30 18:23:06 +0000
committerPeter Maydell <peter.maydell@linaro.org>2025-02-20 14:20:28 +0000
commitf706b67da61aecc54bbdad16bea3fc69e9fd844b (patch)
tree4effd950a0dbd0b2731811f87669435110c5368d
parent2d60f1acdb950e85335b018bcaf4ba0f042a350c (diff)
downloadqemu-f706b67da61aecc54bbdad16bea3fc69e9fd844b.zip
qemu-f706b67da61aecc54bbdad16bea3fc69e9fd844b.tar.gz
qemu-f706b67da61aecc54bbdad16bea3fc69e9fd844b.tar.bz2
target/arm: Use TRAP_UNCATEGORIZED for XScale CPAR traps
On XScale CPUs, there is no EL2 or AArch64, so no syndrome register. These traps are just UNDEFs in the traditional AArch32 sense, so CP_ACCESS_TRAP_UNCATEGORIZED is more accurate than CP_ACCESS_TRAP. This has no visible behavioural change, because the guest doesn't have a way to see the syndrome value we generate. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20250130182309.717346-12-peter.maydell@linaro.org
-rw-r--r--target/arm/tcg/op_helper.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/arm/tcg/op_helper.c b/target/arm/tcg/op_helper.c
index c427118..c69d2ac 100644
--- a/target/arm/tcg/op_helper.c
+++ b/target/arm/tcg/op_helper.c
@@ -764,7 +764,7 @@ const void *HELPER(access_check_cp_reg)(CPUARMState *env, uint32_t key,
if (arm_feature(env, ARM_FEATURE_XSCALE) && ri->cp < 14
&& extract32(env->cp15.c15_cpar, ri->cp, 1) == 0) {
- res = CP_ACCESS_TRAP;
+ res = CP_ACCESS_TRAP_UNCATEGORIZED;
goto fail;
}