[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 2/5] target-m68k: initialize FPU registers
From: |
Laurent Vivier |
Subject: |
[Qemu-devel] [PULL 2/5] target-m68k: initialize FPU registers |
Date: |
Wed, 21 Jun 2017 23:00:44 +0200 |
on reset, set FP registers to NaN and control registers to 0
Signed-off-by: Laurent Vivier <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Message-Id: <address@hidden>
---
target/m68k/cpu.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c
index f068922..f2e031f 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;
+ float64 nan = float64_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] = nan;
+ }
+ env->fpcr = 0;
+ env->fpsr = 0;
+
cpu_m68k_set_ccr(env, 0);
/* TODO: We should set PC from the interrupt vector. */
env->pc = 0;
--
2.9.4
- [Qemu-devel] [PULL 0/5] M68k for 2.10 patches, Laurent Vivier, 2017/06/21
- [Qemu-devel] [PULL 1/5] target-m68k: move fmove CR to a function, Laurent Vivier, 2017/06/21
- [Qemu-devel] [PULL 2/5] target-m68k: initialize FPU registers,
Laurent Vivier <=
- [Qemu-devel] [PULL 4/5] target-m68k: define 96bit FP registers for gdb on 680x0, Laurent Vivier, 2017/06/21
- [Qemu-devel] [PULL 5/5] target-m68k: add FPCR and FPSR, Laurent Vivier, 2017/06/21
- [Qemu-devel] [PULL 3/5] target-m68k: use floatx80 internally, Laurent Vivier, 2017/06/21
- Re: [Qemu-devel] [PULL 0/5] M68k for 2.10 patches, Peter Maydell, 2017/06/23