From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55428) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNQ87-0008EJ-0Q for qemu-devel@nongnu.org; Tue, 20 Jun 2017 16:52:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNQ82-0004Ff-DG for qemu-devel@nongnu.org; Tue, 20 Jun 2017 16:52:07 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:52245) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dNQ82-0004F2-3B for qemu-devel@nongnu.org; Tue, 20 Jun 2017 16:52:02 -0400 From: Laurent Vivier Date: Tue, 20 Jun 2017 22:51:17 +0200 Message-Id: <20170620205121.26515-3-laurent@vivier.eu> In-Reply-To: <20170620205121.26515-1-laurent@vivier.eu> References: <20170620205121.26515-1-laurent@vivier.eu> Subject: [Qemu-devel] [PATCH v5 2/6] target-m68k: initialize FPU registers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Riku Voipio , Thomas Huth , Aurelien Jarno , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Laurent Vivier on reset, set FP registers to NaN and control registers to 0 Signed-off-by: Laurent Vivier --- 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