aboutsummaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorEmilio G. Cota <cota@braap.org>2018-07-02 18:02:07 -0400
committerDavid Gibson <david@gibson.dropbear.id.au>2018-07-03 11:00:02 +1000
commit2a8ceefca23bc2aaafe711f8afd7585be3c27064 (patch)
tree67fd6dda6ec79e57ef5168e750cd854a76067d28 /target
parente89372951d328143ecdb3a524bf53454ad9309b0 (diff)
target/ppc: set is_jmp on ppc_tr_breakpoint_check
The use of GDB breakpoints was broken by b0c2d52 ("target/ppc: convert to TranslatorOps", 2018-02-16). Fix it by setting is_jmp, so that we break from the translation loop as originally intended. Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reported-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Emilio G. Cota <cota@braap.org> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'target')
-rw-r--r--target/ppc/translate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/target/ppc/translate.c b/target/ppc/translate.c
index e120f2ed0b..65c8cc94e7 100644
--- a/target/ppc/translate.c
+++ b/target/ppc/translate.c
@@ -7482,6 +7482,7 @@ static bool ppc_tr_breakpoint_check(DisasContextBase *dcbase, CPUState *cs,
DisasContext *ctx = container_of(dcbase, DisasContext, base);
gen_debug_exception(ctx);
+ dcbase->is_jmp = DISAS_NORETURN;
/* The address covered by the breakpoint must be included in
[tb->pc, tb->pc + tb->size) in order to for it to be
properly cleared -- thus we increment the PC here so that