fixed sparc64 cpu fp save/restore

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2001 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
bellard 2006-06-21 18:48:01 +00:00
parent 65ce8c2fb4
commit 1bdb68ea13
2 changed files with 6 additions and 7 deletions

View File

@ -12,7 +12,6 @@
#define TARGET_FPREGS 64
#define TARGET_PAGE_BITS 12 /* XXX */
#endif
#define TARGET_FPREG_T float32
#include "cpu-defs.h"

12
vl.c
View File

@ -4146,11 +4146,11 @@ void cpu_save(QEMUFile *f, void *opaque)
/* FPU */
for(i = 0; i < TARGET_FPREGS; i++) {
union {
TARGET_FPREG_T f;
target_ulong i;
float32 f;
uint32_t i;
} u;
u.f = env->fpr[i];
qemu_put_betl(f, u.i);
qemu_put_be32(f, u.i);
}
qemu_put_betls(f, &env->pc);
@ -4182,10 +4182,10 @@ int cpu_load(QEMUFile *f, void *opaque, int version_id)
/* FPU */
for(i = 0; i < TARGET_FPREGS; i++) {
union {
TARGET_FPREG_T f;
target_ulong i;
float32 f;
uint32_t i;
} u;
u.i = qemu_get_betl(f);
u.i = qemu_get_be32(f);
env->fpr[i] = u.f;
}