From 505f88fd3e169b3481c2bb2afbef535db00d095f Mon Sep 17 00:00:00 2001 From: Constantin Musca Date: Mon, 10 Dec 2012 10:08:13 +0200 Subject: 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 Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- ...re_vga-Add-back-some-info-in-local-state-.patch | 114 ++++++++++++++++++++ meta/recipes-devtools/qemu/files/arm-bgr.patch | 30 ++++++ .../qemu/files/enable-i386-linux-user.patch | 55 ++++++++++ .../files/fallback-to-safe-mmap_min_addr.patch | 39 +++++++ .../qemu/files/fix-configure-checks.patch | 22 ++++ meta/recipes-devtools/qemu/files/init-info.patch | 18 ++++ .../qemu/files/larger_default_ram_size.patch | 22 ++++ .../recipes-devtools/qemu/files/linker-flags.patch | 25 +++++ meta/recipes-devtools/qemu/files/no-strip.patch | 15 +++ meta/recipes-devtools/qemu/files/powerpc_rom.bin | Bin 0 -> 4096 bytes .../qemu/files/relocatable_sdk.patch | 34 ++++++ .../recipes-devtools/qemu/qemu-1.2.0/arm-bgr.patch | 30 ------ .../qemu/qemu-1.2.0/enable-i386-linux-user.patch | 55 ---------- .../fallback-to-safe-mmap_min_addr.patch | 39 ------- .../qemu/qemu-1.2.0/fix-configure-checks.patch | 22 ---- .../qemu/qemu-1.2.0/init-info.patch | 18 ---- .../qemu/qemu-1.2.0/larger_default_ram_size.patch | 22 ---- .../qemu/qemu-1.2.0/linker-flags.patch | 25 ----- .../qemu/qemu-1.2.0/no-strip.patch | 15 --- .../qemu/qemu-1.2.0/powerpc_rom.bin | Bin 4096 -> 0 bytes .../qemu/qemu-1.2.0/qemu-vmware-vga-depth.patch | 106 ------------------ .../qemu/qemu-1.2.0/relocatable_sdk.patch | 34 ------ .../qemu/qemu-1.2.0/remove-hardcoded-libexec.patch | 41 ------- .../qemu/qemu-git/enable-i386-linux-user.patch | 55 ---------- .../qemu/qemu-git/linker-flags.patch | 25 ----- meta/recipes-devtools/qemu/qemu-git/no-strip.patch | 15 --- .../recipes-devtools/qemu/qemu-git/powerpc_rom.bin | Bin 4096 -> 0 bytes .../qemu/qemu-git/qemu-vmware-vga-depth.patch | 118 --------------------- .../qemu/qemu-git/remove-hardcoded-libexec.patch | 41 ------- meta/recipes-devtools/qemu/qemu.inc | 66 +++++++++--- meta/recipes-devtools/qemu/qemu_1.2.0.bb | 52 --------- meta/recipes-devtools/qemu/qemu_1.3.0.bb | 10 ++ meta/recipes-devtools/qemu/qemu_git.bb | 11 +- 33 files changed, 438 insertions(+), 736 deletions(-) create mode 100644 meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch create mode 100644 meta/recipes-devtools/qemu/files/arm-bgr.patch create mode 100644 meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch create mode 100644 meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch create mode 100644 meta/recipes-devtools/qemu/files/fix-configure-checks.patch create mode 100644 meta/recipes-devtools/qemu/files/init-info.patch create mode 100644 meta/recipes-devtools/qemu/files/larger_default_ram_size.patch create mode 100644 meta/recipes-devtools/qemu/files/linker-flags.patch create mode 100644 meta/recipes-devtools/qemu/files/no-strip.patch create mode 100644 meta/recipes-devtools/qemu/files/powerpc_rom.bin create mode 100644 meta/recipes-devtools/qemu/files/relocatable_sdk.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/arm-bgr.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/enable-i386-linux-user.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/fallback-to-safe-mmap_min_addr.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/fix-configure-checks.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/init-info.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/larger_default_ram_size.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/linker-flags.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/no-strip.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/powerpc_rom.bin delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/qemu-vmware-vga-depth.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-1.2.0/remove-hardcoded-libexec.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-git/enable-i386-linux-user.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-git/linker-flags.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-git/no-strip.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-git/powerpc_rom.bin delete mode 100644 meta/recipes-devtools/qemu/qemu-git/qemu-vmware-vga-depth.patch delete mode 100644 meta/recipes-devtools/qemu/qemu-git/remove-hardcoded-libexec.patch delete mode 100644 meta/recipes-devtools/qemu/qemu_1.2.0.bb create mode 100644 meta/recipes-devtools/qemu/qemu_1.3.0.bb 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 +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 +--- + 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 + +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 ++#include ++#include ++#include ++#include ++#include ++ ++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 +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 + +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 Binary files /dev/null and b/meta/recipes-devtools/qemu/files/powerpc_rom.bin 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 + +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) } diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/arm-bgr.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/arm-bgr.patch deleted file mode 100644 index f3ebde6364..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/arm-bgr.patch +++ /dev/null @@ -1,30 +0,0 @@ -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/qemu-1.2.0/enable-i386-linux-user.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/enable-i386-linux-user.patch deleted file mode 100644 index bb0d6a3848..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/enable-i386-linux-user.patch +++ /dev/null @@ -1,55 +0,0 @@ -Enable i386-linux-user - -Signed-off-by: Zhai Edwin - -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 -+#include -+#include -+#include -+#include -+#include -+ -+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/qemu-1.2.0/fallback-to-safe-mmap_min_addr.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/fallback-to-safe-mmap_min_addr.patch deleted file mode 100644 index 2075386b9f..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/fallback-to-safe-mmap_min_addr.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c313f89c33217ac0e471554dace2144718f86669 Mon Sep 17 00:00:00 2001 -From: Martin Jansa -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/qemu-1.2.0/fix-configure-checks.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/fix-configure-checks.patch deleted file mode 100644 index ef77c92842..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/fix-configure-checks.patch +++ /dev/null @@ -1,22 +0,0 @@ -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/qemu-1.2.0/init-info.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/init-info.patch deleted file mode 100644 index 2250444a2b..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/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/recipes-devtools/qemu/qemu-1.2.0/larger_default_ram_size.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/larger_default_ram_size.patch deleted file mode 100644 index 711c36071d..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/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/qemu-1.2.0/linker-flags.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/linker-flags.patch deleted file mode 100644 index 0106ae2420..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/linker-flags.patch +++ /dev/null @@ -1,25 +0,0 @@ -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/qemu-1.2.0/no-strip.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/no-strip.patch deleted file mode 100644 index d6a4377cd0..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/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/qemu-1.2.0/powerpc_rom.bin b/meta/recipes-devtools/qemu/qemu-1.2.0/powerpc_rom.bin deleted file mode 100644 index c4044296c5..0000000000 Binary files a/meta/recipes-devtools/qemu/qemu-1.2.0/powerpc_rom.bin and /dev/null differ diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/qemu-vmware-vga-depth.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/qemu-vmware-vga-depth.patch deleted file mode 100644 index a1b8035b70..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/qemu-vmware-vga-depth.patch +++ /dev/null @@ -1,106 +0,0 @@ -# fix VMware VGA driver depth calculation error, which may cause segmentation fault -# -# ktian1, 06/29/2010 - -Upstream-Status: Pending - -Index: qemu-1.2.0/console.h -=================================================================== ---- qemu-1.2.0.orig/console.h 2012-09-06 14:12:23.371832381 -0700 -+++ qemu-1.2.0/console.h 2012-09-06 14:12:23.627832390 -0700 -@@ -171,6 +171,12 @@ - void (*free_displaysurface)(DisplaySurface *surface); - }; - -+struct DisplayPostCallback { -+ void (*postcall) (void *); -+ void *parm; -+ struct DisplayPostCallback *next; -+}; -+ - struct DisplayState { - struct DisplaySurface *surface; - void *opaque; -@@ -178,6 +184,7 @@ - - struct DisplayAllocator* allocator; - struct DisplayChangeListener* listeners; -+ struct DisplayPostCallback* postcalls; - - void (*mouse_set)(int x, int y, int on); - void (*cursor_define)(QEMUCursor *cursor); -@@ -233,6 +240,12 @@ - ds->listeners = dcl; - } - -+static inline void register_displaypostcallback(DisplayState *ds, DisplayPostCallback *dpc) -+{ -+ dpc->next = ds->postcalls; -+ ds->postcalls = dpc; -+} -+ - static inline void dpy_update(DisplayState *s, int x, int y, int w, int h) - { - struct DisplayChangeListener *dcl = s->listeners; -Index: qemu-1.2.0/hw/vmware_vga.c -=================================================================== ---- qemu-1.2.0.orig/hw/vmware_vga.c 2012-09-06 14:12:23.371832381 -0700 -+++ qemu-1.2.0/hw/vmware_vga.c 2012-09-06 14:18:05.595845288 -0700 -@@ -1081,6 +1081,8 @@ - static void vmsvga_init(struct vmsvga_state_s *s, - MemoryRegion *address_space, MemoryRegion *io) - { -+ DisplayPostCallback *dpc; -+ - s->scratch_size = SVGA_SCRATCH_SIZE; - s->scratch = g_malloc(s->scratch_size * 4); - -@@ -1098,6 +1100,10 @@ - vga_common_init(&s->vga); - vga_init(&s->vga, address_space, io, true); - vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga); -+ dpc = g_malloc0(sizeof(DisplayPostCallback)); -+ dpc->postcall = vmsvga_reset; -+ dpc->parm = s; -+ register_displaypostcallback(s->vga.ds, dpc); - - s->depth = ds_get_bits_per_pixel(s->vga.ds); - s->bypp = ds_get_bytes_per_pixel(s->vga.ds); -Index: qemu-1.2.0/qemu-common.h -=================================================================== ---- qemu-1.2.0.orig/qemu-common.h 2012-09-06 14:12:23.371832381 -0700 -+++ qemu-1.2.0/qemu-common.h 2012-09-06 14:12:23.643832391 -0700 -@@ -250,6 +250,7 @@ - typedef struct DisplayChangeListener DisplayChangeListener; - typedef struct DisplaySurface DisplaySurface; - typedef struct DisplayAllocator DisplayAllocator; -+typedef struct DisplayPostCallback DisplayPostCallback; - typedef struct PixelFormat PixelFormat; - typedef struct TextConsole TextConsole; - typedef TextConsole QEMUConsole; -Index: qemu-1.2.0/vl.c -=================================================================== ---- qemu-1.2.0.orig/vl.c 2012-09-06 14:12:23.371832381 -0700 -+++ qemu-1.2.0/vl.c 2012-09-06 14:17:32.635844142 -0700 -@@ -2352,6 +2352,7 @@ - char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */ - DisplayState *ds; - DisplayChangeListener *dcl; -+ DisplayPostCallback *dpc; - int cyls, heads, secs, translation; - QemuOpts *hda_opts = NULL, *opts, *machine_opts; - QemuOptsList *olist; -@@ -3699,6 +3700,13 @@ - - /* display setup */ - dpy_resize(ds); -+ dpc = ds->postcalls; -+ while (dpc != NULL) { -+ if (dpc->postcall != NULL) -+ dpc->postcall(dpc->parm); -+ dpc = dpc->next; -+ } -+ - dcl = ds->listeners; - while (dcl != NULL) { - if (dcl->dpy_refresh != NULL) { diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch deleted file mode 100644 index 0a01a8a048..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/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 - -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) } diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/remove-hardcoded-libexec.patch b/meta/recipes-devtools/qemu/qemu-1.2.0/remove-hardcoded-libexec.patch deleted file mode 100644 index 8db460a5f6..0000000000 --- a/meta/recipes-devtools/qemu/qemu-1.2.0/remove-hardcoded-libexec.patch +++ /dev/null @@ -1,41 +0,0 @@ -This will allow the libexecdir to be set on the command line -and have the files installed and used from the correct location - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Saul Wold - -Index: qemu-1.2.0/configure -=================================================================== ---- qemu-1.2.0.orig/configure -+++ qemu-1.2.0/configure -@@ -183,6 +183,7 @@ datadir="\${prefix}/share" - qemu_docdir="\${prefix}/share/doc/qemu" - bindir="\${prefix}/bin" - libdir="\${prefix}/lib" -+libexecdir="\${prefix}/libexec" - includedir="\${prefix}/include" - sysconfdir="\${prefix}/etc" - confsuffix="/qemu" -@@ -644,7 +645,9 @@ for opt do - ;; - --sysconfdir=*) sysconfdir="$optarg" - ;; -- --sbindir=*|--libexecdir=*|--sharedstatedir=*|--localstatedir=*|\ -+ --libexecdir=*) libexecdir="$optarg" -+ ;; -+ --sbindir=*|--sharedstatedir=*|--localstatedir=*|\ - --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\ - --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*) - # These switches are silently ignored, for compatibility with -@@ -3190,8 +3193,8 @@ echo "sysconfdir=$sysconfdir" >> $config - echo "qemu_confdir=$qemu_confdir" >> $config_host_mak - echo "qemu_datadir=$qemu_datadir" >> $config_host_mak - echo "qemu_docdir=$qemu_docdir" >> $config_host_mak --echo "libexecdir=\${prefix}/libexec" >> $config_host_mak --echo "CONFIG_QEMU_HELPERDIR=\"$prefix/libexec\"" >> $config_host_mak -+echo "libexecdir=$libexecdir" >> $config_host_mak -+echo "CONFIG_QEMU_HELPERDIR=\"$libexecdir\"" >> $config_host_mak - - echo "ARCH=$ARCH" >> $config_host_mak - if test "$debug_tcg" = "yes" ; then diff --git a/meta/recipes-devtools/qemu/qemu-git/enable-i386-linux-user.patch b/meta/recipes-devtools/qemu/qemu-git/enable-i386-linux-user.patch deleted file mode 100644 index 76ed3a862e..0000000000 --- a/meta/recipes-devtools/qemu/qemu-git/enable-i386-linux-user.patch +++ /dev/null @@ -1,55 +0,0 @@ -Enable i386-linux-user - -Signed-off-by: Zhai Edwin - -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 -+#include -+#include -+#include -+#include -+#include -+ -+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/qemu-git/linker-flags.patch b/meta/recipes-devtools/qemu/qemu-git/linker-flags.patch deleted file mode 100644 index 4569643a64..0000000000 --- a/meta/recipes-devtools/qemu/qemu-git/linker-flags.patch +++ /dev/null @@ -1,25 +0,0 @@ -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-0.14.0/Makefile.target -=================================================================== ---- qemu-0.14.0.orig/Makefile.target -+++ qemu-0.14.0/Makefile.target -@@ -218,7 +218,7 @@ obj-$(CONFIG_REALLY_VIRTFS) += virtio-9p - obj-y += rwhandler.o - obj-$(CONFIG_KVM) += kvm.o kvm-all.o - obj-$(CONFIG_NO_KVM) += kvm-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/qemu-git/no-strip.patch b/meta/recipes-devtools/qemu/qemu-git/no-strip.patch deleted file mode 100644 index 098070adfc..0000000000 --- a/meta/recipes-devtools/qemu/qemu-git/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/qemu-git/powerpc_rom.bin b/meta/recipes-devtools/qemu/qemu-git/powerpc_rom.bin deleted file mode 100644 index c4044296c5..0000000000 Binary files a/meta/recipes-devtools/qemu/qemu-git/powerpc_rom.bin and /dev/null differ diff --git a/meta/recipes-devtools/qemu/qemu-git/qemu-vmware-vga-depth.patch b/meta/recipes-devtools/qemu/qemu-git/qemu-vmware-vga-depth.patch deleted file mode 100644 index c4c5424e16..0000000000 --- a/meta/recipes-devtools/qemu/qemu-git/qemu-vmware-vga-depth.patch +++ /dev/null @@ -1,118 +0,0 @@ -# fix VMware VGA driver depth calculation error, which may cause segmentation fault -# -# ktian1, 06/29/2010 - -Upstream-Status: Pending - -Index: qemu-0.14.0/console.h -=================================================================== ---- qemu-0.14.0.orig/console.h -+++ qemu-0.14.0/console.h -@@ -171,6 +171,12 @@ struct DisplayAllocator { - void (*free_displaysurface)(DisplaySurface *surface); - }; - -+struct DisplayPostCallback { -+ void (*postcall) (void *); -+ void *parm; -+ struct DisplayPostCallback *next; -+}; -+ - struct DisplayState { - struct DisplaySurface *surface; - void *opaque; -@@ -178,6 +184,7 @@ struct DisplayState { - - struct DisplayAllocator* allocator; - struct DisplayChangeListener* listeners; -+ struct DisplayPostCallback* postcalls; - - void (*mouse_set)(int x, int y, int on); - void (*cursor_define)(QEMUCursor *cursor); -@@ -229,6 +236,12 @@ static inline void register_displaychang - ds->listeners = dcl; - } - -+static inline void register_displaypostcallback(DisplayState *ds, DisplayPostCallback *dpc) -+{ -+ dpc->next = ds->postcalls; -+ ds->postcalls = dpc; -+} -+ - static inline void dpy_update(DisplayState *s, int x, int y, int w, int h) - { - struct DisplayChangeListener *dcl = s->listeners; -Index: qemu-0.14.0/hw/vmware_vga.c -=================================================================== ---- qemu-0.14.0.orig/hw/vmware_vga.c -+++ qemu-0.14.0/hw/vmware_vga.c -@@ -1001,8 +1001,9 @@ static void vmsvga_update_display(void * - } - } - --static void vmsvga_reset(struct vmsvga_state_s *s) -+static void vmsvga_reset(void *parm) - { -+ struct vmsvga_state_s *s = (struct vmsvga_state_s *)parm; - s->index = 0; - s->enable = 0; - s->config = 0; -@@ -1207,6 +1208,8 @@ static const VMStateDescription vmstate_ - - static void vmsvga_init(struct vmsvga_state_s *s, int vga_ram_size) - { -+ DisplayPostCallback *dpc; -+ - s->scratch_size = SVGA_SCRATCH_SIZE; - s->scratch = qemu_malloc(s->scratch_size * 4); - -@@ -1224,7 +1227,10 @@ static void vmsvga_init(struct vmsvga_st - vga_init(&s->vga); - vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga); - -- vmsvga_reset(s); -+ dpc = qemu_mallocz(sizeof(DisplayPostCallback)); -+ dpc->postcall = vmsvga_reset; -+ dpc->parm = s; -+ register_displaypostcallback(s->vga.ds, dpc); - } - - static void pci_vmsvga_map_ioport(PCIDevice *pci_dev, int region_num, -Index: qemu-0.14.0/qemu-common.h -=================================================================== ---- qemu-0.14.0.orig/qemu-common.h -+++ qemu-0.14.0/qemu-common.h -@@ -241,6 +241,7 @@ typedef struct DisplayState DisplayState - typedef struct DisplayChangeListener DisplayChangeListener; - typedef struct DisplaySurface DisplaySurface; - typedef struct DisplayAllocator DisplayAllocator; -+typedef struct DisplayPostCallback DisplayPostCallback; - typedef struct PixelFormat PixelFormat; - typedef struct TextConsole TextConsole; - typedef TextConsole QEMUConsole; -Index: qemu-0.14.0/vl.c -=================================================================== ---- qemu-0.14.0.orig/vl.c -+++ qemu-0.14.0/vl.c -@@ -1920,6 +1920,7 @@ int main(int argc, char **argv, char **e - char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */ - DisplayState *ds; - DisplayChangeListener *dcl; -+ DisplayPostCallback *dpc; - int cyls, heads, secs, translation; - QemuOpts *hda_opts = NULL, *opts; - QemuOptsList *olist; -@@ -3101,6 +3102,13 @@ int main(int argc, char **argv, char **e - - /* display setup */ - dpy_resize(ds); -+ dpc = ds->postcalls; -+ while (dpc != NULL) { -+ if (dpc->postcall != NULL) -+ dpc->postcall(dpc->parm); -+ dpc = dpc->next; -+ } -+ - dcl = ds->listeners; - while (dcl != NULL) { - if (dcl->dpy_refresh != NULL) { diff --git a/meta/recipes-devtools/qemu/qemu-git/remove-hardcoded-libexec.patch b/meta/recipes-devtools/qemu/qemu-git/remove-hardcoded-libexec.patch deleted file mode 100644 index 83f5463aad..0000000000 --- a/meta/recipes-devtools/qemu/qemu-git/remove-hardcoded-libexec.patch +++ /dev/null @@ -1,41 +0,0 @@ -This will allow the libexecdir to be set on the command line -and have the files installed and used from the correct location - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Saul Wold - -Index: qemu-1.2.0/configure -=================================================================== ---- qemu-1.2.0.orig/configure -+++ qemu-1.2.0/configure -@@ -183,6 +183,7 @@ datadir="\${prefix}/share" - qemu_docdir="\${prefix}/share/doc/qemu" - bindir="\${prefix}/bin" - libdir="\${prefix}/lib" -+libexecdir="\${prefix}/libexec" - includedir="\${prefix}/include" - sysconfdir="\${prefix}/etc" - confsuffix="/qemu" -@@ -644,7 +645,9 @@ for opt do - ;; - --sysconfdir=*) sysconfdir="$optarg" - ;; -- --sbindir=*|--libexecdir=*|--sharedstatedir=*|--localstatedir=*|\ -+ --libexecdir=*) libexecdir="$optarg" -+ ;; -+ --sbindir=*|--sharedstatedir=*|--localstatedir=*|\ - --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\ - --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*) - # These switches are silently ignored, for compatibility with -@@ -3190,8 +3193,8 @@ echo "sysconfdir=$sysconfdir" >> $config - echo "qemu_confdir=$qemu_confdir" >> $config_host_mak - echo "qemu_datadir=$qemu_datadir" >> $config_host_mak - echo "qemu_docdir=$qemu_docdir" >> $config_host_mak --echo "libexecdir=\${prefix}/libexec" >> $config_host_mak --echo "CONFIG_QEMU_HELPERDIR=\"$prefix/libexec\"" >> $config_host_mak -+echo "libexecdir=$libexecdir" >> $config_host_mak -+echo "CONFIG_QEMU_HELPERDIR=$libexecdir" >> $config_host_mak - - echo "ARCH=$ARCH" >> $config_host_mak - if test "$debug_tcg" = "yes" ; then diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 95556ba8f7..ca411a6ef9 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc @@ -1,23 +1,54 @@ DESCRIPTION = "open source processor emulator" HOMEPAGE = "http://qemu.org" LICENSE = "GPLv2 & LGPLv2.1" -DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11" +DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11 pixman" +DEPENDS_class-native = "zlib-native alsa-lib-native glib-2.0-native pixman-native" +DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-libsdl nativesdk-glib-2.0 nativesdk-pixman" +RDEPENDS_class-nativesdk = "nativesdk-libsdl" + +require qemu-targets.inc +inherit autotools +BBCLASSEXTEND = "native nativesdk" # QEMU_TARGETS is overridable variable QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64" -require qemu-targets.inc - SDL ?= "--disable-sdl" SDL_class-native ?= "" SDL_class-nativesdk ?= "" -EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls --audio-drv-list=oss,alsa --audio-card-list=ac97,es1370 ${SDL} --disable-curl --disable-vnc-jpeg --disable-bluez" +SRC_URI = "\ + file://powerpc_rom.bin \ + file://no-strip.patch \ + file://linker-flags.patch \ + file://fix-configure-checks.patch \ + file://fallback-to-safe-mmap_min_addr.patch \ + file://larger_default_ram_size.patch \ + file://arm-bgr.patch \ + file://Revert-vmware_vga-Add-back-some-info-in-local-state-.patch \ + " -#EXTRA_OECONF += "--disable-sdl" +SRC_URI_append_class-nativesdk = "\ + file://relocatable_sdk.patch \ + " +EXTRA_OECONF += "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls --audio-drv-list=oss,alsa --audio-card-list=ac97,es1370 ${SDL} --disable-curl --disable-vnc-jpeg --disable-bluez --with-system-pixman" -inherit autotools +EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls \ + --disable-curl \ + " + +do_configure_prepend_class-native() { + # Undo the -lX11 added by linker-flags.patch, don't assume that host has libX11 installed + sed -i 's/-lX11//g' Makefile.target +} + +do_configure_prepend_class-nativesdk() { + if [ "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" = "" ] ; then + # Undo the -lX11 added by linker-flags.patch + sed -i 's/-lX11//g' Makefile.target + fi +} do_configure() { # Handle distros such as CentOS 5 32-bit that do not have kvm support @@ -38,16 +69,21 @@ do_install () { install -m 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu } -PACKAGECONFIG ??= "" - -DEPENDS_class-native = "zlib-native alsa-lib-native glib-2.0-native" -DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-libsdl nativesdk-glib-2.0" -RDEPENDS_class-nativesdk = "nativesdk-libsdl" -EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls \ - --disable-curl \ - " +# The following fragment will create a wrapper for qemu-mips user emulation +# binary in order to work around a segmentation fault issue. Basically, by +# default, the reserved virtual address space for 32-on-64 bit is set to 4GB. +# This will trigger a MMU access fault in the virtual CPU. With this change, +# the qemu-mips works fine. +# IMPORTANT: This piece needs to be removed once the root cause is fixed! +do_install_append() { + if [ -e "${D}/${bindir}/qemu-mips" ]; then + create_wrapper ${D}/${bindir}/qemu-mips \ + QEMU_RESERVED_VA=0x0 + fi +} +# END of qemu-mips workaround -BBCLASSEXTEND = "native nativesdk" +PACKAGECONFIG ??= "" # Qemu target will not build in world build for ARM or Mips BROKEN_qemuarm = "1" diff --git a/meta/recipes-devtools/qemu/qemu_1.2.0.bb b/meta/recipes-devtools/qemu/qemu_1.2.0.bb deleted file mode 100644 index af5eb0349c..0000000000 --- a/meta/recipes-devtools/qemu/qemu_1.2.0.bb +++ /dev/null @@ -1,52 +0,0 @@ -require qemu.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ - file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" - -SRC_URI = "\ - http://wiki.qemu.org/download/qemu-${PV}.tar.bz2 \ - file://powerpc_rom.bin \ - file://no-strip.patch \ - file://linker-flags.patch \ - file://qemu-vmware-vga-depth.patch \ - file://fix-configure-checks.patch \ - file://fallback-to-safe-mmap_min_addr.patch \ - file://larger_default_ram_size.patch \ - file://arm-bgr.patch \ - file://remove-hardcoded-libexec.patch \ - " -SRC_URI[md5sum] = "78eb1e984f4532aa9f2bdd3c127b5b61" -SRC_URI[sha256sum] = "c8b84420d9f4869397f84cad2dabd9a475b7723d619a924a873740353e9df936" - -PR = "r4" - -SRC_URI_append_class-nativesdk = "\ - file://relocatable_sdk.patch \ - " - -do_configure_prepend_class-nativesdk() { - if [ "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" = "" ] ; then - # Undo the -lX11 added by linker-flags.patch - sed -i 's/-lX11//g' Makefile.target - fi -} - -# The following fragment will create a wrapper for qemu-mips user emulation -# binary in order to work around a segmentation fault issue. Basically, by -# default, the reserved virtual address space for 32-on-64 bit is set to 4GB. -# This will trigger a MMU access fault in the virtual CPU. With this change, -# the qemu-mips works fine. -# IMPORTANT: This piece needs to be removed once the root cause is fixed! -do_install_append() { - if [ -e "${D}/${bindir}/qemu-mips" ]; then - create_wrapper ${D}/${bindir}/qemu-mips \ - QEMU_RESERVED_VA=0x0 - fi -} -# END of qemu-mips workaround - -do_configure_prepend_class-native() { - # Undo the -lX11 added by linker-flags.patch, don't assume that host has libX11 installed - sed -i 's/-lX11//g' Makefile.target -} - diff --git a/meta/recipes-devtools/qemu/qemu_1.3.0.bb b/meta/recipes-devtools/qemu/qemu_1.3.0.bb new file mode 100644 index 0000000000..7d007eab8a --- /dev/null +++ b/meta/recipes-devtools/qemu/qemu_1.3.0.bb @@ -0,0 +1,10 @@ +require qemu.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ + file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" + +SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2" +SRC_URI[md5sum] = "a4030ddd2ba324152a97d65d3c0b247d" +SRC_URI[sha256sum] = "878055ec05bc28fecfe2da97eb8bc992e8635575b67cebdfc5ca1ede171140a8" + +PR = "r0" diff --git a/meta/recipes-devtools/qemu/qemu_git.bb b/meta/recipes-devtools/qemu/qemu_git.bb index 0b58cf7938..94652032bf 100644 --- a/meta/recipes-devtools/qemu/qemu_git.bb +++ b/meta/recipes-devtools/qemu/qemu_git.bb @@ -1,19 +1,14 @@ require qemu.inc -SRCREV = "6e4c0d1f03d6ab407509c32fab7cb4b8230f57ff" +SRCREV = "6d6c9f59ca1b1a76ade7ad868bef191818f58819" LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" -PV = "1.2+git" +PV = "1.3.0+git${SRCPV}" PR = "r0" -FILESPATH = "${FILE_DIRNAME}/qemu-${PV}/:${FILE_DIRNAME}/qemu-git/" - -SRC_URI = "\ - git://git.qemu.org/qemu.git;protocol=git \ - file://powerpc_rom.bin \ - " +SRC_URI_prepend = "git://git.qemu.org/qemu.git;protocol=git" S = "${WORKDIR}/git" DEFAULT_PREFERENCE = "-1" -- cgit v1.2.3-54-g00ecf