summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2013-08-15 06:56:49 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-08-16 11:44:18 +0100
commit2a48e9007cc92fedfdb6919411859fb943eacc94 (patch)
treef3db61d9740d0cf4d3f9e9ab995c4ca50d907a0d /meta
parent752df39cd22f0dfe9dd72a561d4f7ad09f84fae3 (diff)
downloadpoky-2a48e9007cc92fedfdb6919411859fb943eacc94.tar.gz
qemu: Fix bit extraction for MTFSFI and MTFSF
Power ISA 2.05 enhancements introduced regression in mtfsfi implementation. Fixed thusly [YOCTO #4854] (From OE-Core rev: b8952942aed77473d3b44a17112cbf6a9e83eff3) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch70
-rw-r--r--meta/recipes-devtools/qemu/qemu_1.5.0.bb4
2 files changed, 73 insertions, 1 deletions
diff --git a/meta/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch b/meta/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch
new file mode 100644
index 0000000000..631d23b191
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch
@@ -0,0 +1,70 @@
1Delivered-To: raj.khem@gmail.com
2Received: by 10.50.216.195 with SMTP id os3csp11191igc;
3 Thu, 15 Aug 2013 04:32:45 -0700 (PDT)
4X-Received: by 10.180.98.3 with SMTP id ee3mr1508103wib.48.1376566364872;
5 Thu, 15 Aug 2013 04:32:44 -0700 (PDT)
6Return-Path: <aurelien@aurel32.net>
7Received: from hall.aurel32.net (hall.aurel32.net. [2001:470:1f0b:4a8::1])
8 by mx.google.com with ESMTPS id vv5si15578100wjc.49.2013.08.15.04.32.44
9 for <raj.khem@gmail.com>
10 (version=TLSv1.2 cipher=RC4-SHA bits=128/128);
11 Thu, 15 Aug 2013 04:32:44 -0700 (PDT)
12Received-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;
13Authentication-Results: mx.google.com;
14 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
15Received: from [2001:470:d4ed:1:2db:dfff:fe14:52d] (helo=ohm.aurel32.net)
16 by hall.aurel32.net with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128)
17 (Exim 4.80)
18 (envelope-from <aurelien@aurel32.net>)
19 id 1V9vnG-0006cO-NN; Thu, 15 Aug 2013 13:32:42 +0200
20Received: from aurel32 by ohm.aurel32.net with local (Exim 4.80)
21 (envelope-from <aurelien@aurel32.net>)
22 id 1V9vnF-0002Lw-7L; Thu, 15 Aug 2013 13:32:41 +0200
23From: Aurelien Jarno <aurelien@aurel32.net>
24To: qemu-devel@nongnu.org
25Cc: Khem Raj <raj.khem@gmail.com>,
26 Alexander Graf <agraf@suse.de> ,
27 qemu-stable@nongnu.org,
28 qemu-ppc@nongnu.org,
29 Aurelien Jarno <aurelien@aurel32.net>
30Subject: [PATCH] target-ppc: fix bit extraction for FPBF and FPL
31Date: Thu, 15 Aug 2013 13:32:38 +0200
32Message-Id: <1376566358-8989-1-git-send-email-aurelien@aurel32.net>
33X-Mailer: git-send-email 1.7.10.4
34
35Bit extraction for the FP BF and L field of the MTFSFI and MTFSF
36instructions is wrong and doesn't match the reference manual (which
37explain the bit number in big endian format). It has been broken in
38commit 7d08d85645def18eac2a9d672c1868a35e0bcf79.
39
40This patch fixes this, which in turn fixes the problem reported by
41Khem Raj about the floor() function of libm.
42
43Reported-by: Khem Raj <raj.khem@gmail.com>
44Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
45
46Upstream-Status: Backport
47
48---
49 target-ppc/translate.c | 4 ++--
50 1 file changed, 2 insertions(+), 2 deletions(-)
51
52I don't know if we still have time to get this into 1.6, hence the Cc:
53to stable. In anycase it also needs to be fixed in 1.5.
54
55Index: qemu-1.5.0/target-ppc/translate.c
56===================================================================
57--- qemu-1.5.0.orig/target-ppc/translate.c 2013-05-20 08:34:40.000000000 -0700
58+++ qemu-1.5.0/target-ppc/translate.c 2013-08-15 06:49:25.028144352 -0700
59@@ -428,9 +428,9 @@
60 EXTRACT_HELPER(SR, 16, 4);
61
62 /* mtfsf/mtfsfi */
63-EXTRACT_HELPER(FPBF, 19, 3);
64+EXTRACT_HELPER(FPBF, 23, 3);
65 EXTRACT_HELPER(FPIMM, 12, 4);
66-EXTRACT_HELPER(FPL, 21, 1);
67+EXTRACT_HELPER(FPL, 25, 1);
68 EXTRACT_HELPER(FPFLM, 17, 8);
69 EXTRACT_HELPER(FPW, 16, 1);
70
diff --git a/meta/recipes-devtools/qemu/qemu_1.5.0.bb b/meta/recipes-devtools/qemu/qemu_1.5.0.bb
index 91b8120cc3..d6dd743bb0 100644
--- a/meta/recipes-devtools/qemu/qemu_1.5.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_1.5.0.bb
@@ -4,7 +4,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
4 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" 4 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
5 5
6SRC_URI += "file://fdt_header.patch \ 6SRC_URI += "file://fdt_header.patch \
7 file://target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch" 7 file://target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch \
8 file://target-ppc_fix_bit_extraction.patch \
9 "
8 10
9SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2" 11SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2"
10SRC_URI[md5sum] = "b6f3265b8ed39d77e8f354f35cc26e16" 12SRC_URI[md5sum] = "b6f3265b8ed39d77e8f354f35cc26e16"