Hi,
With these two patches, I can boot the genericarmv8 kernel from qemu with the following command: ./tmp-glibc/sysroots/x86_64-linux/usr/bin/qemu-system-aarch64 -kernel ./tmp-glibc/deploy/images/genericarmv8/Image-genericarmv8.bin -machine virt -cpu cortex-a57 -drive id=disk0,file=./tmp-glibc/deploy/images/genericarmv8/linaro-image-minimal-genericarmv8.ext3 -device virtio-blk-device,drive=disk0 -nographic -no-reboot -m 512 --append "root=/dev/vda rw console=ttyAMA0,38400 mem=512M highres=off ip=192.168.7.2::192.168.7.1:255.255.255.0 "
Kevin Hao (2): qemu: drop it to use the one in oe-core genericarmv8: add the support for boot from qemu
meta-aarch64/conf/machine/genericarmv8.conf | 4 + .../3f08ffb4a4741d147634761dc053ed386243a0de.patch | 42 ----------- .../qemu/files/enable-i386-linux-user.patch | 55 -------------- .../recipes-devtools/qemu/files/fdt_header.patch | 39 ---------- .../fix-libcap-header-issue-on-some-distro.patch | 84 --------------------- .../recipes-devtools/qemu/files/init-info.patch | 18 ----- .../qemu/files/larger_default_ram_size.patch | 22 ------ .../recipes-devtools/qemu/files/no-strip.patch | 15 ---- .../recipes-devtools/qemu/files/powerpc_rom.bin | Bin 4096 -> 0 bytes .../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-linaro/recipes-devtools/qemu/qemu_git.bb | 25 ------ 13 files changed, 4 insertions(+), 483 deletions(-) delete mode 100644 meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/fdt_header.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/init-info.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/no-strip.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin delete mode 100644 meta-linaro/recipes-devtools/qemu/files/relocatable_sdk.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/qemu_git.bb
The qemu in oe-core has updated to the latest version and also has the system mode support for aarch64.
Signed-off-by: Kevin Hao kexin.hao@windriver.com --- .../3f08ffb4a4741d147634761dc053ed386243a0de.patch | 42 ----------- .../qemu/files/enable-i386-linux-user.patch | 55 -------------- .../recipes-devtools/qemu/files/fdt_header.patch | 39 ---------- .../fix-libcap-header-issue-on-some-distro.patch | 84 --------------------- .../recipes-devtools/qemu/files/init-info.patch | 18 ----- .../qemu/files/larger_default_ram_size.patch | 22 ------ .../recipes-devtools/qemu/files/no-strip.patch | 15 ---- .../recipes-devtools/qemu/files/powerpc_rom.bin | Bin 4096 -> 0 bytes .../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-linaro/recipes-devtools/qemu/qemu_git.bb | 25 ------ 12 files changed, 483 deletions(-) delete mode 100644 meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/fdt_header.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/init-info.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/no-strip.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin delete mode 100644 meta-linaro/recipes-devtools/qemu/files/relocatable_sdk.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/qemu_git.bb
diff --git a/meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch b/meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch deleted file mode 100644 index 4390b943b97c..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch +++ /dev/null @@ -1,42 +0,0 @@ -Upstream-Status: Backport - -[Appears to fix the random segfaults we were seeing in a variety of architectures: -https://bugzilla.yoctoproject.org/show_bug.cgi?id=4216 ] - - -From: Yeongkyoon Lee yeongkyoon.lee@samsung.com -Date: Fri, 22 Mar 2013 12:50:17 +0000 (+0900) -Subject: tcg: Fix occasional TCG broken problem when ldst optimization enabled -X-Git-Url: http://git.qemu.org/?p=qemu.git%3Ba=commitdiff_plain%3Bh=52ae646d4a3ebdcdcc9... - -tcg: Fix occasional TCG broken problem when ldst optimization enabled - -is_tcg_gen_code() checks the upper limit of TCG generated code range wrong, so -that TCG could get broken occasionally only when CONFIG_QEMU_LDST_OPTIMIZATION -enabled. The reason is code_gen_buffer_max_size does not cover the upper range -up to (TCG_MAX_OP_SIZE * OPC_BUF_SIZE), thus code_gen_buffer_max_size should be -modified to code_gen_buffer_size. - -CC: qemu-stable@nongnu.org -Signed-off-by: Yeongkyoon Lee yeongkyoon.lee@samsung.com -Reviewed-by: Peter Maydell peter.maydell@linaro.org -Signed-off-by: Aurelien Jarno aurelien@aurel32.net ---- - -Index: qemu-1.4.0/translate-all.c -=================================================================== ---- qemu-1.4.0.orig/translate-all.c 2013-04-09 10:58:19.000000000 +0000 -+++ qemu-1.4.0/translate-all.c 2013-04-09 10:58:34.783203406 +0000 -@@ -1310,10 +1310,10 @@ - /* check whether the given addr is in TCG generated code buffer or not */ - bool is_tcg_gen_code(uintptr_t tc_ptr) - { -- /* This can be called during code generation, code_gen_buffer_max_size -+ /* This can be called during code generation, code_gen_buffer_size - is used instead of code_gen_ptr for upper boundary checking */ - return (tc_ptr >= (uintptr_t)code_gen_buffer && -- tc_ptr < (uintptr_t)(code_gen_buffer + code_gen_buffer_max_size)); -+ tc_ptr < (uintptr_t)(code_gen_buffer + code_gen_buffer_size)); - } - #endif - diff --git a/meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch b/meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch deleted file mode 100644 index bb0d6a384845..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch +++ /dev/null @@ -1,55 +0,0 @@ -Enable i386-linux-user - -Signed-off-by: Zhai Edwin edwin.zhai@intel.com - -Upstream-Status: Inappropriate [configuration] - -Index: qemu-0.14.0/Makefile.target -=================================================================== ---- qemu-0.14.0.orig/Makefile.target -+++ qemu-0.14.0/Makefile.target -@@ -78,8 +78,13 @@ ifeq ($(TARGET_BASE_ARCH), i386) - libobj-y += cpuid.o - endif - libobj-$(CONFIG_NEED_MMU) += mmu.o -+ifndef CONFIG_LINUX_USER - libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o - libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o -+else -+libobj-$(TARGET_I386) += dummygl.o -+libobj-$(TARGET_X86_64) += dummygl.o -+endif #CONFIG_LINUX_USER - libobj-$(TARGET_ARM) += dummygl.o - libobj-$(TARGET_MIPS) += dummygl.o - libobj-$(TARGET_PPC) += dummygl.o -Index: qemu-0.14.0/target-i386/dummygl.c -=================================================================== ---- /dev/null -+++ qemu-0.14.0/target-i386/dummygl.c -@@ -0,0 +1,26 @@ -+#include <string.h> -+#include <stdlib.h> -+#include <assert.h> -+#include <stdint.h> -+#include <X11/Xlib.h> -+#include <X11/Xutil.h> -+ -+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window) -+{ -+ -+} -+ -+void opengl_process_enable(void) -+{ -+ -+} -+ -+ -+void mem_opengl(uint64_t ptr) -+{ -+ -+} -+ -+void helper_opengl(void) -+{ -+} diff --git a/meta-linaro/recipes-devtools/qemu/files/fdt_header.patch b/meta-linaro/recipes-devtools/qemu/files/fdt_header.patch deleted file mode 100644 index dccfe53143c5..000000000000 --- a/meta-linaro/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-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch b/meta-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch deleted file mode 100644 index 13a6ea23b150..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch +++ /dev/null @@ -1,84 +0,0 @@ -fix libcap header issue on some distro - -1, When build qemu-native on SLED 11.2, there is an error: -... -| In file included from /usr/include/bits/sigcontext.h:28, -| from /usr/include/signal.h:339, -| from /buildarea2/tmp/work/i686-linux/qemu-native/1.4.0-r0/ -qemu-1.4.0/include/qemu-common.h:42, -| from fsdev/virtfs-proxy-helper.c:23: -| /usr/include/asm/sigcontext.h:28: error: expected specifier- -qualifier-list before '__u64' -| /usr/include/asm/sigcontext.h:191: error: expected specifier- -qualifier-list before '__u64' -... - -2, The virtfs-proxy-helper.c includes <sys/capability.h> and -qemu-common.h in sequence. The header include map is: -(`-->' presents `include') -... -"virtfs-proxy-helper.c" --> <sys/capability.h> -... -"virtfs-proxy-helper.c" --> "qemu-common.h" --> <signal.h> --> -<bits/sigcontext.h> --> <asm/sigcontext.h> --> <linux/types.h> --> -<asm/types.h> --> <asm-generic/types.h> --> <asm-generic/int-ll64.h> -... - -3, The bug is found on SLED 11.2 x86. In libcap header file -/usr/include/sys/capability.h, it does evil stuff like this: -... - 25 /* - 26 * Make sure we can be included from userland by preventing - 27 * capability.h from including other kernel headers - 28 */ - 29 #define _LINUX_TYPES_H - 30 #define _LINUX_FS_H - 31 #define __LINUX_COMPILER_H - 32 #define __user - 33 - 34 typedef unsigned int __u32; - 35 typedef __u32 __le32; -... -This completely prevents including /usr/include/linux/types.h. -The above `<asm/sigcontext.h> --> <linux/types.h>' is prevented, -and '__u64' is defined in <asm-generic/int-ll64.h>. - -4, Modify virtfs-proxy-helper.c to include <sys/capability.h> -last to workaround the issue. - -http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html -http://patchwork.linuxtv.org/patch/12748/ - -Upstream-Status: Pending -Signed-off-by: Hongxu Jia hongxu.jia@windriver.com ---- - fsdev/virtfs-proxy-helper.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c ---- a/fsdev/virtfs-proxy-helper.c -+++ b/fsdev/virtfs-proxy-helper.c -@@ -12,7 +12,6 @@ - #include <sys/resource.h> - #include <getopt.h> - #include <syslog.h> --#include <sys/capability.h> - #include <sys/fsuid.h> - #include <sys/vfs.h> - #include <sys/ioctl.h> -@@ -26,7 +25,11 @@ - #include "virtio-9p-marshal.h" - #include "hw/9pfs/virtio-9p-proxy.h" - #include "fsdev/virtio-9p-marshal.h" -- -+/* -+ * Include this one last due to some versions of it being buggy: -+ * http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html -+ */ -+#include <sys/capability.h> - #define PROGNAME "virtfs-proxy-helper" - - #ifndef XFS_SUPER_MAGIC --- -1.7.10.4 - diff --git a/meta-linaro/recipes-devtools/qemu/files/init-info.patch b/meta-linaro/recipes-devtools/qemu/files/init-info.patch deleted file mode 100644 index 2250444a2ba0..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/init-info.patch +++ /dev/null @@ -1,18 +0,0 @@ -# This is a workaround to the crashes seen on Ubuntu. Setting info to zero -# makes info.info.x11.display zero and avoids the calls to -# opengl_exec_set_parent_window, one of which is crashing. - -Upstream-Status: Pending - -Index: qemu-0.14.0/ui/sdl.c -=================================================================== ---- qemu-0.14.0.orig/ui/sdl.c -+++ qemu-0.14.0/ui/sdl.c -@@ -863,6 +863,7 @@ void sdl_display_init(DisplayState *ds, - vi = SDL_GetVideoInfo(); - host_format = *(vi->vfmt); - -+ bzero(&info, sizeof(info)); - SDL_GetWMInfo(&info); - if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display) - opengl_exec_set_parent_window(info.info.x11.display, diff --git a/meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch b/meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch deleted file mode 100644 index 711c36071d6d..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch +++ /dev/null @@ -1,22 +0,0 @@ -This patch is taken from debian. 128M is too less sometimes if distro -with lot of packages is booted so this patch raises the default to 384M - -It has not been applied to upstream qemu - -Khem Raj raj.khem@gmail.com - -Upstream-Status: Pending - -Index: qemu-0.14.0/vl.c -=================================================================== ---- qemu-0.14.0.orig/vl.c -+++ qemu-0.14.0/vl.c -@@ -168,7 +168,7 @@ int main(int argc, char **argv) - //#define DEBUG_NET - //#define DEBUG_SLIRP - --#define DEFAULT_RAM_SIZE 128 -+#define DEFAULT_RAM_SIZE 384 - - #define MAX_VIRTIO_CONSOLES 1 - diff --git a/meta-linaro/recipes-devtools/qemu/files/no-strip.patch b/meta-linaro/recipes-devtools/qemu/files/no-strip.patch deleted file mode 100644 index d6a4377cd0a0..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/no-strip.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: qemu-0.14.0/Makefile -=================================================================== ---- qemu-0.14.0.orig/Makefile -+++ qemu-0.14.0/Makefile -@@ -235,7 +235,7 @@ install-sysconfig: - install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig - $(INSTALL_DIR) "$(DESTDIR)$(bindir)" - ifneq ($(TOOLS),) -- $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)" -+ $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)" - endif - ifneq ($(BLOBS),) - $(INSTALL_DIR) "$(DESTDIR)$(datadir)" diff --git a/meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin b/meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin deleted file mode 100644 index c4044296c515..000000000000 Binary files a/meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin and /dev/null differ diff --git a/meta-linaro/recipes-devtools/qemu/files/relocatable_sdk.patch b/meta-linaro/recipes-devtools/qemu/files/relocatable_sdk.patch deleted file mode 100644 index 774a49c774ca..000000000000 --- a/meta-linaro/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 laurentiu.palcu@intel.com - -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-linaro/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch b/meta-linaro/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch deleted file mode 100644 index 852efd1cc9f6..000000000000 --- a/meta-linaro/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 rth@twiddle.net -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 pbonzini@redhat.com -Reported-by: Laszlo Ersek lersek@redhat.com -Signed-off-by: Richard Henderson rth@twiddle.net -Reviewed-by: Paolo Bonzini pbonzini@redhat.com -Message-id: 1369855851-21400-1-git-send-email-rth@twiddle.net -Signed-off-by: Anthony Liguori aliguori@us.ibm.com ---- - 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-linaro/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch b/meta-linaro/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch deleted file mode 100644 index 631d23b1917d..000000000000 --- a/meta-linaro/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: 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); - diff --git a/meta-linaro/recipes-devtools/qemu/qemu_git.bb b/meta-linaro/recipes-devtools/qemu/qemu_git.bb deleted file mode 100644 index bdd41cebc6db..000000000000 --- a/meta-linaro/recipes-devtools/qemu/qemu_git.bb +++ /dev/null @@ -1,25 +0,0 @@ -require recipes-devtools/qemu/qemu.inc - -DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11 pixman dtc libsdl jpeg" -DEPENDS_class-native = "zlib-native alsa-lib-native glib-2.0-native pixman-native dtc-native" -DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-libsdl nativesdk-glib-2.0 nativesdk-pixman nativesdk-dtc" - -SRCREV = "541bbb07eb197a870661ed702ae1f15c7d46aea6" - -LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ - file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" - -PV = "2.1.0+git${SRCPV}" - -SRC_URI = "git://git.qemu.org/qemu.git \ - file://powerpc_rom.bin \ - " - -S = "${WORKDIR}/git" -EXTRA_OECONF+="--enable-kvm --enable-fdt " -EXTRA_OECONF_aarch64+="--target-list=aarch64-softmmu --enable-tcg-interpreter" -EXTRA_OECONF_class-native = "--target-list='arm-linux-user armeb-linux-user' --extra-cflags='${CFLAGS}'" - -DEFAULT_PREFERENCE_arm = "1" -DEFAULT_PREFERENCE_aarch64 = "1" -DEFAULT_PREFERENCE_armeb = "1"
Added to gerrit: https://review.linaro.org/4339
On 19 January 2015 at 12:29, Kevin Hao kexin.hao@windriver.com wrote:
The qemu in oe-core has updated to the latest version and also has the system mode support for aarch64.
Signed-off-by: Kevin Hao kexin.hao@windriver.com
.../3f08ffb4a4741d147634761dc053ed386243a0de.patch | 42 ----------- .../qemu/files/enable-i386-linux-user.patch | 55 -------------- .../recipes-devtools/qemu/files/fdt_header.patch | 39 ---------- .../fix-libcap-header-issue-on-some-distro.patch | 84
.../recipes-devtools/qemu/files/init-info.patch | 18 ----- .../qemu/files/larger_default_ram_size.patch | 22 ------ .../recipes-devtools/qemu/files/no-strip.patch | 15 ---- .../recipes-devtools/qemu/files/powerpc_rom.bin | Bin 4096 -> 0 bytes .../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-linaro/recipes-devtools/qemu/qemu_git.bb | 25 ------ 12 files changed, 483 deletions(-) delete mode 100644 meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/fdt_header.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/init-info.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/no-strip.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin delete mode 100644 meta-linaro/recipes-devtools/qemu/files/relocatable_sdk.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch delete mode 100644 meta-linaro/recipes-devtools/qemu/qemu_git.bb
diff --git a/meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch b/meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch deleted file mode 100644 index 4390b943b97c..000000000000
a/meta-linaro/recipes-devtools/qemu/files/3f08ffb4a4741d147634761dc053ed386243a0de.patch +++ /dev/null @@ -1,42 +0,0 @@ -Upstream-Status: Backport
-[Appears to fix the random segfaults we were seeing in a variety of architectures: -https://bugzilla.yoctoproject.org/show_bug.cgi?id=4216 ]
-From: Yeongkyoon Lee yeongkyoon.lee@samsung.com -Date: Fri, 22 Mar 2013 12:50:17 +0000 (+0900) -Subject: tcg: Fix occasional TCG broken problem when ldst optimization enabled -X-Git-Url: http://git.qemu.org/?p=qemu.git%3Ba=commitdiff_plain%3Bh=52ae646d4a3ebdcdcc9...
-tcg: Fix occasional TCG broken problem when ldst optimization enabled
-is_tcg_gen_code() checks the upper limit of TCG generated code range wrong, so -that TCG could get broken occasionally only when CONFIG_QEMU_LDST_OPTIMIZATION -enabled. The reason is code_gen_buffer_max_size does not cover the upper range -up to (TCG_MAX_OP_SIZE * OPC_BUF_SIZE), thus code_gen_buffer_max_size should be -modified to code_gen_buffer_size.
-CC: qemu-stable@nongnu.org -Signed-off-by: Yeongkyoon Lee yeongkyoon.lee@samsung.com -Reviewed-by: Peter Maydell peter.maydell@linaro.org
-Signed-off-by: Aurelien Jarno aurelien@aurel32.net
-Index: qemu-1.4.0/translate-all.c
---- qemu-1.4.0.orig/translate-all.c 2013-04-09 10:58:19.000000000 +0000 -+++ qemu-1.4.0/translate-all.c 2013-04-09 10:58:34.783203406 +0000 -@@ -1310,10 +1310,10 @@
- /* check whether the given addr is in TCG generated code buffer or not */
- bool is_tcg_gen_code(uintptr_t tc_ptr)
- {
-- /* This can be called during code generation, code_gen_buffer_max_size -+ /* This can be called during code generation, code_gen_buffer_size
is used instead of code_gen_ptr for upper boundary checking */
return (tc_ptr >= (uintptr_t)code_gen_buffer &&
-- tc_ptr < (uintptr_t)(code_gen_buffer + code_gen_buffer_max_size)); -+ tc_ptr < (uintptr_t)(code_gen_buffer + code_gen_buffer_size));
- }
- #endif
diff --git a/meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch b/meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch deleted file mode 100644 index bb0d6a384845..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/enable-i386-linux-user.patch +++ /dev/null @@ -1,55 +0,0 @@ -Enable i386-linux-user
-Signed-off-by: Zhai Edwin edwin.zhai@intel.com
-Upstream-Status: Inappropriate [configuration]
-Index: qemu-0.14.0/Makefile.target
---- qemu-0.14.0.orig/Makefile.target -+++ qemu-0.14.0/Makefile.target -@@ -78,8 +78,13 @@ ifeq ($(TARGET_BASE_ARCH), i386)
- libobj-y += cpuid.o
- endif
- libobj-$(CONFIG_NEED_MMU) += mmu.o
-+ifndef CONFIG_LINUX_USER
- libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o
- libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o
-+else -+libobj-$(TARGET_I386) += dummygl.o -+libobj-$(TARGET_X86_64) += dummygl.o -+endif #CONFIG_LINUX_USER
- libobj-$(TARGET_ARM) += dummygl.o
- libobj-$(TARGET_MIPS) += dummygl.o
- libobj-$(TARGET_PPC) += dummygl.o
-Index: qemu-0.14.0/target-i386/dummygl.c
---- /dev/null -+++ qemu-0.14.0/target-i386/dummygl.c -@@ -0,0 +1,26 @@ -+#include <string.h> -+#include <stdlib.h> -+#include <assert.h> -+#include <stdint.h> -+#include <X11/Xlib.h> -+#include <X11/Xutil.h> -+ -+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window) -+{ -+ -+} -+ -+void opengl_process_enable(void) -+{ -+ -+} -+ -+ -+void mem_opengl(uint64_t ptr) -+{ -+ -+} -+ -+void helper_opengl(void) -+{ -+} diff --git a/meta-linaro/recipes-devtools/qemu/files/fdt_header.patch b/meta-linaro/recipes-devtools/qemu/files/fdt_header.patch deleted file mode 100644 index dccfe53143c5..000000000000 --- a/meta-linaro/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-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch b/meta-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch deleted file mode 100644 index 13a6ea23b150..000000000000
a/meta-linaro/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch +++ /dev/null @@ -1,84 +0,0 @@ -fix libcap header issue on some distro
-1, When build qemu-native on SLED 11.2, there is an error: -... -| In file included from /usr/include/bits/sigcontext.h:28, -| from /usr/include/signal.h:339, -| from /buildarea2/tmp/work/i686-linux/qemu-native/1.4.0-r0/ -qemu-1.4.0/include/qemu-common.h:42, -| from fsdev/virtfs-proxy-helper.c:23: -| /usr/include/asm/sigcontext.h:28: error: expected specifier- -qualifier-list before '__u64' -| /usr/include/asm/sigcontext.h:191: error: expected specifier- -qualifier-list before '__u64' -...
-2, The virtfs-proxy-helper.c includes <sys/capability.h> and -qemu-common.h in sequence. The header include map is: -(`-->' presents `include') -... -"virtfs-proxy-helper.c" --> <sys/capability.h> -... -"virtfs-proxy-helper.c" --> "qemu-common.h" --> <signal.h> --> -<bits/sigcontext.h> --> <asm/sigcontext.h> --> <linux/types.h> --> -<asm/types.h> --> <asm-generic/types.h> --> <asm-generic/int-ll64.h> -...
-3, The bug is found on SLED 11.2 x86. In libcap header file -/usr/include/sys/capability.h, it does evil stuff like this: -...
- 25 /*
- 26 * Make sure we can be included from userland by preventing
- 27 * capability.h from including other kernel headers
- 28 */
- 29 #define _LINUX_TYPES_H
- 30 #define _LINUX_FS_H
- 31 #define __LINUX_COMPILER_H
- 32 #define __user
- 33
- 34 typedef unsigned int __u32;
- 35 typedef __u32 __le32;
-... -This completely prevents including /usr/include/linux/types.h. -The above `<asm/sigcontext.h> --> <linux/types.h>' is prevented, -and '__u64' is defined in <asm-generic/int-ll64.h>.
-4, Modify virtfs-proxy-helper.c to include <sys/capability.h> -last to workaround the issue.
-http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html -http://patchwork.linuxtv.org/patch/12748/
-Upstream-Status: Pending
-Signed-off-by: Hongxu Jia hongxu.jia@windriver.com
- fsdev/virtfs-proxy-helper.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c ---- a/fsdev/virtfs-proxy-helper.c -+++ b/fsdev/virtfs-proxy-helper.c -@@ -12,7 +12,6 @@
- #include <sys/resource.h>
- #include <getopt.h>
- #include <syslog.h>
--#include <sys/capability.h>
- #include <sys/fsuid.h>
- #include <sys/vfs.h>
- #include <sys/ioctl.h>
-@@ -26,7 +25,11 @@
- #include "virtio-9p-marshal.h"
- #include "hw/9pfs/virtio-9p-proxy.h"
- #include "fsdev/virtio-9p-marshal.h"
-- -+/* -+ * Include this one last due to some versions of it being buggy: -+ * http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html -+ */ -+#include <sys/capability.h>
- #define PROGNAME "virtfs-proxy-helper"
- #ifndef XFS_SUPER_MAGIC
-1.7.10.4
diff --git a/meta-linaro/recipes-devtools/qemu/files/init-info.patch b/meta-linaro/recipes-devtools/qemu/files/init-info.patch deleted file mode 100644 index 2250444a2ba0..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/init-info.patch +++ /dev/null @@ -1,18 +0,0 @@ -# This is a workaround to the crashes seen on Ubuntu. Setting info to zero -# makes info.info.x11.display zero and avoids the calls to -# opengl_exec_set_parent_window, one of which is crashing.
-Upstream-Status: Pending
-Index: qemu-0.14.0/ui/sdl.c
---- qemu-0.14.0.orig/ui/sdl.c -+++ qemu-0.14.0/ui/sdl.c -@@ -863,6 +863,7 @@ void sdl_display_init(DisplayState *ds,
vi = SDL_GetVideoInfo();
host_format = *(vi->vfmt);
-+ bzero(&info, sizeof(info));
SDL_GetWMInfo(&info);
if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display)
opengl_exec_set_parent_window(info.info.x11.display,
diff --git a/meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch b/meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch deleted file mode 100644 index 711c36071d6d..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/larger_default_ram_size.patch +++ /dev/null @@ -1,22 +0,0 @@ -This patch is taken from debian. 128M is too less sometimes if distro -with lot of packages is booted so this patch raises the default to 384M
-It has not been applied to upstream qemu
-Khem Raj raj.khem@gmail.com
-Upstream-Status: Pending
-Index: qemu-0.14.0/vl.c
---- qemu-0.14.0.orig/vl.c -+++ qemu-0.14.0/vl.c -@@ -168,7 +168,7 @@ int main(int argc, char **argv)
- //#define DEBUG_NET
- //#define DEBUG_SLIRP
--#define DEFAULT_RAM_SIZE 128 -+#define DEFAULT_RAM_SIZE 384
- #define MAX_VIRTIO_CONSOLES 1
diff --git a/meta-linaro/recipes-devtools/qemu/files/no-strip.patch b/meta-linaro/recipes-devtools/qemu/files/no-strip.patch deleted file mode 100644 index d6a4377cd0a0..000000000000 --- a/meta-linaro/recipes-devtools/qemu/files/no-strip.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Inappropriate [configuration]
-Index: qemu-0.14.0/Makefile
---- qemu-0.14.0.orig/Makefile -+++ qemu-0.14.0/Makefile -@@ -235,7 +235,7 @@ install-sysconfig:
- install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig
$(INSTALL_DIR) "$(DESTDIR)$(bindir)"
- ifneq ($(TOOLS),)
-- $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)" -+ $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)"
- endif
- ifneq ($(BLOBS),)
$(INSTALL_DIR) "$(DESTDIR)$(datadir)"
diff --git a/meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin b/meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin deleted file mode 100644 index c4044296c515..000000000000 Binary files a/meta-linaro/recipes-devtools/qemu/files/powerpc_rom.bin and /dev/null differ diff --git a/meta-linaro/recipes-devtools/qemu/files/relocatable_sdk.patch b/meta-linaro/recipes-devtools/qemu/files/relocatable_sdk.patch deleted file mode 100644 index 774a49c774ca..000000000000 --- a/meta-linaro/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 laurentiu.palcu@intel.com
-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-linaro/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch b/meta-linaro/recipes-devtools/qemu/files/target-i386-Fix-aflag-logic-for-CODE64-and-the-0x67-.patch deleted file mode 100644 index 852efd1cc9f6..000000000000
a/meta-linaro/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 rth@twiddle.net -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 pbonzini@redhat.com -Reported-by: Laszlo Ersek lersek@redhat.com -Signed-off-by: Richard Henderson rth@twiddle.net -Reviewed-by: Paolo Bonzini pbonzini@redhat.com -Message-id: 1369855851-21400-1-git-send-email-rth@twiddle.net
-Signed-off-by: Anthony Liguori aliguori@us.ibm.com
- 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-linaro/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch b/meta-linaro/recipes-devtools/qemu/files/target-ppc_fix_bit_extraction.patch deleted file mode 100644 index 631d23b1917d..000000000000
a/meta-linaro/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: 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);
diff --git a/meta-linaro/recipes-devtools/qemu/qemu_git.bb b/meta-linaro/recipes-devtools/qemu/qemu_git.bb deleted file mode 100644 index bdd41cebc6db..000000000000 --- a/meta-linaro/recipes-devtools/qemu/qemu_git.bb +++ /dev/null @@ -1,25 +0,0 @@ -require recipes-devtools/qemu/qemu.inc
-DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11 pixman dtc libsdl jpeg" -DEPENDS_class-native = "zlib-native alsa-lib-native glib-2.0-native pixman-native dtc-native" -DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-libsdl nativesdk-glib-2.0 nativesdk-pixman nativesdk-dtc"
-SRCREV = "541bbb07eb197a870661ed702ae1f15c7d46aea6"
-LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
-PV = "2.1.0+git${SRCPV}"
-SRC_URI = "git://git.qemu.org/qemu.git \
file://powerpc_rom.bin \
"
-S = "${WORKDIR}/git" -EXTRA_OECONF+="--enable-kvm --enable-fdt " -EXTRA_OECONF_aarch64+="--target-list=aarch64-softmmu --enable-tcg-interpreter" -EXTRA_OECONF_class-native = "--target-list='arm-linux-user armeb-linux-user' --extra-cflags='${CFLAGS}'"
-DEFAULT_PREFERENCE_arm = "1" -DEFAULT_PREFERENCE_aarch64 = "1"
-DEFAULT_PREFERENCE_armeb = "1"
1.9.3
These are needed when we want to boot from qeumu.
Signed-off-by: Kevin Hao kexin.hao@windriver.com --- meta-aarch64/conf/machine/genericarmv8.conf | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/meta-aarch64/conf/machine/genericarmv8.conf b/meta-aarch64/conf/machine/genericarmv8.conf index 1d05238d8c04..76b380eba769 100644 --- a/meta-aarch64/conf/machine/genericarmv8.conf +++ b/meta-aarch64/conf/machine/genericarmv8.conf @@ -35,3 +35,7 @@ FEATURE_PACKAGES_autoserial = "auto-serial-console" # we do not want to have getty running on tty1 as we run # auto-serial-console there USE_VT = "0" + +IMAGE_FSTYPES += "ext3" + +EXTRA_IMAGEDEPENDS += "qemu-native"
Hi Kevin,
On 01/19/2015 06:29 AM, Kevin Hao wrote:
These are needed when we want to boot from qeumu.
Signed-off-by: Kevin Hao kexin.hao@windriver.com
meta-aarch64/conf/machine/genericarmv8.conf | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/meta-aarch64/conf/machine/genericarmv8.conf b/meta-aarch64/conf/machine/genericarmv8.conf index 1d05238d8c04..76b380eba769 100644 --- a/meta-aarch64/conf/machine/genericarmv8.conf +++ b/meta-aarch64/conf/machine/genericarmv8.conf @@ -35,3 +35,7 @@ FEATURE_PACKAGES_autoserial = "auto-serial-console" # we do not want to have getty running on tty1 as we run # auto-serial-console there USE_VT = "0"
+IMAGE_FSTYPES += "ext3"
I've found the VirtIO 9P passthrough filesystem to be the most convenient (non) format to use with QEMU. Here are some example command lines:
http://www.spinics.net/lists/linux-virtualization/msg23031.html
Chris
On Mon, Jan 19, 2015 at 04:03:52PM -0500, Christopher Covington wrote:
Hi Kevin,
On 01/19/2015 06:29 AM, Kevin Hao wrote:
These are needed when we want to boot from qeumu.
Signed-off-by: Kevin Hao kexin.hao@windriver.com
meta-aarch64/conf/machine/genericarmv8.conf | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/meta-aarch64/conf/machine/genericarmv8.conf b/meta-aarch64/conf/machine/genericarmv8.conf index 1d05238d8c04..76b380eba769 100644 --- a/meta-aarch64/conf/machine/genericarmv8.conf +++ b/meta-aarch64/conf/machine/genericarmv8.conf @@ -35,3 +35,7 @@ FEATURE_PACKAGES_autoserial = "auto-serial-console" # we do not want to have getty running on tty1 as we run # auto-serial-console there USE_VT = "0"
+IMAGE_FSTYPES += "ext3"
I've found the VirtIO 9P passthrough filesystem to be the most convenient (non) format to use with QEMU. Here are some example command lines:
http://www.spinics.net/lists/linux-virtualization/msg23031.html
Thanks for the info, Chris. But given the virtfs is disabled by default in the current qemu recipe, we do need to do some tuning before using 9P filesystem. So I would like to create ext3 image by default and this is also compatible with the oe-core.
Thanks, Kevin
On 19 January 2015 at 12:29, Kevin Hao kexin.hao@windriver.com wrote:
These are needed when we want to boot from qeumu.
Signed-off-by: Kevin Hao kexin.hao@windriver.com
meta-aarch64/conf/machine/genericarmv8.conf | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/meta-aarch64/conf/machine/genericarmv8.conf b/meta-aarch64/conf/machine/genericarmv8.conf index 1d05238d8c04..76b380eba769 100644 --- a/meta-aarch64/conf/machine/genericarmv8.conf +++ b/meta-aarch64/conf/machine/genericarmv8.conf @@ -35,3 +35,7 @@ FEATURE_PACKAGES_autoserial = "auto-serial-console" # we do not want to have getty running on tty1 as we run # auto-serial-console there USE_VT = "0"
+IMAGE_FSTYPES += "ext3"
That one might be acceptable, but it's still more suited for either DISTRO or local.conf.
+EXTRA_IMAGEDEPENDS += "qemu-native"
No. That will for qemu to be built for everyimage, which is stupid. If you want to use qemu you can do 'bitbake qemu-native' or install qemu on your host. Polluting EXTRA_IMAGEDEPENDS is not an option.
On Tue, Jan 20, 2015 at 08:47:39AM +0100, Koen Kooi wrote:
On 19 January 2015 at 12:29, Kevin Hao kexin.hao@windriver.com wrote:
These are needed when we want to boot from qeumu. Signed-off-by: Kevin Hao <kexin.hao@windriver.com> --- meta-aarch64/conf/machine/genericarmv8.conf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-aarch64/conf/machine/genericarmv8.conf b/meta-aarch64/ conf/machine/genericarmv8.conf index 1d05238d8c04..76b380eba769 100644 --- a/meta-aarch64/conf/machine/genericarmv8.conf +++ b/meta-aarch64/conf/machine/genericarmv8.conf @@ -35,3 +35,7 @@ FEATURE_PACKAGES_autoserial = "auto-serial-console" # we do not want to have getty running on tty1 as we run # auto-serial-console there USE_VT = "0" + +IMAGE_FSTYPES += "ext3"
That one might be acceptable, but it's still more suited for either DISTRO or local.conf.
I prefer to keep it since it is convenient and the overhead is trivial.
+ +EXTRA_IMAGEDEPENDS += "qemu-native"
No. That will for qemu to be built for everyimage, which is stupid. If you want to use qemu you can do 'bitbake qemu-native' or install qemu on your host. Polluting EXTRA_IMAGEDEPENDS is not an option.
OK, will drop it.
Thanks, Kevin
This is needed when we want to boot from qeumu.
Signed-off-by: Kevin Hao kexin.hao@windriver.com --- v2: Don't build qemu-native by default.
v1: http://lists.linaro.org/pipermail/linaro-dev/2015-January/017738.html
meta-aarch64/conf/machine/genericarmv8.conf | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/meta-aarch64/conf/machine/genericarmv8.conf b/meta-aarch64/conf/machine/genericarmv8.conf index 1d05238d8c04..a1b63fb681cf 100644 --- a/meta-aarch64/conf/machine/genericarmv8.conf +++ b/meta-aarch64/conf/machine/genericarmv8.conf @@ -35,3 +35,5 @@ FEATURE_PACKAGES_autoserial = "auto-serial-console" # we do not want to have getty running on tty1 as we run # auto-serial-console there USE_VT = "0" + +IMAGE_FSTYPES += "ext3"
On 21 January 2015 at 09:09, Kevin Hao kexin.hao@windriver.com wrote:
This is needed when we want to boot from qeumu.
Signed-off-by: Kevin Hao kexin.hao@windriver.com
v2: Don't build qemu-native by default.
v1: http://lists.linaro.org/pipermail/linaro-dev/2015-January/017738.html
meta-aarch64/conf/machine/genericarmv8.conf | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/meta-aarch64/conf/machine/genericarmv8.conf b/meta-aarch64/conf/machine/genericarmv8.conf index 1d05238d8c04..a1b63fb681cf 100644 --- a/meta-aarch64/conf/machine/genericarmv8.conf +++ b/meta-aarch64/conf/machine/genericarmv8.conf @@ -35,3 +35,5 @@ FEATURE_PACKAGES_autoserial = "auto-serial-console" # we do not want to have getty running on tty1 as we run # auto-serial-console there USE_VT = "0"
+IMAGE_FSTYPES += "ext3"
I'm still not convinced this needs to be by default, it's easy enough to do in local.conf.