@@ -85,9 +85,14 @@ const float64 float64_default_nan = const_float64(LIT64( 0xFFF8000000000000 ));
#define floatx80_default_nan_high 0x7FFF
#define floatx80_default_nan_low LIT64( 0xBFFFFFFFFFFFFFFF )
#else
+#if defined(TARGET_M68K)
+#define floatx80_default_nan_high 0x7FFF
+#define floatx80_default_nan_low LIT64( 0xFFFFFFFFFFFFFFFF )
+#else
#define floatx80_default_nan_high 0xFFFF
#define floatx80_default_nan_low LIT64( 0xC000000000000000 )
#endif
+#endif
const floatx80 floatx80_default_nan = make_floatx80(floatx80_default_nan_high,
floatx80_default_nan_low);
@@ -23,7 +23,6 @@
#include "config.h"
#include "cpu.h"
-#include "exec.h"
#include "qemu-common.h"
#include "gdbstub.h"
@@ -272,13 +271,12 @@ void cpu_reset(CPUM68KState *env)
m68k_switch_sp(env);
for (i = 0; i < 8; i++) {
- env->fregs[i].l.upper = floatx80_default_nan_high;
- env->fregs[i].l.lower = 0xffffffffffffffffULL;
+ env->fregs[i].d = floatx80_default_nan;
}
- env->fp0h = floatx80_default_nan_high;
- env->fp0l = 0xffffffffffffffffULL;
- env->fp1h = floatx80_default_nan_high;
- env->fp1l = 0xffffffffffffffffULL;
+ env->fp0h = floatx80_default_nan.high;
+ env->fp0l = floatx80_default_nan.low;
+ env->fp1h = floatx80_default_nan.high;
+ env->fp1l = floatx80_default_nan.low;
env->cc_op = CC_OP_FLAGS;
/* TODO: We should set PC from the interrupt vector. */
@@ -25,7 +25,6 @@
#include "config.h"
#include "cpu.h"
-#include "exec.h"
#include "disas.h"
#include "tcg-op.h"
#include "qemu-log.h"