summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/files
diff options
context:
space:
mode:
authorConstantin Musca <constantinx.musca@intel.com>2012-12-10 10:08:13 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-13 15:18:42 +0000
commit505f88fd3e169b3481c2bb2afbef535db00d095f (patch)
treeac8046059d916008a8fa8941cddd9dcaedfbf9b0 /meta/recipes-devtools/qemu/files
parent24b4976a42bd6eb0e89a555ccfce71931c7c6957 (diff)
downloadpoky-505f88fd3e169b3481c2bb2afbef535db00d095f.tar.gz
qemu: upgrade to 1.3.0
remove-hardcoded-libexec.patch: removed - included in the new version qemu-vmware-vga-depth.patch: removed - doesn't apply anymore - the problem addressed by the patch is fixed by reverting commit 1f202568e0553b416483e5993f1bde219c22cf72 Revert-vmware_vga-Add-back-some-info-in-local-state-.patch: - VMware VGA requires that the depth presented to the guest to be the same as the Display Surface depth in order to do not corrupt the display - do not cache the DS depth (the depth might change) - revert commit 1f202568 - QEMU now uses pixman (DEPENDS += "pixman") - rearrange the recipe in order to mimic the bitbake flow - update both variants (.tar.bz2, git) (From OE-Core rev: 7622c4f6c050f26f252066a0fcaacdbf340dcefa) Signed-off-by: Constantin Musca <constantinx.musca@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/files')
-rw-r--r--meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch114
-rw-r--r--meta/recipes-devtools/qemu/files/arm-bgr.patch30
-rw-r--r--meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch55
-rw-r--r--meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch39
-rw-r--r--meta/recipes-devtools/qemu/files/fix-configure-checks.patch22
-rw-r--r--meta/recipes-devtools/qemu/files/init-info.patch18
-rw-r--r--meta/recipes-devtools/qemu/files/larger_default_ram_size.patch22
-rw-r--r--meta/recipes-devtools/qemu/files/linker-flags.patch25
-rw-r--r--meta/recipes-devtools/qemu/files/no-strip.patch15
-rw-r--r--meta/recipes-devtools/qemu/files/powerpc_rom.binbin0 -> 4096 bytes
-rw-r--r--meta/recipes-devtools/qemu/files/relocatable_sdk.patch34
11 files changed, 374 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch b/meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch
new file mode 100644
index 0000000000..d56256e05c
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch
@@ -0,0 +1,114 @@
1From 2cf7df441ce4c36525ba4d2d040f8cb0b0c75f14 Mon Sep 17 00:00:00 2001
2From: Constantin Musca <constantinx.musca@intel.com>
3Date: Fri, 7 Dec 2012 12:33:42 +0200
4Subject: [PATCH] Revert "vmware_vga: Add back some info in local state
5 partially reverting aa32b38c"
6
7- this reverts commit 1f202568e0553b416483e5993f1bde219c22cf72
8- do not cache the DS depth (the depth might change)
9
10Upstream-Status: Pending
11Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
12---
13 hw/vmware_vga.c | 30 +++++++++---------------------
14 1 file changed, 9 insertions(+), 21 deletions(-)
15
16diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
17index 834588d..7c766fb 100644
18--- a/hw/vmware_vga.c
19+++ b/hw/vmware_vga.c
20@@ -39,8 +39,6 @@ struct vmsvga_state_s {
21 VGACommonState vga;
22
23 int invalidated;
24- int depth;
25- int bypp;
26 int enable;
27 int config;
28 struct {
29@@ -57,9 +55,6 @@ struct vmsvga_state_s {
30 int new_height;
31 uint32_t guest;
32 uint32_t svgaid;
33- uint32_t wred;
34- uint32_t wgreen;
35- uint32_t wblue;
36 int syncing;
37
38 MemoryRegion fifo_ram;
39@@ -723,25 +718,25 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address)
40 return SVGA_MAX_HEIGHT;
41
42 case SVGA_REG_DEPTH:
43- return s->depth;
44+ return ds_get_depth(s->vga.ds);
45
46 case SVGA_REG_BITS_PER_PIXEL:
47- return (s->depth + 7) & ~7;
48+ return ds_get_bits_per_pixel(s->vga.ds);
49
50 case SVGA_REG_PSEUDOCOLOR:
51 return 0x0;
52
53 case SVGA_REG_RED_MASK:
54- return s->wred;
55+ return ds_get_rmask(s->vga.ds);
56
57 case SVGA_REG_GREEN_MASK:
58- return s->wgreen;
59+ return ds_get_gmask(s->vga.ds);
60
61 case SVGA_REG_BLUE_MASK:
62- return s->wblue;
63+ return ds_get_bmask(s->vga.ds);
64
65 case SVGA_REG_BYTES_PER_LINE:
66- return s->bypp * s->new_width;
67+ return ds_get_bytes_per_pixel(s->vga.ds) * s->new_width;
68
69 case SVGA_REG_FB_START: {
70 struct pci_vmsvga_state_s *pci_vmsvga
71@@ -806,7 +801,7 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address)
72 return s->cursor.on;
73
74 case SVGA_REG_HOST_BITS_PER_PIXEL:
75- return (s->depth + 7) & ~7;
76+ return ds_get_bits_per_pixel(s->vga.ds);
77
78 case SVGA_REG_SCRATCH_SIZE:
79 return s->scratch_size;
80@@ -869,7 +864,7 @@ static void vmsvga_value_write(void *opaque, uint32_t address, uint32_t value)
81 break;
82
83 case SVGA_REG_BITS_PER_PIXEL:
84- if (value != s->depth) {
85+ if (value != ds_get_bits_per_pixel(s->vga.ds)) {
86 printf("%s: Bad bits per pixel: %i bits\n", __func__, value);
87 s->config = 0;
88 }
89@@ -1089,7 +1084,7 @@ static const VMStateDescription vmstate_vmware_vga_internal = {
90 .minimum_version_id_old = 0,
91 .post_load = vmsvga_post_load,
92 .fields = (VMStateField[]) {
93- VMSTATE_INT32_EQUAL(depth, struct vmsvga_state_s),
94+ VMSTATE_UNUSED(4), /* was depth */
95 VMSTATE_INT32(enable, struct vmsvga_state_s),
96 VMSTATE_INT32(config, struct vmsvga_state_s),
97 VMSTATE_INT32(cursor.id, struct vmsvga_state_s),
98@@ -1142,13 +1137,6 @@ static void vmsvga_init(struct vmsvga_state_s *s,
99 vga_common_init(&s->vga);
100 vga_init(&s->vga, address_space, io, true);
101 vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga);
102- /* Save some values here in case they are changed later.
103- * This is suspicious and needs more though why it is needed. */
104- s->depth = ds_get_bits_per_pixel(s->vga.ds);
105- s->bypp = ds_get_bytes_per_pixel(s->vga.ds);
106- s->wred = ds_get_rmask(s->vga.ds);
107- s->wgreen = ds_get_gmask(s->vga.ds);
108- s->wblue = ds_get_bmask(s->vga.ds);
109 }
110
111 static uint64_t vmsvga_io_read(void *opaque, hwaddr addr, unsigned size)
112--
1131.7.11.7
114
diff --git a/meta/recipes-devtools/qemu/files/arm-bgr.patch b/meta/recipes-devtools/qemu/files/arm-bgr.patch
new file mode 100644
index 0000000000..f3ebde6364
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/arm-bgr.patch
@@ -0,0 +1,30 @@
1After kernel commit:
2
3http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=meta&id=9728c1b6a724daefc413b44e10253cdbb5e06d08
4
5It appears that the emulated colours in qemu are incorrect and that
6the red and blue channels are reversed. This patch reverses that logic
7so the colours are correctly displayed on the versatile platform which
8doesn't support the BGR bit.
9
10RP 16/9/2011
11
12Upstream-Status: Pending
13
14Index: qemu-1.2.0/hw/pl110.c
15===================================================================
16--- qemu-1.2.0.orig/hw/pl110.c 2012-09-06 14:07:27.619821133 -0700
17+++ qemu-1.2.0/hw/pl110.c 2012-09-06 14:12:07.699829648 -0700
18@@ -168,7 +168,11 @@
19 fprintf(stderr, "pl110: Bad color depth\n");
20 exit(1);
21 }
22- if (s->cr & PL110_CR_BGR)
23+
24+ if (s->version && s->bpp == BPP_16)
25+ /* Code assumes BPP_16 == 565 and BGR is never set on the versatile in 565 mode */
26+ bpp_offset = 0;
27+ else if (s->cr & PL110_CR_BGR)
28 bpp_offset = 0;
29 else
30 bpp_offset = 24;
diff --git a/meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch b/meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch
new file mode 100644
index 0000000000..bb0d6a3848
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch
@@ -0,0 +1,55 @@
1Enable i386-linux-user
2
3Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
4
5Upstream-Status: Inappropriate [configuration]
6
7Index: qemu-0.14.0/Makefile.target
8===================================================================
9--- qemu-0.14.0.orig/Makefile.target
10+++ qemu-0.14.0/Makefile.target
11@@ -78,8 +78,13 @@ ifeq ($(TARGET_BASE_ARCH), i386)
12 libobj-y += cpuid.o
13 endif
14 libobj-$(CONFIG_NEED_MMU) += mmu.o
15+ifndef CONFIG_LINUX_USER
16 libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o
17 libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o
18+else
19+libobj-$(TARGET_I386) += dummygl.o
20+libobj-$(TARGET_X86_64) += dummygl.o
21+endif #CONFIG_LINUX_USER
22 libobj-$(TARGET_ARM) += dummygl.o
23 libobj-$(TARGET_MIPS) += dummygl.o
24 libobj-$(TARGET_PPC) += dummygl.o
25Index: qemu-0.14.0/target-i386/dummygl.c
26===================================================================
27--- /dev/null
28+++ qemu-0.14.0/target-i386/dummygl.c
29@@ -0,0 +1,26 @@
30+#include <string.h>
31+#include <stdlib.h>
32+#include <assert.h>
33+#include <stdint.h>
34+#include <X11/Xlib.h>
35+#include <X11/Xutil.h>
36+
37+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window)
38+{
39+
40+}
41+
42+void opengl_process_enable(void)
43+{
44+
45+}
46+
47+
48+void mem_opengl(uint64_t ptr)
49+{
50+
51+}
52+
53+void helper_opengl(void)
54+{
55+}
diff --git a/meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch b/meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch
new file mode 100644
index 0000000000..2075386b9f
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch
@@ -0,0 +1,39 @@
1From c313f89c33217ac0e471554dace2144718f86669 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Thu, 13 May 2010 12:23:40 +0200
4Subject: [PATCH] linux-user: use default mmap_min_addr 65536 when /proc/sys/vm/mmap_min_addr cannot be read
5
6* 65536 is default at least for ubuntu and fedora.
7---
8 linux-user/main.c | 5 +++++
9 1 files changed, 5 insertions(+), 0 deletions(-)
10
11Upstream-Status: Pending
12
13Index: qemu-0.14.0/linux-user/main.c
14===================================================================
15--- qemu-0.14.0.orig/linux-user/main.c
16+++ qemu-0.14.0/linux-user/main.c
17@@ -36,6 +36,7 @@
18 #include "envlist.h"
19
20 #define DEBUG_LOGFILE "/tmp/qemu.log"
21+#define MMAP_MIN_ADDR_DEFAULT 65536
22
23 char *exec_path;
24
25@@ -3010,8 +3011,14 @@ int main(int argc, char **argv, char **e
26 if (fscanf(fp, "%lu", &tmp) == 1) {
27 mmap_min_addr = tmp;
28 qemu_log("host mmap_min_addr=0x%lx\n", mmap_min_addr);
29+ } else {
30+ qemu_log("cannot read value from /proc/sys/vm/mmap_min_addr, assuming %d\n", MMAP_MIN_ADDR_DEFAULT);
31+ mmap_min_addr = MMAP_MIN_ADDR_DEFAULT;
32 }
33 fclose(fp);
34+ } else {
35+ qemu_log("cannot open /proc/sys/vm/mmap_min_addr for reading, assuming %d\n", MMAP_MIN_ADDR_DEFAULT);
36+ mmap_min_addr = MMAP_MIN_ADDR_DEFAULT;
37 }
38 }
39
diff --git a/meta/recipes-devtools/qemu/files/fix-configure-checks.patch b/meta/recipes-devtools/qemu/files/fix-configure-checks.patch
new file mode 100644
index 0000000000..ef77c92842
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/fix-configure-checks.patch
@@ -0,0 +1,22 @@
1In native builds, qemu can fail to find zlib development files in the native
2sysroot and the build machine might not have zlib-dev packages installed.
3
4Add CFLAGS to qemu's CFLAGS which in the native case means BUILD_CFLAGS are
5added and files in the sysroot can be found.
6
7Patch from Paul Eggleton, Comments by RP 28/11/10
8
9Upstream-Status: Inappropriate [embedded specific]
10
11Index: qemu-1.2.0/configure
12===================================================================
13--- qemu-1.2.0.orig/configure 2012-09-05 07:03:06.000000000 -0700
14+++ qemu-1.2.0/configure 2012-09-06 13:55:07.007793823 -0700
15@@ -281,6 +281,7 @@
16 QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS"
17 QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"
18 QEMU_INCLUDES="-I. -I\$(SRC_PATH) -I\$(SRC_PATH)/fpu"
19+QEMU_CFLAGS="$QEMU_CFLAGS $CFLAGS"
20 if test "$debug_info" = "yes"; then
21 CFLAGS="-g $CFLAGS"
22 LDFLAGS="-g $LDFLAGS"
diff --git a/meta/recipes-devtools/qemu/files/init-info.patch b/meta/recipes-devtools/qemu/files/init-info.patch
new file mode 100644
index 0000000000..2250444a2b
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/init-info.patch
@@ -0,0 +1,18 @@
1# This is a workaround to the crashes seen on Ubuntu. Setting info to zero
2# makes info.info.x11.display zero and avoids the calls to
3# opengl_exec_set_parent_window, one of which is crashing.
4
5Upstream-Status: Pending
6
7Index: qemu-0.14.0/ui/sdl.c
8===================================================================
9--- qemu-0.14.0.orig/ui/sdl.c
10+++ qemu-0.14.0/ui/sdl.c
11@@ -863,6 +863,7 @@ void sdl_display_init(DisplayState *ds,
12 vi = SDL_GetVideoInfo();
13 host_format = *(vi->vfmt);
14
15+ bzero(&info, sizeof(info));
16 SDL_GetWMInfo(&info);
17 if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display)
18 opengl_exec_set_parent_window(info.info.x11.display,
diff --git a/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch b/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch
new file mode 100644
index 0000000000..711c36071d
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch
@@ -0,0 +1,22 @@
1This patch is taken from debian. 128M is too less sometimes if distro
2with lot of packages is booted so this patch raises the default to 384M
3
4It has not been applied to upstream qemu
5
6Khem Raj <raj.khem@gmail.com>
7
8Upstream-Status: Pending
9
10Index: 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/files/linker-flags.patch b/meta/recipes-devtools/qemu/files/linker-flags.patch
new file mode 100644
index 0000000000..0106ae2420
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/linker-flags.patch
@@ -0,0 +1,25 @@
1Fedora 13 switched the default behaviour of the linker to no longer
2indirectly link to required libraries (i.e. dependencies of a library
3already linked to). Therefore we need to explicitly pass the depended on
4libraries into the linker for building to work on Fedora 13.
5
6More information is available on the Fedora Wiki:
7https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
8
9JL - 15/06/10
10
11Upstream-Status: Inappropriate [configuration]
12
13Index: qemu-1.2.0/Makefile.target
14===================================================================
15--- qemu-1.2.0.orig/Makefile.target 2012-09-05 07:03:06.000000000 -0700
16+++ qemu-1.2.0/Makefile.target 2012-09-06 13:42:24.819764288 -0700
17@@ -130,7 +130,7 @@
18 obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o
19 obj-$(CONFIG_NO_GET_MEMORY_MAPPING) += memory_mapping-stub.o
20 obj-$(CONFIG_NO_CORE_DUMP) += dump-stub.o
21-LIBS+=-lz
22+LIBS+=-lz -lX11 -ldl
23
24 QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
25 QEMU_CFLAGS += $(VNC_SASL_CFLAGS)
diff --git a/meta/recipes-devtools/qemu/files/no-strip.patch b/meta/recipes-devtools/qemu/files/no-strip.patch
new file mode 100644
index 0000000000..d6a4377cd0
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/no-strip.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: 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/files/powerpc_rom.bin b/meta/recipes-devtools/qemu/files/powerpc_rom.bin
new file mode 100644
index 0000000000..c4044296c5
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/powerpc_rom.bin
Binary files differ
diff --git a/meta/recipes-devtools/qemu/files/relocatable_sdk.patch b/meta/recipes-devtools/qemu/files/relocatable_sdk.patch
new file mode 100644
index 0000000000..0a01a8a048
--- /dev/null
+++ b/meta/recipes-devtools/qemu/files/relocatable_sdk.patch
@@ -0,0 +1,34 @@
1Upstream-Status: Inappropriate [SDK specific]
2
3In order to be able to change the dynamic loader path when relocating
4binaries, the interp section has to be made big enough to accomodate
5the new path (4096 is the maximum path length in Linux).
6
7Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
8
9Index: qemu-1.2.0/i386.ld
10===================================================================
11--- qemu-1.2.0.orig/i386.ld
12+++ qemu-1.2.0/i386.ld
13@@ -8,7 +8,7 @@ SECTIONS
14 {
15 /* Read-only sections, merged into text segment: */
16 . = 0x60000000 + SIZEOF_HEADERS;
17- .interp : { *(.interp) }
18+ .interp : { *(.interp); . = 0x1000; }
19 .hash : { *(.hash) }
20 .dynsym : { *(.dynsym) }
21 .dynstr : { *(.dynstr) }
22Index: qemu-1.2.0/x86_64.ld
23===================================================================
24--- qemu-1.2.0.orig/x86_64.ld
25+++ qemu-1.2.0/x86_64.ld
26@@ -6,7 +6,7 @@ SECTIONS
27 {
28 /* Read-only sections, merged into text segment: */
29 . = 0x60000000 + SIZEOF_HEADERS;
30- .interp : { *(.interp) }
31+ .interp : { *(.interp); . = 0x1000; }
32 .hash : { *(.hash) }
33 .dynsym : { *(.dynsym) }
34 .dynstr : { *(.dynstr) }