diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2023-07-28 10:22:52 -0700 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2023-07-31 12:19:13 -0700 |
commit | 2e718e665706d5fcc3e3501bda26f277f055ed85 (patch) | |
tree | cf7fa0996c6cd4a16285d1f645153115897996dc /target | |
parent | 0f2f3247d456e08baa345768824dae6864d9acb6 (diff) | |
download | qemu-2e718e665706d5fcc3e3501bda26f277f055ed85.zip qemu-2e718e665706d5fcc3e3501bda26f277f055ed85.tar.gz qemu-2e718e665706d5fcc3e3501bda26f277f055ed85.tar.bz2 |
target/ppc: Disable goto_tb with architectural singlestep
The change to use translator_use_goto_tb went too far, as the
CF_SINGLE_STEP flag managed by the translator only handles
gdb single stepping and not the architectural single stepping
modeled in DisasContext.singlestep_enabled.
Fixes: 6e9cc373ec5 ("target/ppc: Use translator_use_goto_tb")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1795
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Diffstat (limited to 'target')
-rw-r--r-- | target/ppc/translate.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/target/ppc/translate.c b/target/ppc/translate.c index e6a0709..74796ec 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -4175,6 +4175,9 @@ static void pmu_count_insns(DisasContext *ctx) static inline bool use_goto_tb(DisasContext *ctx, target_ulong dest) { + if (unlikely(ctx->singlestep_enabled)) { + return false; + } return translator_use_goto_tb(&ctx->base, dest); } |