71 lines
3.0 KiB
Diff
71 lines
3.0 KiB
Diff
Delivered-To: raj.khem@gmail.com
|
|
Received: by 10.50.216.195 with SMTP id os3csp11191igc;
|
|
Thu, 15 Aug 2013 04:32:45 -0700 (PDT)
|
|
X-Received: by 10.180.98.3 with SMTP id ee3mr1508103wib.48.1376566364872;
|
|
Thu, 15 Aug 2013 04:32:44 -0700 (PDT)
|
|
Return-Path: <aurelien@aurel32.net>
|
|
Received: from hall.aurel32.net (hall.aurel32.net. [2001:470:1f0b:4a8::1])
|
|
by mx.google.com with ESMTPS id vv5si15578100wjc.49.2013.08.15.04.32.44
|
|
for <raj.khem@gmail.com>
|
|
(version=TLSv1.2 cipher=RC4-SHA bits=128/128);
|
|
Thu, 15 Aug 2013 04:32:44 -0700 (PDT)
|
|
Received-SPF: pass (google.com: best guess record for domain of aurelien@aurel32.net designates 2001:470:1f0b:4a8::1 as permitted sender) client-ip=2001:470:1f0b:4a8::1;
|
|
Authentication-Results: mx.google.com;
|
|
spf=pass (google.com: best guess record for domain of aurelien@aurel32.net designates 2001:470:1f0b:4a8::1 as permitted sender) smtp.mail=aurelien@aurel32.net
|
|
Received: from [2001:470:d4ed:1:2db:dfff:fe14:52d] (helo=ohm.aurel32.net)
|
|
by hall.aurel32.net with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128)
|
|
(Exim 4.80)
|
|
(envelope-from <aurelien@aurel32.net>)
|
|
id 1V9vnG-0006cO-NN; Thu, 15 Aug 2013 13:32:42 +0200
|
|
Received: from aurel32 by ohm.aurel32.net with local (Exim 4.80)
|
|
(envelope-from <aurelien@aurel32.net>)
|
|
id 1V9vnF-0002Lw-7L; Thu, 15 Aug 2013 13:32:41 +0200
|
|
From: Aurelien Jarno <aurelien@aurel32.net>
|
|
To: qemu-devel@nongnu.org
|
|
Cc: Khem Raj <raj.khem@gmail.com>,
|
|
Alexander Graf <agraf@suse.de> ,
|
|
qemu-stable@nongnu.org,
|
|
qemu-ppc@nongnu.org,
|
|
Aurelien Jarno <aurelien@aurel32.net>
|
|
Subject: [PATCH] target-ppc: fix bit extraction for FPBF and FPL
|
|
Date: Thu, 15 Aug 2013 13:32:38 +0200
|
|
Message-Id: <1376566358-8989-1-git-send-email-aurelien@aurel32.net>
|
|
X-Mailer: git-send-email 1.7.10.4
|
|
|
|
Bit extraction for the FP BF and L field of the MTFSFI and MTFSF
|
|
instructions is wrong and doesn't match the reference manual (which
|
|
explain the bit number in big endian format). It has been broken in
|
|
commit 7d08d85645def18eac2a9d672c1868a35e0bcf79.
|
|
|
|
This patch fixes this, which in turn fixes the problem reported by
|
|
Khem Raj about the floor() function of libm.
|
|
|
|
Reported-by: Khem Raj <raj.khem@gmail.com>
|
|
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
|
|
|
|
Upstream-Status: Backport
|
|
|
|
---
|
|
target-ppc/translate.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
I don't know if we still have time to get this into 1.6, hence the Cc:
|
|
to stable. In anycase it also needs to be fixed in 1.5.
|
|
|
|
Index: qemu-1.5.0/target-ppc/translate.c
|
|
===================================================================
|
|
--- qemu-1.5.0.orig/target-ppc/translate.c 2013-05-20 08:34:40.000000000 -0700
|
|
+++ qemu-1.5.0/target-ppc/translate.c 2013-08-15 06:49:25.028144352 -0700
|
|
@@ -428,9 +428,9 @@
|
|
EXTRACT_HELPER(SR, 16, 4);
|
|
|
|
/* mtfsf/mtfsfi */
|
|
-EXTRACT_HELPER(FPBF, 19, 3);
|
|
+EXTRACT_HELPER(FPBF, 23, 3);
|
|
EXTRACT_HELPER(FPIMM, 12, 4);
|
|
-EXTRACT_HELPER(FPL, 21, 1);
|
|
+EXTRACT_HELPER(FPL, 25, 1);
|
|
EXTRACT_HELPER(FPFLM, 17, 8);
|
|
EXTRACT_HELPER(FPW, 16, 1);
|
|
|