summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools
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
parentb41e55a7ee226a0ae4efdd633cab94e1cc846525 (diff)
downloadopenembedded-core-7622c4f6c050f26f252066a0fcaacdbf340dcefa.tar.gz
openembedded-core-7622c4f6c050f26f252066a0fcaacdbf340dcefa.tar.bz2
openembedded-core-7622c4f6c050f26f252066a0fcaacdbf340dcefa.zip
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')
-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.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/arm-bgr.patch)0
-rw-r--r--meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/enable-i386-linux-user.patch)0
-rw-r--r--meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/fallback-to-safe-mmap_min_addr.patch)0
-rw-r--r--meta/recipes-devtools/qemu/files/fix-configure-checks.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/fix-configure-checks.patch)0
-rw-r--r--meta/recipes-devtools/qemu/files/init-info.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/init-info.patch)0
-rw-r--r--meta/recipes-devtools/qemu/files/larger_default_ram_size.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/larger_default_ram_size.patch)0
-rw-r--r--meta/recipes-devtools/qemu/files/linker-flags.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/linker-flags.patch)0
-rw-r--r--meta/recipes-devtools/qemu/files/no-strip.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/no-strip.patch)0
-rw-r--r--meta/recipes-devtools/qemu/files/powerpc_rom.bin (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/powerpc_rom.bin)bin4096 -> 4096 bytes
-rw-r--r--meta/recipes-devtools/qemu/files/relocatable_sdk.patch (renamed from meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch)0
-rw-r--r--meta/recipes-devtools/qemu/qemu-1.2.0/qemu-vmware-vga-depth.patch106
-rw-r--r--meta/recipes-devtools/qemu/qemu-1.2.0/remove-hardcoded-libexec.patch41
-rw-r--r--meta/recipes-devtools/qemu/qemu-git/enable-i386-linux-user.patch55
-rw-r--r--meta/recipes-devtools/qemu/qemu-git/linker-flags.patch25
-rw-r--r--meta/recipes-devtools/qemu/qemu-git/no-strip.patch15
-rw-r--r--meta/recipes-devtools/qemu/qemu-git/powerpc_rom.binbin4096 -> 0 bytes
-rw-r--r--meta/recipes-devtools/qemu/qemu-git/qemu-vmware-vga-depth.patch118
-rw-r--r--meta/recipes-devtools/qemu/qemu-git/remove-hardcoded-libexec.patch41
-rw-r--r--meta/recipes-devtools/qemu/qemu.inc66
-rw-r--r--meta/recipes-devtools/qemu/qemu_1.2.0.bb52
-rw-r--r--meta/recipes-devtools/qemu/qemu_1.3.0.bb10
-rw-r--r--meta/recipes-devtools/qemu/qemu_git.bb11
23 files changed, 178 insertions, 476 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/qemu-1.2.0/arm-bgr.patch b/meta/recipes-devtools/qemu/files/arm-bgr.patch
index f3ebde6364..f3ebde6364 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/arm-bgr.patch
+++ b/meta/recipes-devtools/qemu/files/arm-bgr.patch
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/enable-i386-linux-user.patch b/meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch
index bb0d6a3848..bb0d6a3848 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/enable-i386-linux-user.patch
+++ b/meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/fallback-to-safe-mmap_min_addr.patch b/meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch
index 2075386b9f..2075386b9f 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/fallback-to-safe-mmap_min_addr.patch
+++ b/meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/fix-configure-checks.patch b/meta/recipes-devtools/qemu/files/fix-configure-checks.patch
index ef77c92842..ef77c92842 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/fix-configure-checks.patch
+++ b/meta/recipes-devtools/qemu/files/fix-configure-checks.patch
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/init-info.patch b/meta/recipes-devtools/qemu/files/init-info.patch
index 2250444a2b..2250444a2b 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/init-info.patch
+++ b/meta/recipes-devtools/qemu/files/init-info.patch
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/larger_default_ram_size.patch b/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch
index 711c36071d..711c36071d 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/larger_default_ram_size.patch
+++ b/meta/recipes-devtools/qemu/files/larger_default_ram_size.patch
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/linker-flags.patch b/meta/recipes-devtools/qemu/files/linker-flags.patch
index 0106ae2420..0106ae2420 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/linker-flags.patch
+++ b/meta/recipes-devtools/qemu/files/linker-flags.patch
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/no-strip.patch b/meta/recipes-devtools/qemu/files/no-strip.patch
index d6a4377cd0..d6a4377cd0 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/no-strip.patch
+++ b/meta/recipes-devtools/qemu/files/no-strip.patch
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/powerpc_rom.bin b/meta/recipes-devtools/qemu/files/powerpc_rom.bin
index c4044296c5..c4044296c5 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/powerpc_rom.bin
+++ b/meta/recipes-devtools/qemu/files/powerpc_rom.bin
Binary files differ
diff --git a/meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch b/meta/recipes-devtools/qemu/files/relocatable_sdk.patch
index 0a01a8a048..0a01a8a048 100644
--- a/meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch
+++ b/meta/recipes-devtools/qemu/files/relocatable_sdk.patch
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/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 <sgw@linux.intel.com>
-
-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 <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/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
--- a/meta/recipes-devtools/qemu/qemu-git/powerpc_rom.bin
+++ /dev/null
Binary files 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 <sgw@linux.intel.com>
-
-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"