]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
target/arm: Always clear exclusive monitor on reset
authorPeter Maydell <peter.maydell@linaro.org>
Mon, 20 Sep 2021 08:54:33 +0000 (09:54 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 20 Sep 2021 08:54:33 +0000 (09:54 +0100)
There's no particular reason why the exclusive monitor should
be only cleared on reset in system emulation mode. It doesn't
hurt if it isn't cleared in user mode, but we might as well
reduce the amount of code we have that's inside an ifdef.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210914120725.24992-3-peter.maydell@linaro.org

target/arm/cpu.c

index 3f750d5bfea4064a4d38c069f93a6d91743fcffc..1dff1d334737165fcd1701f495a3cb5c96cbebb4 100644 (file)
@@ -381,15 +381,15 @@ static void arm_cpu_reset(DeviceState *dev)
         env->regs[15] = 0xFFFF0000;
     }
 
+    env->vfp.xregs[ARM_VFP_FPEXC] = 0;
+#endif
+
     /* M profile requires that reset clears the exclusive monitor;
      * A profile does not, but clearing it makes more sense than having it
      * set with an exclusive access on address zero.
      */
     arm_clear_exclusive(env);
 
-    env->vfp.xregs[ARM_VFP_FPEXC] = 0;
-#endif
-
     if (arm_feature(env, ARM_FEATURE_PMSA)) {
         if (cpu->pmsav7_dregion > 0) {
             if (arm_feature(env, ARM_FEATURE_V8)) {