On Wed, Oct 13, 2021 at 2:35 AM Richard Henderson <richard.hender...@linaro.org> wrote: > > We have already set DISAS_NORETURN in generate_exception, > which makes the exit_tb unreachable. > > Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
Reviewed-by: Alistair Francis <alistair.fran...@wdc.com> Alistair > --- > target/riscv/insn_trans/trans_privileged.c.inc | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/target/riscv/insn_trans/trans_privileged.c.inc > b/target/riscv/insn_trans/trans_privileged.c.inc > index 32312be202..a7afcb15ce 100644 > --- a/target/riscv/insn_trans/trans_privileged.c.inc > +++ b/target/riscv/insn_trans/trans_privileged.c.inc > @@ -22,8 +22,6 @@ static bool trans_ecall(DisasContext *ctx, arg_ecall *a) > { > /* always generates U-level ECALL, fixed in do_interrupt handler */ > generate_exception(ctx, RISCV_EXCP_U_ECALL); > - exit_tb(ctx); /* no chaining */ > - ctx->base.is_jmp = DISAS_NORETURN; > return true; > } > > @@ -60,13 +58,11 @@ static bool trans_ebreak(DisasContext *ctx, arg_ebreak *a) > post = opcode_at(&ctx->base, post_addr); > } > > - if (pre == 0x01f01013 && ebreak == 0x00100073 && post == 0x40705013) { > + if (pre == 0x01f01013 && ebreak == 0x00100073 && post == 0x40705013) { > generate_exception(ctx, RISCV_EXCP_SEMIHOST); > } else { > generate_exception(ctx, RISCV_EXCP_BREAKPOINT); > } > - exit_tb(ctx); /* no chaining */ > - ctx->base.is_jmp = DISAS_NORETURN; > return true; > } > > -- > 2.25.1 > >