We can use this in gen_goto_tb and for DISAS_JUMP to indirectly chain to the next TB.
Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- target/cris/translate.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/target/cris/translate.c b/target/cris/translate.c index 0e925320b3..c33324b988 100644 --- a/target/cris/translate.c +++ b/target/cris/translate.c @@ -539,7 +539,7 @@ static void gen_goto_tb(DisasContext *dc, int n, target_ulong dest) tcg_gen_exit_tb(dc->base.tb, n); } else { tcg_gen_movi_tl(env_pc, dest); - tcg_gen_exit_tb(NULL, 0); + tcg_gen_lookup_and_goto_ptr(); } } @@ -3331,6 +3331,8 @@ static void cris_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) gen_goto_tb(dc, 0, npc); break; case DISAS_JUMP: + tcg_gen_lookup_and_goto_ptr(); + break; case DISAS_UPDATE: /* Indicate that interupts must be re-evaluated before the next TB. */ tcg_gen_exit_tb(NULL, 0); -- 2.25.1