diff options
author | Richard Henderson <richard.henderson@linaro.org> | 2021-06-20 13:49:17 -0700 |
---|---|---|
committer | Richard Henderson <richard.henderson@linaro.org> | 2021-06-29 10:04:56 -0700 |
commit | e0a4620c1f8011cb2b638f9013e087b53ca325ad (patch) | |
tree | bd2890476ad4022b8e6100f90f7797352dd1bb3e | |
parent | 3173715195a2cb7c92e89ca478a6ee86fe9551f0 (diff) | |
download | qemu-e0a4620c1f8011cb2b638f9013e087b53ca325ad.zip qemu-e0a4620c1f8011cb2b638f9013e087b53ca325ad.tar.gz qemu-e0a4620c1f8011cb2b638f9013e087b53ca325ad.tar.bz2 |
target/cris: Use tcg_gen_lookup_and_goto_ptr
We can use this in gen_goto_tb and for DISAS_JUMP
to indirectly chain to the next TB.
Reviewed-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Tested-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r-- | target/cris/translate.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/target/cris/translate.c b/target/cris/translate.c index 7035426..8b37952 100644 --- a/target/cris/translate.c +++ b/target/cris/translate.c @@ -546,7 +546,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(); } } @@ -3354,6 +3354,8 @@ static void cris_tr_tb_stop(DisasContextBase *dcbase, CPUState *cpu) tcg_gen_movi_tl(env_pc, npc); /* fall through */ 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); |