aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2021-09-20 09:54:33 +0100
committerPeter Maydell <peter.maydell@linaro.org>2021-09-20 09:54:33 +0100
commit4a888072c869a2f5ea26af43733490ff2c2ff1b9 (patch)
tree9f9443618d82771420df058aac70616e1a6b91f7 /target
parentb62ceeaf8096fdbbbfdc6087da0028bc4a4dd77e (diff)
target/arm: Always clear exclusive monitor on reset
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
Diffstat (limited to 'target')
-rw-r--r--target/arm/cpu.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/target/arm/cpu.c b/target/arm/cpu.c
index 3f750d5bfe..1dff1d3347 100644
--- a/target/arm/cpu.c
+++ b/target/arm/cpu.c
@@ -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)) {