From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48092) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dNpas-00040h-2b for qemu-devel@nongnu.org; Wed, 21 Jun 2017 20:03:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dNpao-00065o-VE for qemu-devel@nongnu.org; Wed, 21 Jun 2017 20:03:30 -0400 Date: Wed, 21 Jun 2017 17:03:08 -0700 From: Aaron Larson Message-Id: <201706220003.v5M038Ns005683@linux03a.ddci.com> Subject: [Qemu-devel] [PATCH] target-ppc: SPR_BOOKE_ESR not set on FP exceptions List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: agraf@suse.de, alarson@ddci.com, david@gibson.dropbear.id.au, qemu-devel@nongnu.org, qemu-ppc@nongnu.org Properly set the book E exception syndrome register when a floating point exception occurs. Currently on a book E processor, the POWERPC_EXCP_FP exception handler fails to set "env->spr[SPR_BOOKE_ESR] = ESR_FP;" as required by the book E specification. Signed-off-by: Aaron Larson --- target/ppc/excp_helper.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c index 9cb2123..7a82bdd 100644 --- a/target/ppc/excp_helper.c +++ b/target/ppc/excp_helper.c @@ -282,6 +282,7 @@ static inline void powerpc_excp(PowerPCCPU *cpu, int excp_model, int excp) * precise in the MSR. */ msr |= 0x00100000; + env->spr[SPR_BOOKE_ESR] = ESR_FP; break; case POWERPC_EXCP_INVAL: LOG_EXCP("Invalid instruction at " TARGET_FMT_lx "\n", env->nip); -- 2.7.4