summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu
diff options
context:
space:
mode:
authorChris Patterson <cjp256@gmail.com>2013-11-02 15:52:13 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-11-05 22:04:29 +0000
commit6a3e200e2862889e28da3b40ebce71b41f0410e1 (patch)
treecfa1c147d5058f63998fa0535d19c51aeca1e0c8 /meta/recipes-devtools/qemu
parent10961366017af9fb87405878d55dcabaca5edc20 (diff)
downloadpoky-6a3e200e2862889e28da3b40ebce71b41f0410e1.tar.gz
qemu: upgrade to 1.6.1
This update also drops the following patches which appear to have been resolved upstream: - ftd_header.patch - target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch - target-ppc_fix_bit_extraction.patch Qemu no longer uses the i386.ld and x86_64.ld linker scripts and the .interp section should now have a 0x1000 size with the proper path. Therefore, for nativesdk-qemu, the following patch should no longer be required and is also dropped: - relocatable_sdk.patch (From OE-Core rev: 8e22b08de2745e08421b38f8ba215bcc1de4b423) Signed-off-by: Chris Patterson <cjp256@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu')
-rw-r--r--meta/recipes-devtools/qemu/files/fdt_header.patch39
-rw-r--r--meta/recipes-devtools/qemu/files/relocatable_sdk.patch34
-rw-r--r--meta/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch79
-rw-r--r--meta/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch70
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc6
-rw-r--r--meta/recipes-devtools/qemu/qemu_1.5.0.bb16
-rw-r--r--meta/recipes-devtools/qemu/qemu_1.6.1.bb17
7 files changed, 18 insertions, 243 deletions
diff --git a/meta/recipes-devtools/qemu/files/fdt_header.patch b/meta/recipes-devtools/qemu/files/fdt_header.patch
deleted file mode 100644
index dccfe53143..0000000000
--- a/meta/recipes-devtools/qemu/files/fdt_header.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1Upstream-Status: Pending
2
3qemu: define fdt types in libfdt_env.h from qemu
4
5 * fixes
6 In file included from /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/libfdt.h:55:0,
7 from /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/work/x86_64-linux/qemu-native/1.4.0-r0/qemu-1.4.0/hw/arm/../../device_tree.c:28:
8 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:58:2: error: unknown type name 'fdt32_t'
9 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:59:2: error: unknown type name 'fdt32_t'
10 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:60:2: error: unknown type name 'fdt32_t'
11 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:61:2: error: unknown type name 'fdt32_t'
12 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:62:2: error: unknown type name 'fdt32_t'
13 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:63:2: error: unknown type name 'fdt32_t'
14 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:64:2: error: unknown type name 'fdt32_t'
15 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:67:2: error: unknown type name 'fdt32_t'
16 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:70:2: error: unknown type name 'fdt32_t'
17 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:73:2: error: unknown type name 'fdt32_t'
18 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:77:2: error: unknown type name 'fdt64_t'
19 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:78:2: error: unknown type name 'fdt64_t'
20 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:82:2: error: unknown type name 'fdt32_t'
21 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:87:2: error: unknown type name 'fdt32_t'
22 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:88:2: error: unknown type name 'fdt32_t'
23 /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/fdt.h:89:2: error: unknown type name 'fdt32_t'
24
25Index: qemu-1.4.0/include/libfdt_env.h
26===================================================================
27--- qemu-1.4.0.orig/include/libfdt_env.h 2013-02-15 23:05:35.000000000 +0000
28+++ qemu-1.4.0/include/libfdt_env.h 2013-04-13 14:17:27.918885225 +0000
29@@ -21,6 +21,10 @@
30
31 #include "qemu/bswap.h"
32
33+typedef uint16_t fdt16_t;
34+typedef uint32_t fdt32_t;
35+typedef uint64_t fdt64_t;
36+
37 #ifdef HOST_WORDS_BIGENDIAN
38 #define fdt32_to_cpu(x) (x)
39 #define cpu_to_fdt32(x) (x)
diff --git a/meta/recipes-devtools/qemu/files/relocatable_sdk.patch b/meta/recipes-devtools/qemu/files/relocatable_sdk.patch
deleted file mode 100644
index 774a49c774..0000000000
--- a/meta/recipes-devtools/qemu/files/relocatable_sdk.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1Upstream-Status: Inappropriate [SDK specific]
2
3In order to be able to change the dynamic loader path when relocating
4binaries, the interp section has to be made big enough to accomodate
5the new path (4096 is the maximum path length in Linux).
6
7Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
8
9Index: qemu-1.4.0/ldscripts/i386.ld
10===================================================================
11--- qemu-1.4.0.orig/ldscripts/i386.ld 2013-02-15 15:05:35.000000000 -0800
12+++ qemu-1.4.0/ldscripts/i386.ld 2013-02-28 22:55:36.138816418 -0800
13@@ -8,7 +8,7 @@
14 {
15 /* Read-only sections, merged into text segment: */
16 . = 0x60000000 + SIZEOF_HEADERS;
17- .interp : { *(.interp) }
18+ .interp : { *(.interp); . = 0x1000; }
19 .hash : { *(.hash) }
20 .dynsym : { *(.dynsym) }
21 .dynstr : { *(.dynstr) }
22Index: qemu-1.4.0/ldscripts/x86_64.ld
23===================================================================
24--- qemu-1.4.0.orig/ldscripts/x86_64.ld 2013-02-15 15:05:35.000000000 -0800
25+++ qemu-1.4.0/ldscripts/x86_64.ld 2013-02-28 22:55:36.138816418 -0800
26@@ -6,7 +6,7 @@
27 {
28 /* Read-only sections, merged into text segment: */
29 . = 0x60000000 + SIZEOF_HEADERS;
30- .interp : { *(.interp) }
31+ .interp : { *(.interp); . = 0x1000; }
32 .hash : { *(.hash) }
33 .dynsym : { *(.dynsym) }
34 .dynstr : { *(.dynstr) }
diff --git a/meta/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch b/meta/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch
deleted file mode 100644
index 852efd1cc9..0000000000
--- a/meta/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch
+++ /dev/null
@@ -1,79 +0,0 @@
1Upstream-Status: Backported
2
3From dec3fc9657e0682637de4d5a29d947284d01985c Mon Sep 17 00:00:00 2001
4From: Richard Henderson <rth@twiddle.net>
5Date: Wed, 29 May 2013 12:30:51 -0700
6Subject: [PATCH] target-i386: Fix aflag logic for CODE64 and the 0x67 prefix
7
8The code reorganization in commit 4a6fd938 broke handling of PREFIX_ADR.
9While fixing this, tidy and comment the code so that it's more obvious
10what's going on in setting both aflag and dflag.
11
12The TARGET_X86_64 ifdef can be eliminated because CODE64 expands to the
13constant zero when TARGET_X86_64 is undefined.
14
15Cc: Paolo Bonzini <pbonzini@redhat.com>
16Reported-by: Laszlo Ersek <lersek@redhat.com>
17Signed-off-by: Richard Henderson <rth@twiddle.net>
18Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
19Message-id: 1369855851-21400-1-git-send-email-rth@twiddle.net
20Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
21---
22 target-i386/translate.c | 30 +++++++++++++++---------------
23 1 file changed, 15 insertions(+), 15 deletions(-)
24
25diff --git a/target-i386/translate.c b/target-i386/translate.c
26index 0aeccdb..14b0298 100644
27--- a/target-i386/translate.c
28+++ b/target-i386/translate.c
29@@ -4677,8 +4677,6 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
30 }
31 s->pc = pc_start;
32 prefixes = 0;
33- aflag = s->code32;
34- dflag = s->code32;
35 s->override = -1;
36 rex_w = -1;
37 rex_r = 0;
38@@ -4801,23 +4799,25 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s,
39 }
40
41 /* Post-process prefixes. */
42- if (prefixes & PREFIX_DATA) {
43- dflag ^= 1;
44- }
45- if (prefixes & PREFIX_ADR) {
46- aflag ^= 1;
47- }
48-#ifdef TARGET_X86_64
49 if (CODE64(s)) {
50- if (rex_w == 1) {
51- /* 0x66 is ignored if rex.w is set */
52- dflag = 2;
53+ /* In 64-bit mode, the default data size is 32-bit. Select 64-bit
54+ data with rex_w, and 16-bit data with 0x66; rex_w takes precedence
55+ over 0x66 if both are present. */
56+ dflag = (rex_w > 0 ? 2 : prefixes & PREFIX_DATA ? 0 : 1);
57+ /* In 64-bit mode, 0x67 selects 32-bit addressing. */
58+ aflag = (prefixes & PREFIX_ADR ? 1 : 2);
59+ } else {
60+ /* In 16/32-bit mode, 0x66 selects the opposite data size. */
61+ dflag = s->code32;
62+ if (prefixes & PREFIX_DATA) {
63+ dflag ^= 1;
64 }
65- if (!(prefixes & PREFIX_ADR)) {
66- aflag = 2;
67+ /* In 16/32-bit mode, 0x67 selects the opposite addressing. */
68+ aflag = s->code32;
69+ if (prefixes & PREFIX_ADR) {
70+ aflag ^= 1;
71 }
72 }
73-#endif
74
75 s->prefix = prefixes;
76 s->aflag = aflag;
77--
781.7.9.5
79
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
deleted file mode 100644
index 631d23b191..0000000000
--- a/meta/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch
+++ /dev/null
@@ -1,70 +0,0 @@
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.inc b/meta/recipes-devtools/qemu/qemu.inc
index 1b861d7dc9..702fe01195 100644
--- a/meta/recipes-devtools/qemu/qemu.inc
+++ b/meta/recipes-devtools/qemu/qemu.inc
@@ -20,10 +20,6 @@ SRC_URI = "\
20 file://disable-grabs.patch \ 20 file://disable-grabs.patch \
21 " 21 "
22 22
23SRC_URI_append_class-nativesdk = "\
24 file://relocatable_sdk.patch \
25 "
26
27SRC_URI_append_class-native = "\ 23SRC_URI_append_class-native = "\
28 file://fix-libcap-header-issue-on-some-distro.patch \ 24 file://fix-libcap-header-issue-on-some-distro.patch \
29 " 25 "
@@ -55,7 +51,7 @@ do_configure() {
55 KVMOPTS="--enable-kvm" 51 KVMOPTS="--enable-kvm"
56 fi 52 fi
57 53
58 ${S}/configure --prefix=${prefix} --sysconfdir=${sysconfdir} --libexecdir=${libexecdir} --disable-strip ${EXTRA_OECONF} $KVMOPTS 54 ${S}/configure --prefix=${prefix} --sysconfdir=${sysconfdir} --libexecdir=${libexecdir} --localstatedir=${localstatedir} --disable-strip ${EXTRA_OECONF} $KVMOPTS
59 test ! -e ${S}/target-i386/beginend_funcs.sh || chmod a+x ${S}/target-i386/beginend_funcs.sh 55 test ! -e ${S}/target-i386/beginend_funcs.sh || chmod a+x ${S}/target-i386/beginend_funcs.sh
60} 56}
61 57
diff --git a/meta/recipes-devtools/qemu/qemu_1.5.0.bb b/meta/recipes-devtools/qemu/qemu_1.5.0.bb
deleted file mode 100644
index 06c2cdba63..0000000000
--- a/meta/recipes-devtools/qemu/qemu_1.5.0.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1require qemu.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
4 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
5
6SRC_URI += "file://fdt_header.patch \
7 file://target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch \
8 file://target-ppc_fix_bit_extraction.patch \
9 file://fxrstorssefix.patch \
10 "
11
12SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2"
13SRC_URI[md5sum] = "b6f3265b8ed39d77e8f354f35cc26e16"
14SRC_URI[sha256sum] = "b22b30ee9712568dfb4eedf76783f4a76546e1cbc41659b909646bcf0b4867bb"
15
16COMPATIBLE_HOST_class-target_mips64 = "null"
diff --git a/meta/recipes-devtools/qemu/qemu_1.6.1.bb b/meta/recipes-devtools/qemu/qemu_1.6.1.bb
new file mode 100644
index 0000000000..03e28a0fcb
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu_1.6.1.bb
@@ -0,0 +1,17 @@
1require qemu.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
4 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
5
6SRC_URI += "file://fxrstorssefix.patch"
7
8SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2"
9SRC_URI[md5sum] = "3a897d722457c5a895cd6ac79a28fda0"
10SRC_URI[sha256sum] = "fc736f44aa10478223c881310a7e40fc8386547e9cadf7d01ca4685951605294"
11
12COMPATIBLE_HOST_class-target_mips64 = "null"
13
14do_install_append() {
15 # Prevent QA warnings about installed ${localstatedir}/run
16 if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
17}