aboutsummaryrefslogtreecommitdiffstats
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
committerSaul Wold <sgw@linux.intel.com>2012-12-11 20:27:26 -0800
commit7622c4f6c050f26f252066a0fcaacdbf340dcefa (patch)
treefff0958e0ea5f68f440ea0977a4d16a85d08066f /meta/recipes-devtools/qemu/files
parentb41e55a7ee226a0ae4efdd633cab94e1cc846525 (diff)
downloadopenembedded-core-contrib-7622c4f6c050f26f252066a0fcaacdbf340dcefa.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) Signed-off-by: Constantin Musca <constantinx.musca@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
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 @@
+From 2cf7df441ce4c36525ba4d2d040f8cb0b0c75f14 Mon Sep 17 00:00:00 2001
+From: Constantin Musca <constantinx.musca@intel.com>
+Date: Fri, 7 Dec 2012 12:33:42 +0200
+Subject: [PATCH] Revert "vmware_vga: Add back some info in local state
+ partially reverting aa32b38c"
+
+- this reverts commit 1f202568e0553b416483e5993f1bde219c22cf72
+- do not cache the DS depth (the depth might change)
+
+Upstream-Status: Pending
+Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
+---
+ hw/vmware_vga.c | 30 +++++++++---------------------
+ 1 file changed, 9 insertions(+), 21 deletions(-)
+
+diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
+index 834588d..7c766fb 100644
+--- a/hw/vmware_vga.c
++++ b/hw/vmware_vga.c
+@@ -39,8 +39,6 @@ struct vmsvga_state_s {
+ VGACommonState vga;
+
+ int invalidated;
+- int depth;
+- int bypp;
+ int enable;
+ int config;
+ struct {
+@@ -57,9 +55,6 @@ struct vmsvga_state_s {
+ int new_height;
+ uint32_t guest;
+ uint32_t svgaid;
+- uint32_t wred;
+- uint32_t wgreen;
+- uint32_t wblue;
+ int syncing;
+
+ MemoryRegion fifo_ram;
+@@ -723,25 +718,25 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address)
+ return SVGA_MAX_HEIGHT;
+
+ case SVGA_REG_DEPTH:
+- return s->depth;
++ return ds_get_depth(s->vga.ds);
+
+ case SVGA_REG_BITS_PER_PIXEL:
+- return (s->depth + 7) & ~7;
++ return ds_get_bits_per_pixel(s->vga.ds);
+
+ case SVGA_REG_PSEUDOCOLOR:
+ return 0x0;
+
+ case SVGA_REG_RED_MASK:
+- return s->wred;
++ return ds_get_rmask(s->vga.ds);
+
+ case SVGA_REG_GREEN_MASK:
+- return s->wgreen;
++ return ds_get_gmask(s->vga.ds);
+
+ case SVGA_REG_BLUE_MASK:
+- return s->wblue;
++ return ds_get_bmask(s->vga.ds);
+
+ case SVGA_REG_BYTES_PER_LINE:
+- return s->bypp * s->new_width;
++ return ds_get_bytes_per_pixel(s->vga.ds) * s->new_width;
+
+ case SVGA_REG_FB_START: {
+ struct pci_vmsvga_state_s *pci_vmsvga
+@@ -806,7 +801,7 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address)
+ return s->cursor.on;
+
+ case SVGA_REG_HOST_BITS_PER_PIXEL:
+- return (s->depth + 7) & ~7;
++ return ds_get_bits_per_pixel(s->vga.ds);
+
+ case SVGA_REG_SCRATCH_SIZE:
+ return s->scratch_size;
+@@ -869,7 +864,7 @@ static void vmsvga_value_write(void *opaque, uint32_t address, uint32_t value)
+ break;
+
+ case SVGA_REG_BITS_PER_PIXEL:
+- if (value != s->depth) {
++ if (value != ds_get_bits_per_pixel(s->vga.ds)) {
+ printf("%s: Bad bits per pixel: %i bits\n", __func__, value);
+ s->config = 0;
+ }
+@@ -1089,7 +1084,7 @@ static const VMStateDescription vmstate_vmware_vga_internal = {
+ .minimum_version_id_old = 0,
+ .post_load = vmsvga_post_load,
+ .fields = (VMStateField[]) {
+- VMSTATE_INT32_EQUAL(depth, struct vmsvga_state_s),
++ VMSTATE_UNUSED(4), /* was depth */
+ VMSTATE_INT32(enable, struct vmsvga_state_s),
+ VMSTATE_INT32(config, struct vmsvga_state_s),
+ VMSTATE_INT32(cursor.id, struct vmsvga_state_s),
+@@ -1142,13 +1137,6 @@ static void vmsvga_init(struct vmsvga_state_s *s,
+ vga_common_init(&s->vga);
+ vga_init(&s->vga, address_space, io, true);
+ vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga);
+- /* Save some values here in case they are changed later.
+- * This is suspicious and needs more though why it is needed. */
+- s->depth = ds_get_bits_per_pixel(s->vga.ds);
+- s->bypp = ds_get_bytes_per_pixel(s->vga.ds);
+- s->wred = ds_get_rmask(s->vga.ds);
+- s->wgreen = ds_get_gmask(s->vga.ds);
+- s->wblue = ds_get_bmask(s->vga.ds);
+ }
+
+ static uint64_t vmsvga_io_read(void *opaque, hwaddr addr, unsigned size)
+--
+1.7.11.7
+
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 @@
+After kernel commit:
+
+http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=meta&id=9728c1b6a724daefc413b44e10253cdbb5e06d08
+
+It appears that the emulated colours in qemu are incorrect and that
+the red and blue channels are reversed. This patch reverses that logic
+so the colours are correctly displayed on the versatile platform which
+doesn't support the BGR bit.
+
+RP 16/9/2011
+
+Upstream-Status: Pending
+
+Index: qemu-1.2.0/hw/pl110.c
+===================================================================
+--- qemu-1.2.0.orig/hw/pl110.c 2012-09-06 14:07:27.619821133 -0700
++++ qemu-1.2.0/hw/pl110.c 2012-09-06 14:12:07.699829648 -0700
+@@ -168,7 +168,11 @@
+ fprintf(stderr, "pl110: Bad color depth\n");
+ exit(1);
+ }
+- if (s->cr & PL110_CR_BGR)
++
++ if (s->version && s->bpp == BPP_16)
++ /* Code assumes BPP_16 == 565 and BGR is never set on the versatile in 565 mode */
++ bpp_offset = 0;
++ else if (s->cr & PL110_CR_BGR)
+ bpp_offset = 0;
+ else
+ 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 @@
+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/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 @@
+From c313f89c33217ac0e471554dace2144718f86669 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Thu, 13 May 2010 12:23:40 +0200
+Subject: [PATCH] linux-user: use default mmap_min_addr 65536 when /proc/sys/vm/mmap_min_addr cannot be read
+
+* 65536 is default at least for ubuntu and fedora.
+---
+ linux-user/main.c | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+Upstream-Status: Pending
+
+Index: qemu-0.14.0/linux-user/main.c
+===================================================================
+--- qemu-0.14.0.orig/linux-user/main.c
++++ qemu-0.14.0/linux-user/main.c
+@@ -36,6 +36,7 @@
+ #include "envlist.h"
+
+ #define DEBUG_LOGFILE "/tmp/qemu.log"
++#define MMAP_MIN_ADDR_DEFAULT 65536
+
+ char *exec_path;
+
+@@ -3010,8 +3011,14 @@ int main(int argc, char **argv, char **e
+ if (fscanf(fp, "%lu", &tmp) == 1) {
+ mmap_min_addr = tmp;
+ qemu_log("host mmap_min_addr=0x%lx\n", mmap_min_addr);
++ } else {
++ qemu_log("cannot read value from /proc/sys/vm/mmap_min_addr, assuming %d\n", MMAP_MIN_ADDR_DEFAULT);
++ mmap_min_addr = MMAP_MIN_ADDR_DEFAULT;
+ }
+ fclose(fp);
++ } else {
++ qemu_log("cannot open /proc/sys/vm/mmap_min_addr for reading, assuming %d\n", MMAP_MIN_ADDR_DEFAULT);
++ mmap_min_addr = MMAP_MIN_ADDR_DEFAULT;
+ }
+ }
+
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 @@
+In native builds, qemu can fail to find zlib development files in the native
+sysroot and the build machine might not have zlib-dev packages installed.
+
+Add CFLAGS to qemu's CFLAGS which in the native case means BUILD_CFLAGS are
+added and files in the sysroot can be found.
+
+Patch from Paul Eggleton, Comments by RP 28/11/10
+
+Upstream-Status: Inappropriate [embedded specific]
+
+Index: qemu-1.2.0/configure
+===================================================================
+--- qemu-1.2.0.orig/configure 2012-09-05 07:03:06.000000000 -0700
++++ qemu-1.2.0/configure 2012-09-06 13:55:07.007793823 -0700
+@@ -281,6 +281,7 @@
+ QEMU_CFLAGS="-Wstrict-prototypes -Wredundant-decls $QEMU_CFLAGS"
+ QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS"
+ QEMU_INCLUDES="-I. -I\$(SRC_PATH) -I\$(SRC_PATH)/fpu"
++QEMU_CFLAGS="$QEMU_CFLAGS $CFLAGS"
+ if test "$debug_info" = "yes"; then
+ CFLAGS="-g $CFLAGS"
+ 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 @@
+# 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/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 @@
+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/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 @@
+Fedora 13 switched the default behaviour of the linker to no longer
+indirectly link to required libraries (i.e. dependencies of a library
+already linked to). Therefore we need to explicitly pass the depended on
+libraries into the linker for building to work on Fedora 13.
+
+More information is available on the Fedora Wiki:
+https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
+
+JL - 15/06/10
+
+Upstream-Status: Inappropriate [configuration]
+
+Index: qemu-1.2.0/Makefile.target
+===================================================================
+--- qemu-1.2.0.orig/Makefile.target 2012-09-05 07:03:06.000000000 -0700
++++ qemu-1.2.0/Makefile.target 2012-09-06 13:42:24.819764288 -0700
+@@ -130,7 +130,7 @@
+ obj-$(CONFIG_HAVE_CORE_DUMP) += dump.o
+ obj-$(CONFIG_NO_GET_MEMORY_MAPPING) += memory_mapping-stub.o
+ obj-$(CONFIG_NO_CORE_DUMP) += dump-stub.o
+-LIBS+=-lz
++LIBS+=-lz -lX11 -ldl
+
+ QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
+ 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 @@
+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
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 @@
+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.2.0/i386.ld
+===================================================================
+--- qemu-1.2.0.orig/i386.ld
++++ qemu-1.2.0/i386.ld
+@@ -8,7 +8,7 @@ SECTIONS
+ {
+ /* Read-only sections, merged into text segment: */
+ . = 0x60000000 + SIZEOF_HEADERS;
+- .interp : { *(.interp) }
++ .interp : { *(.interp); . = 0x1000; }
+ .hash : { *(.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }
+Index: qemu-1.2.0/x86_64.ld
+===================================================================
+--- qemu-1.2.0.orig/x86_64.ld
++++ qemu-1.2.0/x86_64.ld
+@@ -6,7 +6,7 @@ SECTIONS
+ {
+ /* Read-only sections, merged into text segment: */
+ . = 0x60000000 + SIZEOF_HEADERS;
+- .interp : { *(.interp) }
++ .interp : { *(.interp); . = 0x1000; }
+ .hash : { *(.hash) }
+ .dynsym : { *(.dynsym) }
+ .dynstr : { *(.dynstr) }