From 0f81a4b17ab9ea1b3cc69629aec3f3d2176f8153 Mon Sep 17 00:00:00 2001 From: Cristian Iorga Date: Wed, 8 Jan 2014 12:13:26 +0200 Subject: qemu: upgrade to 1.7.0 linux-user-Handle-SOCK_CLOEXEC-NONBLOCK-if-unavailab.patch file no longer needed, included in upstream. qemu-native tested on all architectures, host machine is Ubuntu Linux 13.10 x86-64. Basic X11 and networking tests performed. Signed-off-by: Cristian Iorga Signed-off-by: Saul Wold --- .../qemu/files/disable-grabs.patch | 72 ---------------- .../fix-libcap-header-issue-on-some-distro.patch | 84 ------------------- .../qemu/files/fxrstorssefix.patch | 31 ------- .../qemu/files/larger_default_ram_size.patch | 22 ----- ...Handle-SOCK_CLOEXEC-NONBLOCK-if-unavailab.patch | 92 --------------------- meta/recipes-devtools/qemu/files/no-strip.patch | 15 ---- meta/recipes-devtools/qemu/files/powerpc_rom.bin | Bin 4096 -> 0 bytes meta/recipes-devtools/qemu/qemu.inc | 1 - .../recipes-devtools/qemu/qemu/disable-grabs.patch | 72 ++++++++++++++++ .../fix-libcap-header-issue-on-some-distro.patch | 84 +++++++++++++++++++ .../recipes-devtools/qemu/qemu/fxrstorssefix.patch | 31 +++++++ .../qemu/qemu/larger_default_ram_size.patch | 22 +++++ meta/recipes-devtools/qemu/qemu/no-strip.patch | 15 ++++ meta/recipes-devtools/qemu/qemu/powerpc_rom.bin | Bin 0 -> 4096 bytes meta/recipes-devtools/qemu/qemu_1.6.1.bb | 17 ---- meta/recipes-devtools/qemu/qemu_1.7.0.bb | 17 ++++ 16 files changed, 241 insertions(+), 334 deletions(-) delete mode 100644 meta/recipes-devtools/qemu/files/disable-grabs.patch delete mode 100644 meta/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch delete mode 100644 meta/recipes-devtools/qemu/files/fxrstorssefix.patch delete mode 100644 meta/recipes-devtools/qemu/files/larger_default_ram_size.patch delete mode 100644 meta/recipes-devtools/qemu/files/linux-user-Handle-SOCK_CLOEXEC-NONBLOCK-if-unavailab.patch delete mode 100644 meta/recipes-devtools/qemu/files/no-strip.patch delete mode 100644 meta/recipes-devtools/qemu/files/powerpc_rom.bin create mode 100644 meta/recipes-devtools/qemu/qemu/disable-grabs.patch create mode 100644 meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch create mode 100644 meta/recipes-devtools/qemu/qemu/fxrstorssefix.patch create mode 100644 meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch create mode 100644 meta/recipes-devtools/qemu/qemu/no-strip.patch create mode 100644 meta/recipes-devtools/qemu/qemu/powerpc_rom.bin delete mode 100644 meta/recipes-devtools/qemu/qemu_1.6.1.bb create mode 100644 meta/recipes-devtools/qemu/qemu_1.7.0.bb (limited to 'meta/recipes-devtools/qemu') diff --git a/meta/recipes-devtools/qemu/files/disable-grabs.patch b/meta/recipes-devtools/qemu/files/disable-grabs.patch deleted file mode 100644 index 41726b1c87..0000000000 --- a/meta/recipes-devtools/qemu/files/disable-grabs.patch +++ /dev/null @@ -1,72 +0,0 @@ -When the pointer enters the Qemu window it calls SDL_WM_GrabInput, which calls -XGrabPointer in a busyloop until it returns GrabSuccess. However if there's already -a pointer grab (screen is locked, a menu is open) then qemu will hang until the -grab can be taken. In the specific case of a headless X server on an autobuilder, once -the screensaver has kicked in any qemu instance that appears underneath the -pointer will hang. - -I'm not entirely sure why pointer grabs are required (the documentation -explicitly says it doesn't do grabs when using a tablet, which we are) so wrap -them in a conditional that can be set by the autobuilder environment, preserving -the current grabbing behaviour for everyone else. - -Upstream-Status: Pending -Signed-off-by: Ross Burton - -From 4b1988ecb01a178269ec0513a75f2ec620c7ef6a Mon Sep 17 00:00:00 2001 -From: Ross Burton -Date: Wed, 18 Sep 2013 14:04:54 +0100 -Subject: [PATCH] sdl.c: allow user to disable pointer grabs - -Signed-off-by: Ross Burton -Signed-off-by: Eric Bénard ---- - ui/sdl.c | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/ui/sdl.c b/ui/sdl.c -index 39a42d6..9b8abe5 100644 ---- a/ui/sdl.c -+++ b/ui/sdl.c -@@ -59,6 +59,10 @@ static SDL_Cursor *guest_sprite = NULL; - static SDL_PixelFormat host_format; - static int scaling_active = 0; - static Notifier mouse_mode_notifier; -+#ifndef True -+#define True 1 -+#endif -+static doing_grabs = True; - - static void sdl_update(DisplayChangeListener *dcl, - int x, int y, int w, int h) -@@ -384,14 +388,16 @@ static void sdl_grab_start(void) - SDL_WarpMouse(guest_x, guest_y); - } else - sdl_hide_cursor(); -- SDL_WM_GrabInput(SDL_GRAB_ON); -+ if (doing_grabs) -+ SDL_WM_GrabInput(SDL_GRAB_ON); - gui_grab = 1; - sdl_update_caption(); - } - - static void sdl_grab_end(void) - { -- SDL_WM_GrabInput(SDL_GRAB_OFF); -+ if (doing_grabs) -+ SDL_WM_GrabInput(SDL_GRAB_OFF); - gui_grab = 0; - sdl_show_cursor(); - sdl_update_caption(); -@@ -909,6 +915,8 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame) - * This requires SDL >= 1.2.14. */ - setenv("SDL_DISABLE_LOCK_KEYS", "1", 1); - -+ doing_grabs = (getenv("QEMU_DONT_GRAB") == NULL); -+ - flags = SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE; - if (SDL_Init (flags)) { - fprintf(stderr, "Could not initialize SDL(%s) - exiting\n", --- -1.8.3.1 - diff --git a/meta/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch b/meta/recipes-devtools/qemu/files/fix-libcap-header-issue-on-some-distro.patch deleted file mode 100644 index 13a6ea23b1..0000000000 --- a/meta/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 and -qemu-common.h in sequence. The header include map is: -(`-->' presents `include') -... -"virtfs-proxy-helper.c" --> -... -"virtfs-proxy-helper.c" --> "qemu-common.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 ` --> ' is prevented, -and '__u64' is defined in . - -4, Modify virtfs-proxy-helper.c to include -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 ---- - 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 - #include - #include --#include - #include - #include - #include -@@ -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 - #define PROGNAME "virtfs-proxy-helper" - - #ifndef XFS_SUPER_MAGIC --- -1.7.10.4 - diff --git a/meta/recipes-devtools/qemu/files/fxrstorssefix.patch b/meta/recipes-devtools/qemu/files/fxrstorssefix.patch deleted file mode 100644 index 59ab0f50fa..0000000000 --- a/meta/recipes-devtools/qemu/files/fxrstorssefix.patch +++ /dev/null @@ -1,31 +0,0 @@ -When we restore the mxcsr resgister with FXRSTOR, we need to update the various SSE -flag files by calling update_sse_status() else we're using the flags from some other -process with interesting results. - -The code isn't ordered to make this easy hence the function declaration. - -Upstream-Status: Pending - -RP 2013/9/30 - -Index: qemu-1.5.0/target-i386/fpu_helper.c -=================================================================== ---- qemu-1.5.0.orig/target-i386/fpu_helper.c 2013-09-30 18:46:39.283377648 +0000 -+++ qemu-1.5.0/target-i386/fpu_helper.c 2013-09-30 18:46:56.895377232 +0000 -@@ -1149,6 +1149,8 @@ - } - } - -+static void update_sse_status(CPUX86State *env); -+ - void helper_fxrstor(CPUX86State *env, target_ulong ptr, int data64) - { - int i, fpus, fptag, nb_xmm_regs; -@@ -1180,6 +1182,7 @@ - if (env->cr[4] & CR4_OSFXSR_MASK) { - /* XXX: finish it */ - env->mxcsr = cpu_ldl_data(env, ptr + 0x18); -+ update_sse_status(env); - /* cpu_ldl_data(env, ptr + 0x1c); */ - if (env->hflags & HF_CS64_MASK) { - nb_xmm_regs = 16; diff --git a/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch b/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch deleted file mode 100644 index 711c36071d..0000000000 --- a/meta/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 - -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/recipes-devtools/qemu/files/linux-user-Handle-SOCK_CLOEXEC-NONBLOCK-if-unavailab.patch b/meta/recipes-devtools/qemu/files/linux-user-Handle-SOCK_CLOEXEC-NONBLOCK-if-unavailab.patch deleted file mode 100644 index eb638960dd..0000000000 --- a/meta/recipes-devtools/qemu/files/linux-user-Handle-SOCK_CLOEXEC-NONBLOCK-if-unavailab.patch +++ /dev/null @@ -1,92 +0,0 @@ -Upstream-Status: Backport - -From 53d09b761f032f50c4424e8649396a9041070bae Mon Sep 17 00:00:00 2001 -From: "Edgar E. Iglesias" -Date: Mon, 23 Sep 2013 14:11:53 +0200 -Subject: [PATCH] linux-user: Handle SOCK_CLOEXEC/NONBLOCK if unavailable on - host - -If the host lacks SOCK_CLOEXEC, bail out with -EINVAL. -If the host lacks SOCK_ONONBLOCK, try to emulate it with fcntl() -and O_NONBLOCK. - -Signed-off-by: Edgar E. Iglesias -Signed-off-by: Riku Voipio ---- - linux-user/syscall.c | 40 +++++++++++++++++++++++++++++++++++++--- - 1 file changed, 37 insertions(+), 3 deletions(-) - -diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index b3822b3..4a14a43 100644 ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -1773,7 +1773,7 @@ static void unlock_iovec(struct iovec *vec, abi_ulong target_addr, - free(vec); - } - --static inline void target_to_host_sock_type(int *type) -+static inline int target_to_host_sock_type(int *type) - { - int host_type = 0; - int target_type = *type; -@@ -1790,22 +1790,56 @@ static inline void target_to_host_sock_type(int *type) - break; - } - if (target_type & TARGET_SOCK_CLOEXEC) { -+#if defined(SOCK_CLOEXEC) - host_type |= SOCK_CLOEXEC; -+#else -+ return -TARGET_EINVAL; -+#endif - } - if (target_type & TARGET_SOCK_NONBLOCK) { -+#if defined(SOCK_NONBLOCK) - host_type |= SOCK_NONBLOCK; -+#elif !defined(O_NONBLOCK) -+ return -TARGET_EINVAL; -+#endif - } - *type = host_type; -+ return 0; -+} -+ -+/* Try to emulate socket type flags after socket creation. */ -+static int sock_flags_fixup(int fd, int target_type) -+{ -+#if !defined(SOCK_NONBLOCK) && defined(O_NONBLOCK) -+ if (target_type & TARGET_SOCK_NONBLOCK) { -+ int flags = fcntl(fd, F_GETFL); -+ if (fcntl(fd, F_SETFL, O_NONBLOCK | flags) == -1) { -+ close(fd); -+ return -TARGET_EINVAL; -+ } -+ } -+#endif -+ return fd; - } - - /* do_socket() Must return target values and target errnos. */ - static abi_long do_socket(int domain, int type, int protocol) - { -- target_to_host_sock_type(&type); -+ int target_type = type; -+ int ret; -+ -+ ret = target_to_host_sock_type(&type); -+ if (ret) { -+ return ret; -+ } - - if (domain == PF_NETLINK) - return -EAFNOSUPPORT; /* do not NETLINK socket connections possible */ -- return get_errno(socket(domain, type, protocol)); -+ ret = get_errno(socket(domain, type, protocol)); -+ if (ret >= 0) { -+ ret = sock_flags_fixup(ret, target_type); -+ } -+ return ret; - } - - /* do_bind() Must return target values and target errnos. */ --- -1.8.2.1 diff --git a/meta/recipes-devtools/qemu/files/no-strip.patch b/meta/recipes-devtools/qemu/files/no-strip.patch deleted file mode 100644 index d6a4377cd0..0000000000 --- a/meta/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/recipes-devtools/qemu/files/powerpc_rom.bin b/meta/recipes-devtools/qemu/files/powerpc_rom.bin deleted file mode 100644 index c4044296c5..0000000000 Binary files a/meta/recipes-devtools/qemu/files/powerpc_rom.bin and /dev/null differ diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index fa9306dfb0..8705dc78a4 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -19,7 +19,6 @@ SRC_URI = "\ file://no-strip.patch \ file://larger_default_ram_size.patch \ file://disable-grabs.patch \ - file://linux-user-Handle-SOCK_CLOEXEC-NONBLOCK-if-unavailab.patch \ " SRC_URI_append_class-native = "\ diff --git a/meta/recipes-devtools/qemu/qemu/disable-grabs.patch b/meta/recipes-devtools/qemu/qemu/disable-grabs.patch new file mode 100644 index 0000000000..41726b1c87 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/disable-grabs.patch @@ -0,0 +1,72 @@ +When the pointer enters the Qemu window it calls SDL_WM_GrabInput, which calls +XGrabPointer in a busyloop until it returns GrabSuccess. However if there's already +a pointer grab (screen is locked, a menu is open) then qemu will hang until the +grab can be taken. In the specific case of a headless X server on an autobuilder, once +the screensaver has kicked in any qemu instance that appears underneath the +pointer will hang. + +I'm not entirely sure why pointer grabs are required (the documentation +explicitly says it doesn't do grabs when using a tablet, which we are) so wrap +them in a conditional that can be set by the autobuilder environment, preserving +the current grabbing behaviour for everyone else. + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +From 4b1988ecb01a178269ec0513a75f2ec620c7ef6a Mon Sep 17 00:00:00 2001 +From: Ross Burton +Date: Wed, 18 Sep 2013 14:04:54 +0100 +Subject: [PATCH] sdl.c: allow user to disable pointer grabs + +Signed-off-by: Ross Burton +Signed-off-by: Eric Bénard +--- + ui/sdl.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/ui/sdl.c b/ui/sdl.c +index 39a42d6..9b8abe5 100644 +--- a/ui/sdl.c ++++ b/ui/sdl.c +@@ -59,6 +59,10 @@ static SDL_Cursor *guest_sprite = NULL; + static SDL_PixelFormat host_format; + static int scaling_active = 0; + static Notifier mouse_mode_notifier; ++#ifndef True ++#define True 1 ++#endif ++static doing_grabs = True; + + static void sdl_update(DisplayChangeListener *dcl, + int x, int y, int w, int h) +@@ -384,14 +388,16 @@ static void sdl_grab_start(void) + SDL_WarpMouse(guest_x, guest_y); + } else + sdl_hide_cursor(); +- SDL_WM_GrabInput(SDL_GRAB_ON); ++ if (doing_grabs) ++ SDL_WM_GrabInput(SDL_GRAB_ON); + gui_grab = 1; + sdl_update_caption(); + } + + static void sdl_grab_end(void) + { +- SDL_WM_GrabInput(SDL_GRAB_OFF); ++ if (doing_grabs) ++ SDL_WM_GrabInput(SDL_GRAB_OFF); + gui_grab = 0; + sdl_show_cursor(); + sdl_update_caption(); +@@ -909,6 +915,8 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame) + * This requires SDL >= 1.2.14. */ + setenv("SDL_DISABLE_LOCK_KEYS", "1", 1); + ++ doing_grabs = (getenv("QEMU_DONT_GRAB") == NULL); ++ + flags = SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE; + if (SDL_Init (flags)) { + fprintf(stderr, "Could not initialize SDL(%s) - exiting\n", +-- +1.8.3.1 + diff --git a/meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch b/meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch new file mode 100644 index 0000000000..13a6ea23b1 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch @@ -0,0 +1,84 @@ +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 and +qemu-common.h in sequence. The header include map is: +(`-->' presents `include') +... +"virtfs-proxy-helper.c" --> +... +"virtfs-proxy-helper.c" --> "qemu-common.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 ` --> ' is prevented, +and '__u64' is defined in . + +4, Modify virtfs-proxy-helper.c to include +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 +--- + 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 + #include + #include +-#include + #include + #include + #include +@@ -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 + #define PROGNAME "virtfs-proxy-helper" + + #ifndef XFS_SUPER_MAGIC +-- +1.7.10.4 + diff --git a/meta/recipes-devtools/qemu/qemu/fxrstorssefix.patch b/meta/recipes-devtools/qemu/qemu/fxrstorssefix.patch new file mode 100644 index 0000000000..59ab0f50fa --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/fxrstorssefix.patch @@ -0,0 +1,31 @@ +When we restore the mxcsr resgister with FXRSTOR, we need to update the various SSE +flag files by calling update_sse_status() else we're using the flags from some other +process with interesting results. + +The code isn't ordered to make this easy hence the function declaration. + +Upstream-Status: Pending + +RP 2013/9/30 + +Index: qemu-1.5.0/target-i386/fpu_helper.c +=================================================================== +--- qemu-1.5.0.orig/target-i386/fpu_helper.c 2013-09-30 18:46:39.283377648 +0000 ++++ qemu-1.5.0/target-i386/fpu_helper.c 2013-09-30 18:46:56.895377232 +0000 +@@ -1149,6 +1149,8 @@ + } + } + ++static void update_sse_status(CPUX86State *env); ++ + void helper_fxrstor(CPUX86State *env, target_ulong ptr, int data64) + { + int i, fpus, fptag, nb_xmm_regs; +@@ -1180,6 +1182,7 @@ + if (env->cr[4] & CR4_OSFXSR_MASK) { + /* XXX: finish it */ + env->mxcsr = cpu_ldl_data(env, ptr + 0x18); ++ update_sse_status(env); + /* cpu_ldl_data(env, ptr + 0x1c); */ + if (env->hflags & HF_CS64_MASK) { + nb_xmm_regs = 16; diff --git a/meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch b/meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch new file mode 100644 index 0000000000..711c36071d --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch @@ -0,0 +1,22 @@ +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 + +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/recipes-devtools/qemu/qemu/no-strip.patch b/meta/recipes-devtools/qemu/qemu/no-strip.patch new file mode 100644 index 0000000000..d6a4377cd0 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/no-strip.patch @@ -0,0 +1,15 @@ +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/recipes-devtools/qemu/qemu/powerpc_rom.bin b/meta/recipes-devtools/qemu/qemu/powerpc_rom.bin new file mode 100644 index 0000000000..c4044296c5 Binary files /dev/null and b/meta/recipes-devtools/qemu/qemu/powerpc_rom.bin differ diff --git a/meta/recipes-devtools/qemu/qemu_1.6.1.bb b/meta/recipes-devtools/qemu/qemu_1.6.1.bb deleted file mode 100644 index 03e28a0fcb..0000000000 --- a/meta/recipes-devtools/qemu/qemu_1.6.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -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 -} diff --git a/meta/recipes-devtools/qemu/qemu_1.7.0.bb b/meta/recipes-devtools/qemu/qemu_1.7.0.bb new file mode 100644 index 0000000000..d5265bcf57 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu_1.7.0.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] = "32893941d40d052a5e649efcf06aca06" +SRC_URI[sha256sum] = "31f333a85f2d14c605a77679904a9668eaeb1b6dc7da53a1665230f46bc21314" + +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