From 3e736bf4b42fdb19920d348dcd8a1e7c0a0233ca Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Sat, 24 Mar 2007 13:24:09 +0000 Subject: Upgrade Sparc FPU version (based on patch by Aurelien Jarno) git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2532 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-sparc/cpu.h | 4 ++-- target-sparc/translate.c | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'target-sparc') diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h index 60189a6096..3e8d71c204 100644 --- a/target-sparc/cpu.h +++ b/target-sparc/cpu.h @@ -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 diff --git a/target-sparc/translate.c b/target-sparc/translate.c index 7486c277bb..d1de266f6f 100644 --- a/target-sparc/translate.c +++ b/target-sparc/translate.c @@ -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 -- cgit v1.2.3