diff options
author | Igor V. Kovalenko <igor.v.kovalenko@gmail.com> | 2010-01-07 23:28:10 +0300 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2010-01-08 17:14:11 +0000 |
commit | 1fae7b705f1e70b3636fcba1e660903898fad9c4 (patch) | |
tree | 4909600040d5390102051b6a62407e395c605648 /target-sparc/op_helper.c | |
parent | 68e8a3f05ae21c7217d39bba76e120cbbb956bbd (diff) |
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>
Diffstat (limited to 'target-sparc/op_helper.c')
-rw-r--r-- | target-sparc/op_helper.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c index 1d3adefe48..3d7f64c127 100644 --- a/target-sparc/op_helper.c +++ b/target-sparc/op_helper.c @@ -3303,6 +3303,20 @@ void helper_wrpstate(target_ulong new_state) 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) { trap_state* tsptr = cpu_tsptr(env); |