aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2023-10-30 17:39:58 +0000
committerPeter Maydell <peter.maydell@linaro.org>2023-11-02 13:36:45 +0000
commita6b2c5a04ddae291417d5bfffaa25b13a7d8cd10 (patch)
tree5b9fec893dbd1039fd9c32dcb4618f20c7fb91bd
parentc6e1b31bce523710024bca1b529f2117033003a7 (diff)
downloadqemu-a6b2c5a04ddae291417d5bfffaa25b13a7d8cd10.zip
qemu-a6b2c5a04ddae291417d5bfffaa25b13a7d8cd10.tar.gz
qemu-a6b2c5a04ddae291417d5bfffaa25b13a7d8cd10.tar.bz2
target/arm: Enable FEAT_MOPS insns in user-mode emulation
In user-mode emulation, we need to set the SCTLR_EL1.MSCEn bit to avoid all the FEAT_MOPS insns UNDEFing. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20231030174000.3792225-2-peter.maydell@linaro.org
-rw-r--r--target/arm/cpu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index 954328d..df6496b 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -296,6 +296,8 @@ static void arm_cpu_reset_hold(Object *obj)
env->cp15.sctlr_el[1] |= SCTLR_TSCXT;
/* Disable access to Debug Communication Channel (DCC). */
env->cp15.mdscr_el1 |= 1 << 12;
+ /* Enable FEAT_MOPS */
+ env->cp15.sctlr_el[1] |= SCTLR_MSCEN;
#else
/* Reset into the highest available EL */
if (arm_feature(env, ARM_FEATURE_EL3)) {