target/alpha: Drop goto_tb path in gen_call_pal

We are certain of a page crossing here, entering the
PALcode image, so the call to use_goto_tb that should
have been here will never succeed.

We are shortly going to add an assert to tcg_gen_goto_tb
that would trigger for this case.

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson 2021-07-18 15:24:29 -10:00
parent 043e35d98c
commit 288a5fe980
1 changed files with 2 additions and 13 deletions

View File

@ -1207,19 +1207,8 @@ static DisasJumpType gen_call_pal(DisasContext *ctx, int palcode)
? 0x2000 + (palcode - 0x80) * 64 ? 0x2000 + (palcode - 0x80) * 64
: 0x1000 + palcode * 64); : 0x1000 + palcode * 64);
/* Since the destination is running in PALmode, we don't really tcg_gen_movi_i64(cpu_pc, entry);
need the page permissions check. We'll see the existence of return DISAS_PC_UPDATED;
the page when we create the TB, and we'll flush all TBs if
we change the PAL base register. */
if (!ctx->base.singlestep_enabled) {
tcg_gen_goto_tb(0);
tcg_gen_movi_i64(cpu_pc, entry);
tcg_gen_exit_tb(ctx->base.tb, 0);
return DISAS_NORETURN;
} else {
tcg_gen_movi_i64(cpu_pc, entry);
return DISAS_PC_UPDATED;
}
} }
#endif #endif
} }