summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorConstantin Musca <constantinx.musca@intel.com>2012-12-10 10:08:13 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-12-13 15:18:42 +0000
commit505f88fd3e169b3481c2bb2afbef535db00d095f (patch)
treeac8046059d916008a8fa8941cddd9dcaedfbf9b0 /meta
parent24b4976a42bd6eb0e89a555ccfce71931c7c6957 (diff)
downloadpoky-505f88fd3e169b3481c2bb2afbef535db00d095f.tar.gz
qemu: upgrade to 1.3.0
remove-hardcoded-libexec.patch: removed - included in the new version qemu-vmware-vga-depth.patch: removed - doesn't apply anymore - the problem addressed by the patch is fixed by reverting commit 1f202568e0553b416483e5993f1bde219c22cf72 Revert-vmware_vga-Add-back-some-info-in-local-state-.patch: - VMware VGA requires that the depth presented to the guest to be the same as the Display Surface depth in order to do not corrupt the display - do not cache the DS depth (the depth might change) - revert commit 1f202568 - QEMU now uses pixman (DEPENDS += "pixman") - rearrange the recipe in order to mimic the bitbake flow - update both variants (.tar.bz2, git) (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>
Diffstat (limited to 'meta')
-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 @@
1From 2cf7df441ce4c36525ba4d2d040f8cb0b0c75f14 Mon Sep 17 00:00:00 2001
2From: Constantin Musca <constantinx.musca@intel.com>
3Date: Fri, 7 Dec 2012 12:33:42 +0200
4Subject: [PATCH] Revert "vmware_vga: Add back some info in local state
5 partially reverting aa32b38c"
6
7- this reverts commit 1f202568e0553b416483e5993f1bde219c22cf72
8- do not cache the DS depth (the depth might change)
9
10Upstream-Status: Pending
11Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
12---
13 hw/vmware_vga.c | 30 +++++++++---------------------
14 1 file changed, 9 insertions(+), 21 deletions(-)
15
16diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c
17index 834588d..7c766fb 100644
18--- a/hw/vmware_vga.c
19+++ b/hw/vmware_vga.c
20@@ -39,8 +39,6 @@ struct vmsvga_state_s {
21 VGACommonState vga;
22
23 int invalidated;
24- int depth;
25- int bypp;
26 int enable;
27 int config;
28 struct {
29@@ -57,9 +55,6 @@ struct vmsvga_state_s {
30 int new_height;
31 uint32_t guest;
32 uint32_t svgaid;
33- uint32_t wred;
34- uint32_t wgreen;
35- uint32_t wblue;
36 int syncing;
37
38 MemoryRegion fifo_ram;
39@@ -723,25 +718,25 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address)
40 return SVGA_MAX_HEIGHT;
41
42 case SVGA_REG_DEPTH:
43- return s->depth;
44+ return ds_get_depth(s->vga.ds);
45
46 case SVGA_REG_BITS_PER_PIXEL:
47- return (s->depth + 7) & ~7;
48+ return ds_get_bits_per_pixel(s->vga.ds);
49
50 case SVGA_REG_PSEUDOCOLOR:
51 return 0x0;
52
53 case SVGA_REG_RED_MASK:
54- return s->wred;
55+ return ds_get_rmask(s->vga.ds);
56
57 case SVGA_REG_GREEN_MASK:
58- return s->wgreen;
59+ return ds_get_gmask(s->vga.ds);
60
61 case SVGA_REG_BLUE_MASK:
62- return s->wblue;
63+ return ds_get_bmask(s->vga.ds);
64
65 case SVGA_REG_BYTES_PER_LINE:
66- return s->bypp * s->new_width;
67+ return ds_get_bytes_per_pixel(s->vga.ds) * s->new_width;
68
69 case SVGA_REG_FB_START: {
70 struct pci_vmsvga_state_s *pci_vmsvga
71@@ -806,7 +801,7 @@ static uint32_t vmsvga_value_read(void *opaque, uint32_t address)
72 return s->cursor.on;
73
74 case SVGA_REG_HOST_BITS_PER_PIXEL:
75- return (s->depth + 7) & ~7;
76+ return ds_get_bits_per_pixel(s->vga.ds);
77
78 case SVGA_REG_SCRATCH_SIZE:
79 return s->scratch_size;
80@@ -869,7 +864,7 @@ static void vmsvga_value_write(void *opaque, uint32_t address, uint32_t value)
81 break;
82
83 case SVGA_REG_BITS_PER_PIXEL:
84- if (value != s->depth) {
85+ if (value != ds_get_bits_per_pixel(s->vga.ds)) {
86 printf("%s: Bad bits per pixel: %i bits\n", __func__, value);
87 s->config = 0;
88 }
89@@ -1089,7 +1084,7 @@ static const VMStateDescription vmstate_vmware_vga_internal = {
90 .minimum_version_id_old = 0,
91 .post_load = vmsvga_post_load,
92 .fields = (VMStateField[]) {
93- VMSTATE_INT32_EQUAL(depth, struct vmsvga_state_s),
94+ VMSTATE_UNUSED(4), /* was depth */
95 VMSTATE_INT32(enable, struct vmsvga_state_s),
96 VMSTATE_INT32(config, struct vmsvga_state_s),
97 VMSTATE_INT32(cursor.id, struct vmsvga_state_s),
98@@ -1142,13 +1137,6 @@ static void vmsvga_init(struct vmsvga_state_s *s,
99 vga_common_init(&s->vga);
100 vga_init(&s->vga, address_space, io, true);
101 vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga);
102- /* Save some values here in case they are changed later.
103- * This is suspicious and needs more though why it is needed. */
104- s->depth = ds_get_bits_per_pixel(s->vga.ds);
105- s->bypp = ds_get_bytes_per_pixel(s->vga.ds);
106- s->wred = ds_get_rmask(s->vga.ds);
107- s->wgreen = ds_get_gmask(s->vga.ds);
108- s->wblue = ds_get_bmask(s->vga.ds);
109 }
110
111 static uint64_t vmsvga_io_read(void *opaque, hwaddr addr, unsigned size)
112--
1131.7.11.7
114
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 @@
1# fix VMware VGA driver depth calculation error, which may cause segmentation fault
2#
3# ktian1, 06/29/2010
4
5Upstream-Status: Pending
6
7Index: qemu-1.2.0/console.h
8===================================================================
9--- qemu-1.2.0.orig/console.h 2012-09-06 14:12:23.371832381 -0700
10+++ qemu-1.2.0/console.h 2012-09-06 14:12:23.627832390 -0700
11@@ -171,6 +171,12 @@
12 void (*free_displaysurface)(DisplaySurface *surface);
13 };
14
15+struct DisplayPostCallback {
16+ void (*postcall) (void *);
17+ void *parm;
18+ struct DisplayPostCallback *next;
19+};
20+
21 struct DisplayState {
22 struct DisplaySurface *surface;
23 void *opaque;
24@@ -178,6 +184,7 @@
25
26 struct DisplayAllocator* allocator;
27 struct DisplayChangeListener* listeners;
28+ struct DisplayPostCallback* postcalls;
29
30 void (*mouse_set)(int x, int y, int on);
31 void (*cursor_define)(QEMUCursor *cursor);
32@@ -233,6 +240,12 @@
33 ds->listeners = dcl;
34 }
35
36+static inline void register_displaypostcallback(DisplayState *ds, DisplayPostCallback *dpc)
37+{
38+ dpc->next = ds->postcalls;
39+ ds->postcalls = dpc;
40+}
41+
42 static inline void dpy_update(DisplayState *s, int x, int y, int w, int h)
43 {
44 struct DisplayChangeListener *dcl = s->listeners;
45Index: qemu-1.2.0/hw/vmware_vga.c
46===================================================================
47--- qemu-1.2.0.orig/hw/vmware_vga.c 2012-09-06 14:12:23.371832381 -0700
48+++ qemu-1.2.0/hw/vmware_vga.c 2012-09-06 14:18:05.595845288 -0700
49@@ -1081,6 +1081,8 @@
50 static void vmsvga_init(struct vmsvga_state_s *s,
51 MemoryRegion *address_space, MemoryRegion *io)
52 {
53+ DisplayPostCallback *dpc;
54+
55 s->scratch_size = SVGA_SCRATCH_SIZE;
56 s->scratch = g_malloc(s->scratch_size * 4);
57
58@@ -1098,6 +1100,10 @@
59 vga_common_init(&s->vga);
60 vga_init(&s->vga, address_space, io, true);
61 vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga);
62+ dpc = g_malloc0(sizeof(DisplayPostCallback));
63+ dpc->postcall = vmsvga_reset;
64+ dpc->parm = s;
65+ register_displaypostcallback(s->vga.ds, dpc);
66
67 s->depth = ds_get_bits_per_pixel(s->vga.ds);
68 s->bypp = ds_get_bytes_per_pixel(s->vga.ds);
69Index: qemu-1.2.0/qemu-common.h
70===================================================================
71--- qemu-1.2.0.orig/qemu-common.h 2012-09-06 14:12:23.371832381 -0700
72+++ qemu-1.2.0/qemu-common.h 2012-09-06 14:12:23.643832391 -0700
73@@ -250,6 +250,7 @@
74 typedef struct DisplayChangeListener DisplayChangeListener;
75 typedef struct DisplaySurface DisplaySurface;
76 typedef struct DisplayAllocator DisplayAllocator;
77+typedef struct DisplayPostCallback DisplayPostCallback;
78 typedef struct PixelFormat PixelFormat;
79 typedef struct TextConsole TextConsole;
80 typedef TextConsole QEMUConsole;
81Index: qemu-1.2.0/vl.c
82===================================================================
83--- qemu-1.2.0.orig/vl.c 2012-09-06 14:12:23.371832381 -0700
84+++ qemu-1.2.0/vl.c 2012-09-06 14:17:32.635844142 -0700
85@@ -2352,6 +2352,7 @@
86 char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */
87 DisplayState *ds;
88 DisplayChangeListener *dcl;
89+ DisplayPostCallback *dpc;
90 int cyls, heads, secs, translation;
91 QemuOpts *hda_opts = NULL, *opts, *machine_opts;
92 QemuOptsList *olist;
93@@ -3699,6 +3700,13 @@
94
95 /* display setup */
96 dpy_resize(ds);
97+ dpc = ds->postcalls;
98+ while (dpc != NULL) {
99+ if (dpc->postcall != NULL)
100+ dpc->postcall(dpc->parm);
101+ dpc = dpc->next;
102+ }
103+
104 dcl = ds->listeners;
105 while (dcl != NULL) {
106 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 @@
1This will allow the libexecdir to be set on the command line
2and have the files installed and used from the correct location
3
4Upstream-Status: Inappropriate [oe-core specific]
5
6Signed-off-by: Saul Wold <sgw@linux.intel.com>
7
8Index: qemu-1.2.0/configure
9===================================================================
10--- qemu-1.2.0.orig/configure
11+++ qemu-1.2.0/configure
12@@ -183,6 +183,7 @@ datadir="\${prefix}/share"
13 qemu_docdir="\${prefix}/share/doc/qemu"
14 bindir="\${prefix}/bin"
15 libdir="\${prefix}/lib"
16+libexecdir="\${prefix}/libexec"
17 includedir="\${prefix}/include"
18 sysconfdir="\${prefix}/etc"
19 confsuffix="/qemu"
20@@ -644,7 +645,9 @@ for opt do
21 ;;
22 --sysconfdir=*) sysconfdir="$optarg"
23 ;;
24- --sbindir=*|--libexecdir=*|--sharedstatedir=*|--localstatedir=*|\
25+ --libexecdir=*) libexecdir="$optarg"
26+ ;;
27+ --sbindir=*|--sharedstatedir=*|--localstatedir=*|\
28 --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
29 --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
30 # These switches are silently ignored, for compatibility with
31@@ -3190,8 +3193,8 @@ echo "sysconfdir=$sysconfdir" >> $config
32 echo "qemu_confdir=$qemu_confdir" >> $config_host_mak
33 echo "qemu_datadir=$qemu_datadir" >> $config_host_mak
34 echo "qemu_docdir=$qemu_docdir" >> $config_host_mak
35-echo "libexecdir=\${prefix}/libexec" >> $config_host_mak
36-echo "CONFIG_QEMU_HELPERDIR=\"$prefix/libexec\"" >> $config_host_mak
37+echo "libexecdir=$libexecdir" >> $config_host_mak
38+echo "CONFIG_QEMU_HELPERDIR=\"$libexecdir\"" >> $config_host_mak
39
40 echo "ARCH=$ARCH" >> $config_host_mak
41 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 @@
1Enable i386-linux-user
2
3Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
4
5Upstream-Status: Inappropriate [configuration]
6
7Index: qemu-0.14.0/Makefile.target
8===================================================================
9--- qemu-0.14.0.orig/Makefile.target
10+++ qemu-0.14.0/Makefile.target
11@@ -78,8 +78,13 @@ ifeq ($(TARGET_BASE_ARCH), i386)
12 libobj-y += cpuid.o
13 endif
14 libobj-$(CONFIG_NEED_MMU) += mmu.o
15+ifndef CONFIG_LINUX_USER
16 libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o
17 libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o
18+else
19+libobj-$(TARGET_I386) += dummygl.o
20+libobj-$(TARGET_X86_64) += dummygl.o
21+endif #CONFIG_LINUX_USER
22 libobj-$(TARGET_ARM) += dummygl.o
23 libobj-$(TARGET_MIPS) += dummygl.o
24 libobj-$(TARGET_PPC) += dummygl.o
25Index: qemu-0.14.0/target-i386/dummygl.c
26===================================================================
27--- /dev/null
28+++ qemu-0.14.0/target-i386/dummygl.c
29@@ -0,0 +1,26 @@
30+#include <string.h>
31+#include <stdlib.h>
32+#include <assert.h>
33+#include <stdint.h>
34+#include <X11/Xlib.h>
35+#include <X11/Xutil.h>
36+
37+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window)
38+{
39+
40+}
41+
42+void opengl_process_enable(void)
43+{
44+
45+}
46+
47+
48+void mem_opengl(uint64_t ptr)
49+{
50+
51+}
52+
53+void helper_opengl(void)
54+{
55+}
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 @@
1Fedora 13 switched the default behaviour of the linker to no longer
2indirectly link to required libraries (i.e. dependencies of a library
3already linked to). Therefore we need to explicitly pass the depended on
4libraries into the linker for building to work on Fedora 13.
5
6More information is available on the Fedora Wiki:
7https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
8
9JL - 15/06/10
10
11Upstream-Status: Inappropriate [configuration]
12
13Index: qemu-0.14.0/Makefile.target
14===================================================================
15--- qemu-0.14.0.orig/Makefile.target
16+++ qemu-0.14.0/Makefile.target
17@@ -218,7 +218,7 @@ obj-$(CONFIG_REALLY_VIRTFS) += virtio-9p
18 obj-y += rwhandler.o
19 obj-$(CONFIG_KVM) += kvm.o kvm-all.o
20 obj-$(CONFIG_NO_KVM) += kvm-stub.o
21-LIBS+=-lz
22+LIBS+=-lz -lX11 -ldl
23
24 QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
25 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 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: qemu-0.14.0/Makefile
4===================================================================
5--- qemu-0.14.0.orig/Makefile
6+++ qemu-0.14.0/Makefile
7@@ -235,7 +235,7 @@ install-sysconfig:
8 install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig
9 $(INSTALL_DIR) "$(DESTDIR)$(bindir)"
10 ifneq ($(TOOLS),)
11- $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)"
12+ $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)"
13 endif
14 ifneq ($(BLOBS),)
15 $(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 @@
1# fix VMware VGA driver depth calculation error, which may cause segmentation fault
2#
3# ktian1, 06/29/2010
4
5Upstream-Status: Pending
6
7Index: qemu-0.14.0/console.h
8===================================================================
9--- qemu-0.14.0.orig/console.h
10+++ qemu-0.14.0/console.h
11@@ -171,6 +171,12 @@ struct DisplayAllocator {
12 void (*free_displaysurface)(DisplaySurface *surface);
13 };
14
15+struct DisplayPostCallback {
16+ void (*postcall) (void *);
17+ void *parm;
18+ struct DisplayPostCallback *next;
19+};
20+
21 struct DisplayState {
22 struct DisplaySurface *surface;
23 void *opaque;
24@@ -178,6 +184,7 @@ struct DisplayState {
25
26 struct DisplayAllocator* allocator;
27 struct DisplayChangeListener* listeners;
28+ struct DisplayPostCallback* postcalls;
29
30 void (*mouse_set)(int x, int y, int on);
31 void (*cursor_define)(QEMUCursor *cursor);
32@@ -229,6 +236,12 @@ static inline void register_displaychang
33 ds->listeners = dcl;
34 }
35
36+static inline void register_displaypostcallback(DisplayState *ds, DisplayPostCallback *dpc)
37+{
38+ dpc->next = ds->postcalls;
39+ ds->postcalls = dpc;
40+}
41+
42 static inline void dpy_update(DisplayState *s, int x, int y, int w, int h)
43 {
44 struct DisplayChangeListener *dcl = s->listeners;
45Index: qemu-0.14.0/hw/vmware_vga.c
46===================================================================
47--- qemu-0.14.0.orig/hw/vmware_vga.c
48+++ qemu-0.14.0/hw/vmware_vga.c
49@@ -1001,8 +1001,9 @@ static void vmsvga_update_display(void *
50 }
51 }
52
53-static void vmsvga_reset(struct vmsvga_state_s *s)
54+static void vmsvga_reset(void *parm)
55 {
56+ struct vmsvga_state_s *s = (struct vmsvga_state_s *)parm;
57 s->index = 0;
58 s->enable = 0;
59 s->config = 0;
60@@ -1207,6 +1208,8 @@ static const VMStateDescription vmstate_
61
62 static void vmsvga_init(struct vmsvga_state_s *s, int vga_ram_size)
63 {
64+ DisplayPostCallback *dpc;
65+
66 s->scratch_size = SVGA_SCRATCH_SIZE;
67 s->scratch = qemu_malloc(s->scratch_size * 4);
68
69@@ -1224,7 +1227,10 @@ static void vmsvga_init(struct vmsvga_st
70 vga_init(&s->vga);
71 vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga);
72
73- vmsvga_reset(s);
74+ dpc = qemu_mallocz(sizeof(DisplayPostCallback));
75+ dpc->postcall = vmsvga_reset;
76+ dpc->parm = s;
77+ register_displaypostcallback(s->vga.ds, dpc);
78 }
79
80 static void pci_vmsvga_map_ioport(PCIDevice *pci_dev, int region_num,
81Index: qemu-0.14.0/qemu-common.h
82===================================================================
83--- qemu-0.14.0.orig/qemu-common.h
84+++ qemu-0.14.0/qemu-common.h
85@@ -241,6 +241,7 @@ typedef struct DisplayState DisplayState
86 typedef struct DisplayChangeListener DisplayChangeListener;
87 typedef struct DisplaySurface DisplaySurface;
88 typedef struct DisplayAllocator DisplayAllocator;
89+typedef struct DisplayPostCallback DisplayPostCallback;
90 typedef struct PixelFormat PixelFormat;
91 typedef struct TextConsole TextConsole;
92 typedef TextConsole QEMUConsole;
93Index: qemu-0.14.0/vl.c
94===================================================================
95--- qemu-0.14.0.orig/vl.c
96+++ qemu-0.14.0/vl.c
97@@ -1920,6 +1920,7 @@ int main(int argc, char **argv, char **e
98 char boot_devices[33] = "cad"; /* default to HD->floppy->CD-ROM */
99 DisplayState *ds;
100 DisplayChangeListener *dcl;
101+ DisplayPostCallback *dpc;
102 int cyls, heads, secs, translation;
103 QemuOpts *hda_opts = NULL, *opts;
104 QemuOptsList *olist;
105@@ -3101,6 +3102,13 @@ int main(int argc, char **argv, char **e
106
107 /* display setup */
108 dpy_resize(ds);
109+ dpc = ds->postcalls;
110+ while (dpc != NULL) {
111+ if (dpc->postcall != NULL)
112+ dpc->postcall(dpc->parm);
113+ dpc = dpc->next;
114+ }
115+
116 dcl = ds->listeners;
117 while (dcl != NULL) {
118 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 @@
1This will allow the libexecdir to be set on the command line
2and have the files installed and used from the correct location
3
4Upstream-Status: Inappropriate [oe-core specific]
5
6Signed-off-by: Saul Wold <sgw@linux.intel.com>
7
8Index: qemu-1.2.0/configure
9===================================================================
10--- qemu-1.2.0.orig/configure
11+++ qemu-1.2.0/configure
12@@ -183,6 +183,7 @@ datadir="\${prefix}/share"
13 qemu_docdir="\${prefix}/share/doc/qemu"
14 bindir="\${prefix}/bin"
15 libdir="\${prefix}/lib"
16+libexecdir="\${prefix}/libexec"
17 includedir="\${prefix}/include"
18 sysconfdir="\${prefix}/etc"
19 confsuffix="/qemu"
20@@ -644,7 +645,9 @@ for opt do
21 ;;
22 --sysconfdir=*) sysconfdir="$optarg"
23 ;;
24- --sbindir=*|--libexecdir=*|--sharedstatedir=*|--localstatedir=*|\
25+ --libexecdir=*) libexecdir="$optarg"
26+ ;;
27+ --sbindir=*|--sharedstatedir=*|--localstatedir=*|\
28 --oldincludedir=*|--datarootdir=*|--infodir=*|--localedir=*|\
29 --htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
30 # These switches are silently ignored, for compatibility with
31@@ -3190,8 +3193,8 @@ echo "sysconfdir=$sysconfdir" >> $config
32 echo "qemu_confdir=$qemu_confdir" >> $config_host_mak
33 echo "qemu_datadir=$qemu_datadir" >> $config_host_mak
34 echo "qemu_docdir=$qemu_docdir" >> $config_host_mak
35-echo "libexecdir=\${prefix}/libexec" >> $config_host_mak
36-echo "CONFIG_QEMU_HELPERDIR=\"$prefix/libexec\"" >> $config_host_mak
37+echo "libexecdir=$libexecdir" >> $config_host_mak
38+echo "CONFIG_QEMU_HELPERDIR=$libexecdir" >> $config_host_mak
39
40 echo "ARCH=$ARCH" >> $config_host_mak
41 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 @@
1DESCRIPTION = "open source processor emulator" 1DESCRIPTION = "open source processor emulator"
2HOMEPAGE = "http://qemu.org" 2HOMEPAGE = "http://qemu.org"
3LICENSE = "GPLv2 & LGPLv2.1" 3LICENSE = "GPLv2 & LGPLv2.1"
4DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11" 4DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11 pixman"
5DEPENDS_class-native = "zlib-native alsa-lib-native glib-2.0-native pixman-native"
6DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-libsdl nativesdk-glib-2.0 nativesdk-pixman"
7RDEPENDS_class-nativesdk = "nativesdk-libsdl"
8
9require qemu-targets.inc
10inherit autotools
11BBCLASSEXTEND = "native nativesdk"
5 12
6# QEMU_TARGETS is overridable variable 13# QEMU_TARGETS is overridable variable
7QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64" 14QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64"
8 15
9require qemu-targets.inc
10
11SDL ?= "--disable-sdl" 16SDL ?= "--disable-sdl"
12SDL_class-native ?= "" 17SDL_class-native ?= ""
13SDL_class-nativesdk ?= "" 18SDL_class-nativesdk ?= ""
14 19
15EXTRA_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" 20SRC_URI = "\
21 file://powerpc_rom.bin \
22 file://no-strip.patch \
23 file://linker-flags.patch \
24 file://fix-configure-checks.patch \
25 file://fallback-to-safe-mmap_min_addr.patch \
26 file://larger_default_ram_size.patch \
27 file://arm-bgr.patch \
28 file://Revert-vmware_vga-Add-back-some-info-in-local-state-.patch \
29 "
16 30
17#EXTRA_OECONF += "--disable-sdl" 31SRC_URI_append_class-nativesdk = "\
32 file://relocatable_sdk.patch \
33 "
18 34
35EXTRA_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"
19 36
20inherit autotools 37EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls \
38 --disable-curl \
39 "
40
41do_configure_prepend_class-native() {
42 # Undo the -lX11 added by linker-flags.patch, don't assume that host has libX11 installed
43 sed -i 's/-lX11//g' Makefile.target
44}
45
46do_configure_prepend_class-nativesdk() {
47 if [ "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" = "" ] ; then
48 # Undo the -lX11 added by linker-flags.patch
49 sed -i 's/-lX11//g' Makefile.target
50 fi
51}
21 52
22do_configure() { 53do_configure() {
23 # Handle distros such as CentOS 5 32-bit that do not have kvm support 54 # Handle distros such as CentOS 5 32-bit that do not have kvm support
@@ -38,16 +69,21 @@ do_install () {
38 install -m 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu 69 install -m 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu
39} 70}
40 71
41PACKAGECONFIG ??= "" 72# The following fragment will create a wrapper for qemu-mips user emulation
42 73# binary in order to work around a segmentation fault issue. Basically, by
43DEPENDS_class-native = "zlib-native alsa-lib-native glib-2.0-native" 74# default, the reserved virtual address space for 32-on-64 bit is set to 4GB.
44DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-libsdl nativesdk-glib-2.0" 75# This will trigger a MMU access fault in the virtual CPU. With this change,
45RDEPENDS_class-nativesdk = "nativesdk-libsdl" 76# the qemu-mips works fine.
46EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls \ 77# IMPORTANT: This piece needs to be removed once the root cause is fixed!
47 --disable-curl \ 78do_install_append() {
48 " 79 if [ -e "${D}/${bindir}/qemu-mips" ]; then
80 create_wrapper ${D}/${bindir}/qemu-mips \
81 QEMU_RESERVED_VA=0x0
82 fi
83}
84# END of qemu-mips workaround
49 85
50BBCLASSEXTEND = "native nativesdk" 86PACKAGECONFIG ??= ""
51 87
52# Qemu target will not build in world build for ARM or Mips 88# Qemu target will not build in world build for ARM or Mips
53BROKEN_qemuarm = "1" 89BROKEN_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 @@
1require qemu.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
4 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
5
6SRC_URI = "\
7 http://wiki.qemu.org/download/qemu-${PV}.tar.bz2 \
8 file://powerpc_rom.bin \
9 file://no-strip.patch \
10 file://linker-flags.patch \
11 file://qemu-vmware-vga-depth.patch \
12 file://fix-configure-checks.patch \
13 file://fallback-to-safe-mmap_min_addr.patch \
14 file://larger_default_ram_size.patch \
15 file://arm-bgr.patch \
16 file://remove-hardcoded-libexec.patch \
17 "
18SRC_URI[md5sum] = "78eb1e984f4532aa9f2bdd3c127b5b61"
19SRC_URI[sha256sum] = "c8b84420d9f4869397f84cad2dabd9a475b7723d619a924a873740353e9df936"
20
21PR = "r4"
22
23SRC_URI_append_class-nativesdk = "\
24 file://relocatable_sdk.patch \
25 "
26
27do_configure_prepend_class-nativesdk() {
28 if [ "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" = "" ] ; then
29 # Undo the -lX11 added by linker-flags.patch
30 sed -i 's/-lX11//g' Makefile.target
31 fi
32}
33
34# The following fragment will create a wrapper for qemu-mips user emulation
35# binary in order to work around a segmentation fault issue. Basically, by
36# default, the reserved virtual address space for 32-on-64 bit is set to 4GB.
37# This will trigger a MMU access fault in the virtual CPU. With this change,
38# the qemu-mips works fine.
39# IMPORTANT: This piece needs to be removed once the root cause is fixed!
40do_install_append() {
41 if [ -e "${D}/${bindir}/qemu-mips" ]; then
42 create_wrapper ${D}/${bindir}/qemu-mips \
43 QEMU_RESERVED_VA=0x0
44 fi
45}
46# END of qemu-mips workaround
47
48do_configure_prepend_class-native() {
49 # Undo the -lX11 added by linker-flags.patch, don't assume that host has libX11 installed
50 sed -i 's/-lX11//g' Makefile.target
51}
52
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 @@
1require qemu.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
4 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
5
6SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2"
7SRC_URI[md5sum] = "a4030ddd2ba324152a97d65d3c0b247d"
8SRC_URI[sha256sum] = "878055ec05bc28fecfe2da97eb8bc992e8635575b67cebdfc5ca1ede171140a8"
9
10PR = "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 @@
1require qemu.inc 1require qemu.inc
2 2
3SRCREV = "6e4c0d1f03d6ab407509c32fab7cb4b8230f57ff" 3SRCREV = "6d6c9f59ca1b1a76ade7ad868bef191818f58819"
4 4
5LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ 5LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
6 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" 6 file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913"
7 7
8PV = "1.2+git" 8PV = "1.3.0+git${SRCPV}"
9PR = "r0" 9PR = "r0"
10 10
11FILESPATH = "${FILE_DIRNAME}/qemu-${PV}/:${FILE_DIRNAME}/qemu-git/" 11SRC_URI_prepend = "git://git.qemu.org/qemu.git;protocol=git"
12
13SRC_URI = "\
14 git://git.qemu.org/qemu.git;protocol=git \
15 file://powerpc_rom.bin \
16 "
17S = "${WORKDIR}/git" 12S = "${WORKDIR}/git"
18 13
19DEFAULT_PREFERENCE = "-1" 14DEFAULT_PREFERENCE = "-1"