mirror of
https://git.proxmox.com/git/qemu
synced 2025-08-07 11:21:54 +00:00
sparc64: use helper_wrpil to check pending irq on write
Signed-off-by: Igor V. Kovalenko <igor.v.kovalenko@gmail.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
68e8a3f05a
commit
1fae7b705f
@ -5,6 +5,7 @@ DEF_HELPER_0(rett, void)
|
|||||||
DEF_HELPER_1(wrpsr, void, tl)
|
DEF_HELPER_1(wrpsr, void, tl)
|
||||||
DEF_HELPER_0(rdpsr, tl)
|
DEF_HELPER_0(rdpsr, tl)
|
||||||
#else
|
#else
|
||||||
|
DEF_HELPER_1(wrpil, void, tl)
|
||||||
DEF_HELPER_1(wrpstate, void, tl)
|
DEF_HELPER_1(wrpstate, void, tl)
|
||||||
DEF_HELPER_0(done, void)
|
DEF_HELPER_0(done, void)
|
||||||
DEF_HELPER_0(retry, void)
|
DEF_HELPER_0(retry, void)
|
||||||
|
@ -3303,6 +3303,20 @@ void helper_wrpstate(target_ulong new_state)
|
|||||||
change_pstate(new_state & 0xf3f);
|
change_pstate(new_state & 0xf3f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void helper_wrpil(target_ulong new_pil)
|
||||||
|
{
|
||||||
|
#if !defined(CONFIG_USER_ONLY)
|
||||||
|
DPRINTF_PSTATE("helper_wrpil old=%x new=%x\n",
|
||||||
|
env->psrpil, (uint32_t)new_pil);
|
||||||
|
|
||||||
|
env->psrpil = new_pil;
|
||||||
|
|
||||||
|
if (cpu_interrupts_enabled(env)) {
|
||||||
|
cpu_check_irqs(env);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void helper_done(void)
|
void helper_done(void)
|
||||||
{
|
{
|
||||||
trap_state* tsptr = cpu_tsptr(env);
|
trap_state* tsptr = cpu_tsptr(env);
|
||||||
|
@ -3371,10 +3371,7 @@ static void disas_sparc_insn(DisasContext * dc)
|
|||||||
offsetof(CPUSPARCState, tl));
|
offsetof(CPUSPARCState, tl));
|
||||||
break;
|
break;
|
||||||
case 8: // pil
|
case 8: // pil
|
||||||
tcg_gen_trunc_tl_i32(cpu_tmp32, cpu_tmp0);
|
gen_helper_wrpil(cpu_tmp0);
|
||||||
tcg_gen_st_i32(cpu_tmp32, cpu_env,
|
|
||||||
offsetof(CPUSPARCState,
|
|
||||||
psrpil));
|
|
||||||
break;
|
break;
|
||||||
case 9: // cwp
|
case 9: // cwp
|
||||||
gen_helper_wrcwp(cpu_tmp0);
|
gen_helper_wrcwp(cpu_tmp0);
|
||||||
|
Loading…
Reference in New Issue
Block a user