Revision 64adab3f target-ppc/translate.c
b/target-ppc/translate.c | ||
---|---|---|
293 | 293 |
|
294 | 294 |
#define GEN_EXCP(ctx, excp, error) \ |
295 | 295 |
do { \ |
296 |
TCGv_i32 t0 = tcg_const_i32(excp); \ |
|
297 |
TCGv_i32 t1 = tcg_const_i32(error); \ |
|
296 | 298 |
if ((ctx)->exception == POWERPC_EXCP_NONE) { \ |
297 | 299 |
gen_update_nip(ctx, (ctx)->nip); \ |
298 | 300 |
} \ |
299 |
gen_op_raise_exception_err((excp), (error)); \ |
|
301 |
gen_helper_raise_exception_err(t0, t1); \ |
|
302 |
tcg_temp_free_i32(t0); \ |
|
303 |
tcg_temp_free_i32(t1); \ |
|
300 | 304 |
ctx->exception = (excp); \ |
301 | 305 |
} while (0) |
302 | 306 |
|
... | ... | |
3470 | 3474 |
} |
3471 | 3475 |
if (ctx->singlestep_enabled & GDBSTUB_SINGLE_STEP) { |
3472 | 3476 |
gen_update_nip(ctx, dest); |
3473 |
gen_op_debug();
|
|
3477 |
gen_helper_raise_debug();
|
|
3474 | 3478 |
} |
3475 | 3479 |
} |
3476 | 3480 |
tcg_gen_exit_tb(0); |
... | ... | |
7233 | 7237 |
for (bp = env->breakpoints; bp != NULL; bp = bp->next) { |
7234 | 7238 |
if (bp->pc == ctx.nip) { |
7235 | 7239 |
gen_update_nip(&ctx, ctx.nip); |
7236 |
gen_op_debug();
|
|
7240 |
gen_helper_raise_debug();
|
|
7237 | 7241 |
break; |
7238 | 7242 |
} |
7239 | 7243 |
} |
... | ... | |
7344 | 7348 |
} else if (ctx.exception != POWERPC_EXCP_BRANCH) { |
7345 | 7349 |
if (unlikely(env->singlestep_enabled)) { |
7346 | 7350 |
gen_update_nip(&ctx, ctx.nip); |
7347 |
gen_op_debug();
|
|
7351 |
gen_helper_raise_debug();
|
|
7348 | 7352 |
} |
7349 | 7353 |
/* Generate the return instruction */ |
7350 | 7354 |
tcg_gen_exit_tb(0); |
Also available in: Unified diff