Upgrade Sparc FPU version (based on patch by Aurelien Jarno)
authorblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 24 Mar 2007 13:24:09 +0000 (13:24 +0000)
committerblueswir1 <blueswir1@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 24 Mar 2007 13:24:09 +0000 (13:24 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2532 c046a42c-6fe2-441c-8c8c-71466251a162

target-sparc/cpu.h
target-sparc/translate.c

index 60189a6..3e8d71c 100644 (file)
@@ -238,8 +238,8 @@ typedef struct CPUSPARCState {
                      (0 << 24) | (MAXTL << 8) | (NWINDOWS - 1))
 #else
 #define GET_FSR32(env) (env->fsr)
-#define PUT_FSR32(env, val) do { uint32_t _tmp = val;  \
-       env->fsr = _tmp & 0xcfc1ffff;                   \
+#define PUT_FSR32(env, val) do { uint32_t _tmp = val;                   \
+        env->fsr = (_tmp & 0xcfc1ffff) | (env->fsr & 0x000e0000);       \
     } while (0)
 #endif
 
index 7486c27..d1de266 100644 (file)
@@ -2754,6 +2754,7 @@ void cpu_reset(CPUSPARCState *env)
     env->version = GET_VER(env);
     env->pc = 0x1fff0000000ULL;
 #else
+    env->fsr = 4 << 17; /* FPU version 4 (Meiko) */
     env->mmuregs[0] = (0x04 << 24); /* Impl 0, ver 4, MMU disabled */
     env->pc = 0xffd00000;
 #endif