From patchwork Wed Jun 21 21:00:44 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 779116 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wtHFb07H4z9s2s for ; Thu, 22 Jun 2017 07:01:38 +1000 (AEST) Received: from localhost ([::1]:55943 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNmkp-0001kC-Os for incoming@patchwork.ozlabs.org; Wed, 21 Jun 2017 17:01:35 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39876) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNmkC-0001jT-Ax for qemu-devel@nongnu.org; Wed, 21 Jun 2017 17:00:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNmk8-0006RM-Fx for qemu-devel@nongnu.org; Wed, 21 Jun 2017 17:00:56 -0400 Received: from mout.kundenserver.de ([212.227.17.24]:62798) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dNmk8-0006Qs-4v for qemu-devel@nongnu.org; Wed, 21 Jun 2017 17:00:52 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue102 [212.227.15.183]) with ESMTPSA (Nemesis) id 0MRD6F-1dDYxp1JTb-00UZsu; Wed, 21 Jun 2017 23:00:50 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Wed, 21 Jun 2017 23:00:44 +0200 Message-Id: <20170621210047.24083-3-laurent@vivier.eu> X-Mailer: git-send-email 2.9.4 In-Reply-To: <20170621210047.24083-1-laurent@vivier.eu> References: <20170621210047.24083-1-laurent@vivier.eu> X-Provags-ID: V03:K0:M8iNwieJNg4SzFi/7Bplvk3QMtFxKlnA/IkmZAQDScbpge5Pdve yM4OBHDhJqqL2DDSwjLAijaKnzQpF00dL5Mb+bTAGPv3+4Z/eGmvDJZRpOPC+V9w2AE1XNu qRUYKTcMFupQyPIZxPKtDGDQoAos1XHcifT7iJuXopnW44NA5jBYDoyESH5lmo2BO+a1aOF UGAZ+neX6JoJsvvwOiJAw== X-UI-Out-Filterresults: notjunk:1; V01:K0:VyFuuzaGgNY=:snu08epzhx6KalI2WdwSn+ RERa01g5iQ19eY5xy9dYDeSGPkWcRne3x8+SXwsLojDBl13gQm7AqHuyd8QN5O/GJkigzDzT1 YkNqFyCHL7qIBZluI++hyieE+W8Jnig6LFZHMdwAbOIR9GsM7gGDSC2FNOj20PbnK7mlnYKdO /OnnV01HhCEaHz76njAix3yQsC1EIuOo4jzxKF7g05xE7E90DGshldJNqK1/dG1G5OIKG/HzK /GRD3/gggJQmB7jvurPZdhjRKMhs87ZRiuKNlqGxNPFtIJkmoSR0h7hTcjprlpSAzVS1erxRm H4kGagv9wxHCbPSxmn5rfFRqdFNKFmxmUjG4pHR4eVKLN6pOoQj1ouoaBbfkZYGXTc+dzrve+ iHYJ0+Xinnur7l1tAe1Y3ejc6xjxtW8uoYuzJPY3ESIvkOQ2mnD6pYNawONchycu9UbP03D08 8sZGq0StbjzT7zrIqnO6D3dqguEJYxD5nZkt790gnWuyw02lfKCwSF+tVo4+Y9G80MwGTfxCD FM2KrrW4K+SV836qydd11uUWsUvQEw7PxMSewvFbrZQnX4IZ0yjhXrxFyPPCb8doyNdmNggmK E7udFhliDPs8TpKxE+ZJN4sAQUDuUcqRZRFtR8+zLa/SaRVoKWakqLf8hMNqXwmFKlLQrASKR cVieS3HhRDTA19mgZGi1dXt/3JXOCyp3I6+bfXcPg1QSUhfPSvhh0M/wI3pVo5hVhj74= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.17.24 Subject: [Qemu-devel] [PULL 2/5] target-m68k: initialize FPU registers X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" on reset, set FP registers to NaN and control registers to 0 Signed-off-by: Laurent Vivier Reviewed-by: Richard Henderson Message-Id: <20170620205121.26515-3-laurent@vivier.eu> --- 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;