target/hppa: Check for page crossings in use_goto_tb
We got away with eliding this check when target/hppa was user-only, but missed adding this check when adding system support. Fixes an early crash in the HP-UX 11 installer. Reported-by: Sven Schnelle <svens@stackframe.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
46316f1dff
commit
f3b423ec6e
@ -816,12 +816,10 @@ static bool gen_illegal(DisasContext *ctx)
|
||||
|
||||
static bool use_goto_tb(DisasContext *ctx, target_ureg dest)
|
||||
{
|
||||
/* Suppress goto_tb in the case of single-steping and IO. */
|
||||
if ((tb_cflags(ctx->base.tb) & CF_LAST_IO)
|
||||
|| ctx->base.singlestep_enabled) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
/* Suppress goto_tb for page crossing, IO, or single-steping. */
|
||||
return !(((ctx->base.pc_first ^ dest) & TARGET_PAGE_MASK)
|
||||
|| (tb_cflags(ctx->base.tb) & CF_LAST_IO)
|
||||
|| ctx->base.singlestep_enabled);
|
||||
}
|
||||
|
||||
/* If the next insn is to be nullified, and it's on the same page,
|
||||
|
Loading…
Reference in New Issue
Block a user