On 12.06.2017 01:16, Laurent Vivier wrote: > Coldfire uses float64, but 680x0 use floatx80. > This patch introduces the use of floatx80 internally > and enables 680x0 80bits FPU. > > Signed-off-by: Laurent Vivier <laur...@vivier.eu> > --- > target/m68k/cpu.c | 9 +- > target/m68k/cpu.h | 6 +- > target/m68k/fpu_helper.c | 85 +++---- > target/m68k/helper.c | 12 +- > target/m68k/helper.h | 37 +-- > target/m68k/qregs.def | 1 - > target/m68k/translate.c | 568 > +++++++++++++++++++++++++++++++---------------- > 7 files changed, 464 insertions(+), 254 deletions(-) > > diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c > index f068922..435456f 100644 > --- a/target/m68k/cpu.c > +++ b/target/m68k/cpu.c > @@ -49,6 +49,8 @@ static void m68k_cpu_reset(CPUState *s) > M68kCPU *cpu = M68K_CPU(s); > M68kCPUClass *mcc = M68K_CPU_GET_CLASS(cpu); > CPUM68KState *env = &cpu->env; > + floatx80 nan = floatx80_default_nan(NULL); > + int i; > > mcc->parent_reset(s); > > @@ -57,7 +59,12 @@ static void m68k_cpu_reset(CPUState *s) > env->sr = 0x2700; > #endif > m68k_switch_sp(env); > - /* ??? FP regs should be initialized to NaN. */ > + for (i = 0; i < 8; i++) { > + env->fregs[i].d = nan; > + } > + env->fpcr = 0; > + env->fpsr = 0; > +
Maybe move such non-related hunks to a separate patch? This patch here is already big enough... Thomas