From: Laurent Vivier <laur...@vivier.eu> Signed-off-by: Laurent Vivier <laur...@vivier.eu> --- fpu/softfloat-specialize.h | 5 +++++ target-m68k/helper.c | 12 +++++------- target-m68k/translate.c | 1 - 3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/fpu/softfloat-specialize.h b/fpu/softfloat-specialize.h index e051549..4a4863c 100644 --- a/fpu/softfloat-specialize.h +++ b/fpu/softfloat-specialize.h @@ -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); diff --git a/target-m68k/helper.c b/target-m68k/helper.c index 533f33b..4edbc90 100644 --- a/target-m68k/helper.c +++ b/target-m68k/helper.c @@ -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. */ diff --git a/target-m68k/translate.c b/target-m68k/translate.c index 70eba1a..b749a76 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -25,7 +25,6 @@ #include "config.h" #include "cpu.h" -#include "exec.h" #include "disas.h" #include "tcg-op.h" #include "qemu-log.h" -- 1.7.2.3