qemu: upgrade to 1.3.0
authorConstantin Musca <constantinx.musca@intel.com>
Mon, 10 Dec 2012 08:08:13 +0000 (10:08 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 13 Dec 2012 15:18:42 +0000 (15:18 +0000)
remove-hardcoded-libexec.patch: removed
    - included in the new version

qemu-vmware-vga-depth.patch: removed
    - doesn't apply anymore
    - the problem addressed by the patch is fixed by
reverting commit 1f202568e0553b416483e5993f1bde219c22cf72

Revert-vmware_vga-Add-back-some-info-in-local-state-.patch:
    - VMware VGA requires that the depth presented to the guest
to be the same as the Display Surface depth in order to do not
corrupt the display
    - do not cache the DS depth (the depth might change)
    - revert commit 1f202568

- QEMU now uses pixman (DEPENDS += "pixman")
- rearrange the recipe in order to mimic the bitbake flow
- update both variants (.tar.bz2, git)

(From OE-Core rev: 7622c4f6c050f26f252066a0fcaacdbf340dcefa)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
23 files changed:
meta/recipes-devtools/qemu/files/Revert-vmware_vga-Add-back-some-info-in-local-state-.patch [new file with mode: 0644]
meta/recipes-devtools/qemu/files/arm-bgr.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/arm-bgr.patch with 100% similarity]
meta/recipes-devtools/qemu/files/enable-i386-linux-user.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/enable-i386-linux-user.patch with 100% similarity]
meta/recipes-devtools/qemu/files/fallback-to-safe-mmap_min_addr.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/fallback-to-safe-mmap_min_addr.patch with 100% similarity]
meta/recipes-devtools/qemu/files/fix-configure-checks.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/fix-configure-checks.patch with 100% similarity]
meta/recipes-devtools/qemu/files/init-info.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/init-info.patch with 100% similarity]
meta/recipes-devtools/qemu/files/larger_default_ram_size.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/larger_default_ram_size.patch with 100% similarity]
meta/recipes-devtools/qemu/files/linker-flags.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/linker-flags.patch with 100% similarity]
meta/recipes-devtools/qemu/files/no-strip.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/no-strip.patch with 100% similarity]
meta/recipes-devtools/qemu/files/powerpc_rom.bin [moved from meta/recipes-devtools/qemu/qemu-git/powerpc_rom.bin with 100% similarity]
meta/recipes-devtools/qemu/files/relocatable_sdk.patch [moved from meta/recipes-devtools/qemu/qemu-1.2.0/relocatable_sdk.patch with 100% similarity]
meta/recipes-devtools/qemu/qemu-1.2.0/powerpc_rom.bin [deleted file]
meta/recipes-devtools/qemu/qemu-1.2.0/qemu-vmware-vga-depth.patch [deleted file]
meta/recipes-devtools/qemu/qemu-1.2.0/remove-hardcoded-libexec.patch [deleted file]
meta/recipes-devtools/qemu/qemu-git/enable-i386-linux-user.patch [deleted file]
meta/recipes-devtools/qemu/qemu-git/linker-flags.patch [deleted file]
meta/recipes-devtools/qemu/qemu-git/no-strip.patch [deleted file]
meta/recipes-devtools/qemu/qemu-git/qemu-vmware-vga-depth.patch [deleted file]
meta/recipes-devtools/qemu/qemu-git/remove-hardcoded-libexec.patch [deleted file]
meta/recipes-devtools/qemu/qemu.inc
meta/recipes-devtools/qemu/qemu_1.2.0.bb [deleted file]
meta/recipes-devtools/qemu/qemu_1.3.0.bb [new file with mode: 0644]
meta/recipes-devtools/qemu/qemu_git.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 (file)
index 0000000..d56256e
--- /dev/null
@@ -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/powerpc_rom.bin b/meta/recipes-devtools/qemu/qemu-1.2.0/powerpc_rom.bin
deleted file mode 100644 (file)
index c404429..0000000
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 (file)
index a1b8035..0000000
+++ /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 (file)
index 8db460a..0000000
+++ /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 (file)
index 76ed3a8..0000000
+++ /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 (file)
index 4569643..0000000
+++ /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 (file)
index 098070a..0000000
+++ /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/qemu-vmware-vga-depth.patch b/meta/recipes-devtools/qemu/qemu-git/qemu-vmware-vga-depth.patch
deleted file mode 100644 (file)
index c4c5424..0000000
+++ /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 (file)
index 83f5463..0000000
+++ /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
index 95556ba..ca411a6 100644 (file)
@@ -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 (file)
index af5eb03..0000000
+++ /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 (file)
index 0000000..7d007ea
--- /dev/null
@@ -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"
index 0b58cf7..9465203 100644 (file)
@@ -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"