mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 10:34:58 -06:00
target/riscv: Use translator_use_goto_tb
Just use translator_use_goto_tb directly at the one call site, rather than maintaining a local wrapper. Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
6e9cc373ec
commit
c54d50c1d6
1 changed files with 1 additions and 19 deletions
|
@ -168,29 +168,11 @@ static void gen_exception_inst_addr_mis(DisasContext *ctx)
|
||||||
generate_exception_mtval(ctx, RISCV_EXCP_INST_ADDR_MIS);
|
generate_exception_mtval(ctx, RISCV_EXCP_INST_ADDR_MIS);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool use_goto_tb(DisasContext *ctx, target_ulong dest)
|
|
||||||
{
|
|
||||||
if (unlikely(ctx->base.singlestep_enabled)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
|
||||||
return (ctx->base.tb->pc & TARGET_PAGE_MASK) == (dest & TARGET_PAGE_MASK);
|
|
||||||
#else
|
|
||||||
return true;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest)
|
static void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest)
|
||||||
{
|
{
|
||||||
if (use_goto_tb(ctx, dest)) {
|
if (translator_use_goto_tb(&ctx->base, dest)) {
|
||||||
/* chaining is only allowed when the jump is to the same page */
|
|
||||||
tcg_gen_goto_tb(n);
|
tcg_gen_goto_tb(n);
|
||||||
tcg_gen_movi_tl(cpu_pc, dest);
|
tcg_gen_movi_tl(cpu_pc, dest);
|
||||||
|
|
||||||
/* No need to check for single stepping here as use_goto_tb() will
|
|
||||||
* return false in case of single stepping.
|
|
||||||
*/
|
|
||||||
tcg_gen_exit_tb(ctx->base.tb, n);
|
tcg_gen_exit_tb(ctx->base.tb, n);
|
||||||
} else {
|
} else {
|
||||||
tcg_gen_movi_tl(cpu_pc, dest);
|
tcg_gen_movi_tl(cpu_pc, dest);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue