From 8e22b08de2745e08421b38f8ba215bcc1de4b423 Mon Sep 17 00:00:00 2001 From: Chris Patterson Date: Sat, 2 Nov 2013 15:52:13 -0400 Subject: 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 Signed-off-by: Chris Patterson Signed-off-by: Saul Wold --- meta/recipes-devtools/qemu/files/fdt_header.patch | 39 ----------- .../qemu/files/relocatable_sdk.patch | 34 ---------- ...-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch | 79 ---------------------- .../qemu/files/target-ppc_fix_bit_extraction.patch | 70 ------------------- meta/recipes-devtools/qemu/qemu.inc | 6 +- meta/recipes-devtools/qemu/qemu_1.5.0.bb | 16 ----- meta/recipes-devtools/qemu/qemu_1.6.1.bb | 17 +++++ 7 files changed, 18 insertions(+), 243 deletions(-) delete mode 100644 meta/recipes-devtools/qemu/files/fdt_header.patch delete mode 100644 meta/recipes-devtools/qemu/files/relocatable_sdk.patch delete mode 100644 meta/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch delete mode 100644 meta/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch delete mode 100644 meta/recipes-devtools/qemu/qemu_1.5.0.bb create mode 100644 meta/recipes-devtools/qemu/qemu_1.6.1.bb (limited to 'meta/recipes-devtools/qemu') 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 @@ -Upstream-Status: Pending - -qemu: define fdt types in libfdt_env.h from qemu - - * fixes - In file included from /home/oe/setup-scripts/build/tmp-angstrom_next-uclibc/sysroots/x86_64-linux/usr/include/libfdt.h:55:0, - 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: - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - /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' - -Index: qemu-1.4.0/include/libfdt_env.h -=================================================================== ---- qemu-1.4.0.orig/include/libfdt_env.h 2013-02-15 23:05:35.000000000 +0000 -+++ qemu-1.4.0/include/libfdt_env.h 2013-04-13 14:17:27.918885225 +0000 -@@ -21,6 +21,10 @@ - - #include "qemu/bswap.h" - -+typedef uint16_t fdt16_t; -+typedef uint32_t fdt32_t; -+typedef uint64_t fdt64_t; -+ - #ifdef HOST_WORDS_BIGENDIAN - #define fdt32_to_cpu(x) (x) - #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 @@ -Upstream-Status: Inappropriate [SDK specific] - -In order to be able to change the dynamic loader path when relocating -binaries, the interp section has to be made big enough to accomodate -the new path (4096 is the maximum path length in Linux). - -Signed-off-by: Laurentiu Palcu - -Index: qemu-1.4.0/ldscripts/i386.ld -=================================================================== ---- qemu-1.4.0.orig/ldscripts/i386.ld 2013-02-15 15:05:35.000000000 -0800 -+++ qemu-1.4.0/ldscripts/i386.ld 2013-02-28 22:55:36.138816418 -0800 -@@ -8,7 +8,7 @@ - { - /* Read-only sections, merged into text segment: */ - . = 0x60000000 + SIZEOF_HEADERS; -- .interp : { *(.interp) } -+ .interp : { *(.interp); . = 0x1000; } - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .dynstr : { *(.dynstr) } -Index: qemu-1.4.0/ldscripts/x86_64.ld -=================================================================== ---- qemu-1.4.0.orig/ldscripts/x86_64.ld 2013-02-15 15:05:35.000000000 -0800 -+++ qemu-1.4.0/ldscripts/x86_64.ld 2013-02-28 22:55:36.138816418 -0800 -@@ -6,7 +6,7 @@ - { - /* Read-only sections, merged into text segment: */ - . = 0x60000000 + SIZEOF_HEADERS; -- .interp : { *(.interp) } -+ .interp : { *(.interp); . = 0x1000; } - .hash : { *(.hash) } - .dynsym : { *(.dynsym) } - .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 @@ -Upstream-Status: Backported - -From dec3fc9657e0682637de4d5a29d947284d01985c Mon Sep 17 00:00:00 2001 -From: Richard Henderson -Date: Wed, 29 May 2013 12:30:51 -0700 -Subject: [PATCH] target-i386: Fix aflag logic for CODE64 and the 0x67 prefix - -The code reorganization in commit 4a6fd938 broke handling of PREFIX_ADR. -While fixing this, tidy and comment the code so that it's more obvious -what's going on in setting both aflag and dflag. - -The TARGET_X86_64 ifdef can be eliminated because CODE64 expands to the -constant zero when TARGET_X86_64 is undefined. - -Cc: Paolo Bonzini -Reported-by: Laszlo Ersek -Signed-off-by: Richard Henderson -Reviewed-by: Paolo Bonzini -Message-id: 1369855851-21400-1-git-send-email-rth@twiddle.net -Signed-off-by: Anthony Liguori ---- - target-i386/translate.c | 30 +++++++++++++++--------------- - 1 file changed, 15 insertions(+), 15 deletions(-) - -diff --git a/target-i386/translate.c b/target-i386/translate.c -index 0aeccdb..14b0298 100644 ---- a/target-i386/translate.c -+++ b/target-i386/translate.c -@@ -4677,8 +4677,6 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s, - } - s->pc = pc_start; - prefixes = 0; -- aflag = s->code32; -- dflag = s->code32; - s->override = -1; - rex_w = -1; - rex_r = 0; -@@ -4801,23 +4799,25 @@ static target_ulong disas_insn(CPUX86State *env, DisasContext *s, - } - - /* Post-process prefixes. */ -- if (prefixes & PREFIX_DATA) { -- dflag ^= 1; -- } -- if (prefixes & PREFIX_ADR) { -- aflag ^= 1; -- } --#ifdef TARGET_X86_64 - if (CODE64(s)) { -- if (rex_w == 1) { -- /* 0x66 is ignored if rex.w is set */ -- dflag = 2; -+ /* In 64-bit mode, the default data size is 32-bit. Select 64-bit -+ data with rex_w, and 16-bit data with 0x66; rex_w takes precedence -+ over 0x66 if both are present. */ -+ dflag = (rex_w > 0 ? 2 : prefixes & PREFIX_DATA ? 0 : 1); -+ /* In 64-bit mode, 0x67 selects 32-bit addressing. */ -+ aflag = (prefixes & PREFIX_ADR ? 1 : 2); -+ } else { -+ /* In 16/32-bit mode, 0x66 selects the opposite data size. */ -+ dflag = s->code32; -+ if (prefixes & PREFIX_DATA) { -+ dflag ^= 1; - } -- if (!(prefixes & PREFIX_ADR)) { -- aflag = 2; -+ /* In 16/32-bit mode, 0x67 selects the opposite addressing. */ -+ aflag = s->code32; -+ if (prefixes & PREFIX_ADR) { -+ aflag ^= 1; - } - } --#endif - - s->prefix = prefixes; - s->aflag = aflag; --- -1.7.9.5 - 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 @@ -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: -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 - (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 ) - 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 ) - id 1V9vnF-0002Lw-7L; Thu, 15 Aug 2013 13:32:41 +0200 -From: Aurelien Jarno -To: qemu-devel@nongnu.org -Cc: Khem Raj , - Alexander Graf , - qemu-stable@nongnu.org, - qemu-ppc@nongnu.org, - Aurelien Jarno -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 -Signed-off-by: Aurelien Jarno - -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); - 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 = "\ file://disable-grabs.patch \ " -SRC_URI_append_class-nativesdk = "\ - file://relocatable_sdk.patch \ - " - SRC_URI_append_class-native = "\ file://fix-libcap-header-issue-on-some-distro.patch \ " @@ -55,7 +51,7 @@ do_configure() { KVMOPTS="--enable-kvm" fi - ${S}/configure --prefix=${prefix} --sysconfdir=${sysconfdir} --libexecdir=${libexecdir} --disable-strip ${EXTRA_OECONF} $KVMOPTS + ${S}/configure --prefix=${prefix} --sysconfdir=${sysconfdir} --libexecdir=${libexecdir} --localstatedir=${localstatedir} --disable-strip ${EXTRA_OECONF} $KVMOPTS test ! -e ${S}/target-i386/beginend_funcs.sh || chmod a+x ${S}/target-i386/beginend_funcs.sh } 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 @@ -require qemu.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ - file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" - -SRC_URI += "file://fdt_header.patch \ - file://target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch \ - file://target-ppc_fix_bit_extraction.patch \ - file://fxrstorssefix.patch \ - " - -SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2" -SRC_URI[md5sum] = "b6f3265b8ed39d77e8f354f35cc26e16" -SRC_URI[sha256sum] = "b22b30ee9712568dfb4eedf76783f4a76546e1cbc41659b909646bcf0b4867bb" - -COMPATIBLE_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 @@ +require qemu.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ + file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" + +SRC_URI += "file://fxrstorssefix.patch" + +SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2" +SRC_URI[md5sum] = "3a897d722457c5a895cd6ac79a28fda0" +SRC_URI[sha256sum] = "fc736f44aa10478223c881310a7e40fc8386547e9cadf7d01ca4685951605294" + +COMPATIBLE_HOST_class-target_mips64 = "null" + +do_install_append() { + # Prevent QA warnings about installed ${localstatedir}/run + if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi +} -- cgit 1.2.3-korg