aboutsummaryrefslogtreecommitdiff
path: root/target-sparc/op_helper.c
diff options
context:
space:
mode:
authorIgor V. Kovalenko <igor.v.kovalenko@gmail.com>2010-01-07 23:28:10 +0300
committerBlue Swirl <blauwirbel@gmail.com>2010-01-08 17:14:11 +0000
commit1fae7b705f1e70b3636fcba1e660903898fad9c4 (patch)
tree4909600040d5390102051b6a62407e395c605648 /target-sparc/op_helper.c
parent68e8a3f05ae21c7217d39bba76e120cbbb956bbd (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.c14
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);