aboutsummaryrefslogtreecommitdiff
path: root/target-sparc/op_helper.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-30 22:39:04 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-01-30 22:39:04 +0000
commitaf7bf89b1f525bb684f48ed0e847ad2d2d11c5e5 (patch)
treed82662323af4abbcc79a96d01940ddb39f89fe34 /target-sparc/op_helper.c
parent49be80301540be4445b2dc58d050a063988c85b4 (diff)
initial sparc64 support - sparc fixes (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1251 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-sparc/op_helper.c')
-rw-r--r--target-sparc/op_helper.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/target-sparc/op_helper.c b/target-sparc/op_helper.c
index fecb80dcdd..2529cca720 100644
--- a/target-sparc/op_helper.c
+++ b/target-sparc/op_helper.c
@@ -209,7 +209,8 @@ void helper_st_asi(int asi, int size, int sign)
void helper_rett()
{
- int cwp;
+ unsigned int cwp;
+
env->psret = 1;
cwp = (env->cwp + 1) & (NWINDOWS - 1);
if (env->wim & (1 << cwp)) {
@@ -255,3 +256,13 @@ void helper_debug()
env->exception_index = EXCP_DEBUG;
cpu_loop_exit();
}
+
+void do_wrpsr()
+{
+ PUT_PSR(env, T0);
+}
+
+void do_rdpsr()
+{
+ T0 = GET_PSR(env);
+}