aboutsummaryrefslogtreecommitdiff
path: root/target-ppc
diff options
context:
space:
mode:
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2009-02-19 20:17:09 +0000
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>2009-02-19 20:17:09 +0000
commit5518f3a6367e626d0866da35f4cda245a71485ea (patch)
tree679d6285b3994bc5ea7b99c7bc017366c1a3ca37 /target-ppc
parent6c2934db949aa259ed47b126b5c6838ac57a3f6f (diff)
Fix branch debugging
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6629 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-ppc')
-rw-r--r--target-ppc/translate.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 0999f4c245..f01a1cfb2f 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -278,7 +278,9 @@ static always_inline void gen_exception (DisasContext *ctx, uint32_t excp)
static always_inline void gen_debug_exception (DisasContext *ctx)
{
TCGv_i32 t0;
- gen_update_nip(ctx, ctx->nip);
+
+ if (ctx->exception != POWERPC_EXCP_BRANCH)
+ gen_update_nip(ctx, ctx->nip);
t0 = tcg_const_i32(EXCP_DEBUG);
gen_helper_raise_exception(t0);
tcg_temp_free_i32(t0);