diff --git a/target-ppc/translate.c b/target-ppc/translate.c index ac915ccadecc5e48626610830243f74fdc5894c3..3c49ca90437daa50ed7c6ff571e0f72312fd7c21 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -3466,7 +3466,8 @@ static inline void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest) if (unlikely(ctx->singlestep_enabled)) { if ((ctx->singlestep_enabled & (CPU_BRANCH_STEP | CPU_SINGLE_STEP)) && - ctx->exception == POWERPC_EXCP_BRANCH) { + (ctx->exception == POWERPC_EXCP_BRANCH || + ctx->exception == POWERPC_EXCP_TRACE)) { target_ulong tmp = ctx->nip; ctx->nip = dest; gen_exception(ctx, POWERPC_EXCP_TRACE);