aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorFabiano Rosas <farosas@suse.de>2023-02-13 17:29:03 -0300
committerPeter Maydell <peter.maydell@linaro.org>2023-02-16 16:09:25 +0000
commit501e6d1f6c75e9bc844098fd13fca730188056ef (patch)
treec116f89c341cc5eaebebb8c05c10d514ac53f591 /target
parentd55b2a2aa37ab07eed1517791344392b3c147f09 (diff)
downloadqemu-501e6d1f6c75e9bc844098fd13fca730188056ef.zip
qemu-501e6d1f6c75e9bc844098fd13fca730188056ef.tar.gz
qemu-501e6d1f6c75e9bc844098fd13fca730188056ef.tar.bz2
target/arm: Move PC alignment check
Move this earlier to make the next patch diff cleaner. While here update the comment slightly to not give the impression that the misalignment affects only TCG. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Fabiano Rosas <farosas@suse.de> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target')
-rw-r--r--target/arm/machine.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/target/arm/machine.c b/target/arm/machine.c
index 5f26152..b4c3850 100644
--- a/target/arm/machine.c
+++ b/target/arm/machine.c
@@ -839,6 +839,15 @@ static int cpu_post_load(void *opaque, int version_id)
}
}
+ /*
+ * Misaligned thumb pc is architecturally impossible. Fail the
+ * incoming migration. For TCG it would trigger the assert in
+ * thumb_tr_translate_insn().
+ */
+ if (!is_a64(env) && env->thumb && (env->regs[15] & 1)) {
+ return -1;
+ }
+
hw_breakpoint_update_all(cpu);
hw_watchpoint_update_all(cpu);
@@ -856,15 +865,6 @@ static int cpu_post_load(void *opaque, int version_id)
}
}
- /*
- * Misaligned thumb pc is architecturally impossible.
- * We have an assert in thumb_tr_translate_insn to verify this.
- * Fail an incoming migrate to avoid this assert.
- */
- if (!is_a64(env) && env->thumb && (env->regs[15] & 1)) {
- return -1;
- }
-
if (!kvm_enabled()) {
pmu_op_finish(&cpu->env);
}