[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 10/27] target/arm: Move PC alignment check
From: |
Fabiano Rosas |
Subject: |
[RFC PATCH 10/27] target/arm: Move PC alignment check |
Date: |
Wed, 4 Jan 2023 18:58:18 -0300 |
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>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
---
target/arm/machine.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/target/arm/machine.c b/target/arm/machine.c
index 54c5c62433..a186787d2b 100644
--- a/target/arm/machine.c
+++ b/target/arm/machine.c
@@ -811,6 +811,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);
@@ -828,15 +837,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);
}
--
2.35.3
- [RFC PATCH 06/27] target/arm: cleanup cpu includes, (continued)
- [RFC PATCH 06/27] target/arm: cleanup cpu includes, Fabiano Rosas, 2023/01/04
- [RFC PATCH 04/27] target/arm: Remove unused includes from m_helper.c, Fabiano Rosas, 2023/01/04
- [RFC PATCH 08/27] target/arm: wrap psci call with tcg_enabled, Fabiano Rosas, 2023/01/04
- [RFC PATCH 05/27] target/arm: Remove unused includes from helper.c, Fabiano Rosas, 2023/01/04
- [RFC PATCH 09/27] target/arm: wrap call to aarch64_sve_change_el in tcg_enabled(), Fabiano Rosas, 2023/01/04
- [RFC PATCH 14/27] target/arm: Move regime_using_lpae_format into internal.h, Fabiano Rosas, 2023/01/04
- [RFC PATCH 15/27] target/arm: move helpers to tcg/, Fabiano Rosas, 2023/01/04
- [RFC PATCH 11/27] target/arm: only perform TCG cpu and machine inits if TCG enabled, Fabiano Rosas, 2023/01/04
- [RFC PATCH 10/27] target/arm: Move PC alignment check,
Fabiano Rosas <=
- [RFC PATCH 12/27] target/arm: Add tcg/meson.build, Fabiano Rosas, 2023/01/04
- [RFC PATCH 16/27] target/arm: only build psci for TCG, Fabiano Rosas, 2023/01/04
- [RFC PATCH 13/27] target/arm: move translate modules to tcg/, Fabiano Rosas, 2023/01/04
- [RFC PATCH 17/27] target/arm: Extract cpustate list manipulation to a file, Fabiano Rosas, 2023/01/04
- [RFC PATCH 18/27] target/arm: Move cpregs code out of cpu.h, Fabiano Rosas, 2023/01/04
- [RFC PATCH 19/27] target/arm: Move common cpregs code into a separate file, Fabiano Rosas, 2023/01/04