diff options
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 @@ | |||
1 | From 2cf7df441ce4c36525ba4d2d040f8cb0b0c75f14 Mon Sep 17 00:00:00 2001 | ||
2 | From: Constantin Musca <constantinx.musca@intel.com> | ||
3 | Date: Fri, 7 Dec 2012 12:33:42 +0200 | ||
4 | Subject: [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 | |||
10 | Upstream-Status: Pending | ||
11 | Signed-off-by: Constantin Musca <constantinx.musca@intel.com> | ||
12 | --- | ||
13 | hw/vmware_vga.c | 30 +++++++++--------------------- | ||
14 | 1 file changed, 9 insertions(+), 21 deletions(-) | ||
15 | |||
16 | diff --git a/hw/vmware_vga.c b/hw/vmware_vga.c | ||
17 | index 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 | -- | ||
113 | 1.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 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Index: 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; | ||
45 | Index: 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); | ||
69 | Index: 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; | ||
81 | Index: 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 @@ | |||
1 | This will allow the libexecdir to be set on the command line | ||
2 | and have the files installed and used from the correct location | ||
3 | |||
4 | Upstream-Status: Inappropriate [oe-core specific] | ||
5 | |||
6 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
7 | |||
8 | Index: 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 @@ | |||
1 | Enable i386-linux-user | ||
2 | |||
3 | Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> | ||
4 | |||
5 | Upstream-Status: Inappropriate [configuration] | ||
6 | |||
7 | Index: 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 | ||
25 | Index: 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 @@ | |||
1 | Fedora 13 switched the default behaviour of the linker to no longer | ||
2 | indirectly link to required libraries (i.e. dependencies of a library | ||
3 | already linked to). Therefore we need to explicitly pass the depended on | ||
4 | libraries into the linker for building to work on Fedora 13. | ||
5 | |||
6 | More information is available on the Fedora Wiki: | ||
7 | https://fedoraproject.org/wiki/UnderstandingDSOLinkChange | ||
8 | |||
9 | JL - 15/06/10 | ||
10 | |||
11 | Upstream-Status: Inappropriate [configuration] | ||
12 | |||
13 | Index: 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 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | Index: 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 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Index: 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; | ||
45 | Index: 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, | ||
81 | Index: 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; | ||
93 | Index: 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 @@ | |||
1 | This will allow the libexecdir to be set on the command line | ||
2 | and have the files installed and used from the correct location | ||
3 | |||
4 | Upstream-Status: Inappropriate [oe-core specific] | ||
5 | |||
6 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
7 | |||
8 | Index: 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 @@ | |||
1 | DESCRIPTION = "open source processor emulator" | 1 | DESCRIPTION = "open source processor emulator" |
2 | HOMEPAGE = "http://qemu.org" | 2 | HOMEPAGE = "http://qemu.org" |
3 | LICENSE = "GPLv2 & LGPLv2.1" | 3 | LICENSE = "GPLv2 & LGPLv2.1" |
4 | DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11" | 4 | DEPENDS = "glib-2.0 zlib alsa-lib virtual/libx11 pixman" |
5 | DEPENDS_class-native = "zlib-native alsa-lib-native glib-2.0-native pixman-native" | ||
6 | DEPENDS_class-nativesdk = "nativesdk-zlib nativesdk-libsdl nativesdk-glib-2.0 nativesdk-pixman" | ||
7 | RDEPENDS_class-nativesdk = "nativesdk-libsdl" | ||
8 | |||
9 | require qemu-targets.inc | ||
10 | inherit autotools | ||
11 | BBCLASSEXTEND = "native nativesdk" | ||
5 | 12 | ||
6 | # QEMU_TARGETS is overridable variable | 13 | # QEMU_TARGETS is overridable variable |
7 | QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64" | 14 | QEMU_TARGETS ?= "arm i386 mips mipsel mips64 mips64el ppc sh4 x86_64" |
8 | 15 | ||
9 | require qemu-targets.inc | ||
10 | |||
11 | SDL ?= "--disable-sdl" | 16 | SDL ?= "--disable-sdl" |
12 | SDL_class-native ?= "" | 17 | SDL_class-native ?= "" |
13 | SDL_class-nativesdk ?= "" | 18 | SDL_class-nativesdk ?= "" |
14 | 19 | ||
15 | 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" | 20 | SRC_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" | 31 | SRC_URI_append_class-nativesdk = "\ |
32 | file://relocatable_sdk.patch \ | ||
33 | " | ||
18 | 34 | ||
35 | 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" | ||
19 | 36 | ||
20 | inherit autotools | 37 | EXTRA_OECONF_class-nativesdk = "--target-list=${@get_qemu_target_list(d)} --disable-werror --disable-vnc-tls \ |
38 | --disable-curl \ | ||
39 | " | ||
40 | |||
41 | do_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 | |||
46 | do_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 | ||
22 | do_configure() { | 53 | do_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 | ||
41 | PACKAGECONFIG ??= "" | 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 | |
43 | DEPENDS_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. |
44 | DEPENDS_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, |
45 | RDEPENDS_class-nativesdk = "nativesdk-libsdl" | 76 | # the qemu-mips works fine. |
46 | EXTRA_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 \ | 78 | do_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 | ||
50 | BBCLASSEXTEND = "native nativesdk" | 86 | PACKAGECONFIG ??= "" |
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 |
53 | BROKEN_qemuarm = "1" | 89 | BROKEN_qemuarm = "1" |
diff --git a/meta/recipes-devtools/qemu/qemu_1.2.0.bb b/meta/recipes-devtools/qemu/qemu_1.2.0.bb deleted file mode 100644 index af5eb0349c..0000000000 --- a/meta/recipes-devtools/qemu/qemu_1.2.0.bb +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | require qemu.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ | ||
4 | file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" | ||
5 | |||
6 | SRC_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 | " | ||
18 | SRC_URI[md5sum] = "78eb1e984f4532aa9f2bdd3c127b5b61" | ||
19 | SRC_URI[sha256sum] = "c8b84420d9f4869397f84cad2dabd9a475b7723d619a924a873740353e9df936" | ||
20 | |||
21 | PR = "r4" | ||
22 | |||
23 | SRC_URI_append_class-nativesdk = "\ | ||
24 | file://relocatable_sdk.patch \ | ||
25 | " | ||
26 | |||
27 | do_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! | ||
40 | do_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 | |||
48 | do_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 @@ | |||
1 | require qemu.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ | ||
4 | file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" | ||
5 | |||
6 | SRC_URI_prepend = "http://wiki.qemu.org/download/qemu-${PV}.tar.bz2" | ||
7 | SRC_URI[md5sum] = "a4030ddd2ba324152a97d65d3c0b247d" | ||
8 | SRC_URI[sha256sum] = "878055ec05bc28fecfe2da97eb8bc992e8635575b67cebdfc5ca1ede171140a8" | ||
9 | |||
10 | PR = "r0" | ||
diff --git a/meta/recipes-devtools/qemu/qemu_git.bb b/meta/recipes-devtools/qemu/qemu_git.bb index 0b58cf7938..94652032bf 100644 --- a/meta/recipes-devtools/qemu/qemu_git.bb +++ b/meta/recipes-devtools/qemu/qemu_git.bb | |||
@@ -1,19 +1,14 @@ | |||
1 | require qemu.inc | 1 | require qemu.inc |
2 | 2 | ||
3 | SRCREV = "6e4c0d1f03d6ab407509c32fab7cb4b8230f57ff" | 3 | SRCREV = "6d6c9f59ca1b1a76ade7ad868bef191818f58819" |
4 | 4 | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ |
6 | file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" | 6 | file://COPYING.LIB;endline=24;md5=c04def7ae38850e7d3ef548588159913" |
7 | 7 | ||
8 | PV = "1.2+git" | 8 | PV = "1.3.0+git${SRCPV}" |
9 | PR = "r0" | 9 | PR = "r0" |
10 | 10 | ||
11 | FILESPATH = "${FILE_DIRNAME}/qemu-${PV}/:${FILE_DIRNAME}/qemu-git/" | 11 | SRC_URI_prepend = "git://git.qemu.org/qemu.git;protocol=git" |
12 | |||
13 | SRC_URI = "\ | ||
14 | git://git.qemu.org/qemu.git;protocol=git \ | ||
15 | file://powerpc_rom.bin \ | ||
16 | " | ||
17 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
18 | 13 | ||
19 | DEFAULT_PREFERENCE = "-1" | 14 | DEFAULT_PREFERENCE = "-1" |