From 6ef905f69cbeb03e8fe204d8aaa354d77f13a7d7 Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Sat, 7 Jul 2007 20:48:42 +0000 Subject: Fix wrong number of clean/saveable windows, match Linux startup register values git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3050 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-sparc/cpu.h | 1 + target-sparc/translate.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'target-sparc') diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h index 7fbc19d142..a3d762f7f9 100644 --- a/target-sparc/cpu.h +++ b/target-sparc/cpu.h @@ -89,6 +89,7 @@ #if defined(TARGET_SPARC64) #define PS_IG (1<<11) #define PS_MG (1<<10) +#define PS_RMO (1<<7) #define PS_RED (1<<5) #define PS_PEF (1<<4) #define PS_AM (1<<3) diff --git a/target-sparc/translate.c b/target-sparc/translate.c index c69ffd9afd..a2f3d5bd34 100644 --- a/target-sparc/translate.c +++ b/target-sparc/translate.c @@ -3315,8 +3315,10 @@ void cpu_reset(CPUSPARCState *env) #if defined(CONFIG_USER_ONLY) env->user_mode_only = 1; #ifdef TARGET_SPARC64 - env->cleanwin = NWINDOWS - 1; - env->cansave = NWINDOWS - 1; + env->cleanwin = NWINDOWS - 2; + env->cansave = NWINDOWS - 2; + env->pstate = PS_RMO | PS_PEF | PS_IE; + env->asi = 0x82; // Primary no-fault #endif #else env->psret = 0; -- cgit v1.2.1