diff options
author | Cristian Iorga <cristian.iorga@intel.com> | 2014-01-08 12:13:26 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-01-10 15:16:48 +0000 |
commit | 37a0775984ea89e03c6d30a487bf069af75d3c83 (patch) | |
tree | 342d114adaac0067c666bc5b477b56b83a20b30d /meta/recipes-devtools/qemu/qemu | |
parent | ae1ca61bd4b0f2f742040ca35fc7a562e80c89ae (diff) | |
download | poky-37a0775984ea89e03c6d30a487bf069af75d3c83.tar.gz |
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.
(From OE-Core rev: 0f81a4b17ab9ea1b3cc69629aec3f3d2176f8153)
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu')
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/disable-grabs.patch | 72 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/fix-libcap-header-issue-on-some-distro.patch | 84 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/fxrstorssefix.patch | 31 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/larger_default_ram_size.patch | 22 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/no-strip.patch | 15 | ||||
-rw-r--r-- | meta/recipes-devtools/qemu/qemu/powerpc_rom.bin | bin | 0 -> 4096 bytes |
6 files changed, 224 insertions, 0 deletions
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 @@ | |||
1 | When the pointer enters the Qemu window it calls SDL_WM_GrabInput, which calls | ||
2 | XGrabPointer in a busyloop until it returns GrabSuccess. However if there's already | ||
3 | a pointer grab (screen is locked, a menu is open) then qemu will hang until the | ||
4 | grab can be taken. In the specific case of a headless X server on an autobuilder, once | ||
5 | the screensaver has kicked in any qemu instance that appears underneath the | ||
6 | pointer will hang. | ||
7 | |||
8 | I'm not entirely sure why pointer grabs are required (the documentation | ||
9 | explicitly says it doesn't do grabs when using a tablet, which we are) so wrap | ||
10 | them in a conditional that can be set by the autobuilder environment, preserving | ||
11 | the current grabbing behaviour for everyone else. | ||
12 | |||
13 | Upstream-Status: Pending | ||
14 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
15 | |||
16 | From 4b1988ecb01a178269ec0513a75f2ec620c7ef6a Mon Sep 17 00:00:00 2001 | ||
17 | From: Ross Burton <ross.burton@intel.com> | ||
18 | Date: Wed, 18 Sep 2013 14:04:54 +0100 | ||
19 | Subject: [PATCH] sdl.c: allow user to disable pointer grabs | ||
20 | |||
21 | Signed-off-by: Ross Burton <ross.burton@intel.com> | ||
22 | Signed-off-by: Eric BĂ©nard <eric@eukrea.com> | ||
23 | --- | ||
24 | ui/sdl.c | 12 ++++++++++-- | ||
25 | 1 file changed, 10 insertions(+), 2 deletions(-) | ||
26 | |||
27 | diff --git a/ui/sdl.c b/ui/sdl.c | ||
28 | index 39a42d6..9b8abe5 100644 | ||
29 | --- a/ui/sdl.c | ||
30 | +++ b/ui/sdl.c | ||
31 | @@ -59,6 +59,10 @@ static SDL_Cursor *guest_sprite = NULL; | ||
32 | static SDL_PixelFormat host_format; | ||
33 | static int scaling_active = 0; | ||
34 | static Notifier mouse_mode_notifier; | ||
35 | +#ifndef True | ||
36 | +#define True 1 | ||
37 | +#endif | ||
38 | +static doing_grabs = True; | ||
39 | |||
40 | static void sdl_update(DisplayChangeListener *dcl, | ||
41 | int x, int y, int w, int h) | ||
42 | @@ -384,14 +388,16 @@ static void sdl_grab_start(void) | ||
43 | SDL_WarpMouse(guest_x, guest_y); | ||
44 | } else | ||
45 | sdl_hide_cursor(); | ||
46 | - SDL_WM_GrabInput(SDL_GRAB_ON); | ||
47 | + if (doing_grabs) | ||
48 | + SDL_WM_GrabInput(SDL_GRAB_ON); | ||
49 | gui_grab = 1; | ||
50 | sdl_update_caption(); | ||
51 | } | ||
52 | |||
53 | static void sdl_grab_end(void) | ||
54 | { | ||
55 | - SDL_WM_GrabInput(SDL_GRAB_OFF); | ||
56 | + if (doing_grabs) | ||
57 | + SDL_WM_GrabInput(SDL_GRAB_OFF); | ||
58 | gui_grab = 0; | ||
59 | sdl_show_cursor(); | ||
60 | sdl_update_caption(); | ||
61 | @@ -909,6 +915,8 @@ void sdl_display_init(DisplayState *ds, int full_screen, int no_frame) | ||
62 | * This requires SDL >= 1.2.14. */ | ||
63 | setenv("SDL_DISABLE_LOCK_KEYS", "1", 1); | ||
64 | |||
65 | + doing_grabs = (getenv("QEMU_DONT_GRAB") == NULL); | ||
66 | + | ||
67 | flags = SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE; | ||
68 | if (SDL_Init (flags)) { | ||
69 | fprintf(stderr, "Could not initialize SDL(%s) - exiting\n", | ||
70 | -- | ||
71 | 1.8.3.1 | ||
72 | |||
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 @@ | |||
1 | fix libcap header issue on some distro | ||
2 | |||
3 | 1, When build qemu-native on SLED 11.2, there is an error: | ||
4 | ... | ||
5 | | In file included from /usr/include/bits/sigcontext.h:28, | ||
6 | | from /usr/include/signal.h:339, | ||
7 | | from /buildarea2/tmp/work/i686-linux/qemu-native/1.4.0-r0/ | ||
8 | qemu-1.4.0/include/qemu-common.h:42, | ||
9 | | from fsdev/virtfs-proxy-helper.c:23: | ||
10 | | /usr/include/asm/sigcontext.h:28: error: expected specifier- | ||
11 | qualifier-list before '__u64' | ||
12 | | /usr/include/asm/sigcontext.h:191: error: expected specifier- | ||
13 | qualifier-list before '__u64' | ||
14 | ... | ||
15 | |||
16 | 2, The virtfs-proxy-helper.c includes <sys/capability.h> and | ||
17 | qemu-common.h in sequence. The header include map is: | ||
18 | (`-->' presents `include') | ||
19 | ... | ||
20 | "virtfs-proxy-helper.c" --> <sys/capability.h> | ||
21 | ... | ||
22 | "virtfs-proxy-helper.c" --> "qemu-common.h" --> <signal.h> --> | ||
23 | <bits/sigcontext.h> --> <asm/sigcontext.h> --> <linux/types.h> --> | ||
24 | <asm/types.h> --> <asm-generic/types.h> --> <asm-generic/int-ll64.h> | ||
25 | ... | ||
26 | |||
27 | 3, The bug is found on SLED 11.2 x86. In libcap header file | ||
28 | /usr/include/sys/capability.h, it does evil stuff like this: | ||
29 | ... | ||
30 | 25 /* | ||
31 | 26 * Make sure we can be included from userland by preventing | ||
32 | 27 * capability.h from including other kernel headers | ||
33 | 28 */ | ||
34 | 29 #define _LINUX_TYPES_H | ||
35 | 30 #define _LINUX_FS_H | ||
36 | 31 #define __LINUX_COMPILER_H | ||
37 | 32 #define __user | ||
38 | 33 | ||
39 | 34 typedef unsigned int __u32; | ||
40 | 35 typedef __u32 __le32; | ||
41 | ... | ||
42 | This completely prevents including /usr/include/linux/types.h. | ||
43 | The above `<asm/sigcontext.h> --> <linux/types.h>' is prevented, | ||
44 | and '__u64' is defined in <asm-generic/int-ll64.h>. | ||
45 | |||
46 | 4, Modify virtfs-proxy-helper.c to include <sys/capability.h> | ||
47 | last to workaround the issue. | ||
48 | |||
49 | http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html | ||
50 | http://patchwork.linuxtv.org/patch/12748/ | ||
51 | |||
52 | Upstream-Status: Pending | ||
53 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
54 | --- | ||
55 | fsdev/virtfs-proxy-helper.c | 7 +++++-- | ||
56 | 1 file changed, 5 insertions(+), 2 deletions(-) | ||
57 | |||
58 | diff --git a/fsdev/virtfs-proxy-helper.c b/fsdev/virtfs-proxy-helper.c | ||
59 | --- a/fsdev/virtfs-proxy-helper.c | ||
60 | +++ b/fsdev/virtfs-proxy-helper.c | ||
61 | @@ -12,7 +12,6 @@ | ||
62 | #include <sys/resource.h> | ||
63 | #include <getopt.h> | ||
64 | #include <syslog.h> | ||
65 | -#include <sys/capability.h> | ||
66 | #include <sys/fsuid.h> | ||
67 | #include <sys/vfs.h> | ||
68 | #include <sys/ioctl.h> | ||
69 | @@ -26,7 +25,11 @@ | ||
70 | #include "virtio-9p-marshal.h" | ||
71 | #include "hw/9pfs/virtio-9p-proxy.h" | ||
72 | #include "fsdev/virtio-9p-marshal.h" | ||
73 | - | ||
74 | +/* | ||
75 | + * Include this one last due to some versions of it being buggy: | ||
76 | + * http://www.linuxtv.org/pipermail/vdr/2009-August/021194.html | ||
77 | + */ | ||
78 | +#include <sys/capability.h> | ||
79 | #define PROGNAME "virtfs-proxy-helper" | ||
80 | |||
81 | #ifndef XFS_SUPER_MAGIC | ||
82 | -- | ||
83 | 1.7.10.4 | ||
84 | |||
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 @@ | |||
1 | When we restore the mxcsr resgister with FXRSTOR, we need to update the various SSE | ||
2 | flag files by calling update_sse_status() else we're using the flags from some other | ||
3 | process with interesting results. | ||
4 | |||
5 | The code isn't ordered to make this easy hence the function declaration. | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | RP 2013/9/30 | ||
10 | |||
11 | Index: qemu-1.5.0/target-i386/fpu_helper.c | ||
12 | =================================================================== | ||
13 | --- qemu-1.5.0.orig/target-i386/fpu_helper.c 2013-09-30 18:46:39.283377648 +0000 | ||
14 | +++ qemu-1.5.0/target-i386/fpu_helper.c 2013-09-30 18:46:56.895377232 +0000 | ||
15 | @@ -1149,6 +1149,8 @@ | ||
16 | } | ||
17 | } | ||
18 | |||
19 | +static void update_sse_status(CPUX86State *env); | ||
20 | + | ||
21 | void helper_fxrstor(CPUX86State *env, target_ulong ptr, int data64) | ||
22 | { | ||
23 | int i, fpus, fptag, nb_xmm_regs; | ||
24 | @@ -1180,6 +1182,7 @@ | ||
25 | if (env->cr[4] & CR4_OSFXSR_MASK) { | ||
26 | /* XXX: finish it */ | ||
27 | env->mxcsr = cpu_ldl_data(env, ptr + 0x18); | ||
28 | + update_sse_status(env); | ||
29 | /* cpu_ldl_data(env, ptr + 0x1c); */ | ||
30 | if (env->hflags & HF_CS64_MASK) { | ||
31 | 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 @@ | |||
1 | This patch is taken from debian. 128M is too less sometimes if distro | ||
2 | with lot of packages is booted so this patch raises the default to 384M | ||
3 | |||
4 | It has not been applied to upstream qemu | ||
5 | |||
6 | Khem Raj <raj.khem@gmail.com> | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | |||
10 | Index: qemu-0.14.0/vl.c | ||
11 | =================================================================== | ||
12 | --- qemu-0.14.0.orig/vl.c | ||
13 | +++ qemu-0.14.0/vl.c | ||
14 | @@ -168,7 +168,7 @@ int main(int argc, char **argv) | ||
15 | //#define DEBUG_NET | ||
16 | //#define DEBUG_SLIRP | ||
17 | |||
18 | -#define DEFAULT_RAM_SIZE 128 | ||
19 | +#define DEFAULT_RAM_SIZE 384 | ||
20 | |||
21 | #define MAX_VIRTIO_CONSOLES 1 | ||
22 | |||
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 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Index: qemu-0.14.0/Makefile | ||
4 | =================================================================== | ||
5 | --- qemu-0.14.0.orig/Makefile | ||
6 | +++ qemu-0.14.0/Makefile | ||
7 | @@ -235,7 +235,7 @@ install-sysconfig: | ||
8 | install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig | ||
9 | $(INSTALL_DIR) "$(DESTDIR)$(bindir)" | ||
10 | ifneq ($(TOOLS),) | ||
11 | - $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)" | ||
12 | + $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)" | ||
13 | endif | ||
14 | ifneq ($(BLOBS),) | ||
15 | $(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 --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu/powerpc_rom.bin | |||
Binary files differ | |||