mirror of
https://git.yoctoproject.org/poky
synced 2026-11-14 14:37:12 +00:00
qemu: upgrade to 1.3.0
remove-hardcoded-libexec.patch: removed
- included in the new version
qemu-vmware-vga-depth.patch: removed
- doesn't apply anymore
- the problem addressed by the patch is fixed by
reverting commit 1f202568e0553b416483e5993f1bde219c22cf72
Revert-vmware_vga-Add-back-some-info-in-local-state-.patch:
- VMware VGA requires that the depth presented to the guest
to be the same as the Display Surface depth in order to do not
corrupt the display
- do not cache the DS depth (the depth might change)
- revert commit 1f202568
- QEMU now uses pixman (DEPENDS += "pixman")
- rearrange the recipe in order to mimic the bitbake flow
- update both variants (.tar.bz2, git)
(From OE-Core rev: 7622c4f6c050f26f252066a0fcaacdbf340dcefa)
Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
1 parent
24b4976a42
commit
505f88fd3e
23 files changed
+178
-476
No files matched your search
+114
@@ -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
|
||||
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -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) {
|
||||
@@ -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
|
||||
@@ -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)
|
||||
+{
|
||||
+}
|
||||
@@ -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)
|
||||
@@ -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)"
|
||||
Binary file not shown.
@@ -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) {
|
||||
@@ -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
|
||||
@@ -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,17 +69,22 @@ do_install () {
|
||||
install -m 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
|
||||
}
|
||||
|
||||
# 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
|
||||
|
||||
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 \
|
||||
"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
# Qemu target will not build in world build for ARM or Mips
|
||||
BROKEN_qemuarm = "1"
|
||||
BROKEN_qemumips = "1"
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
Reference in new issue
Block a user