diff options
19 files changed, 0 insertions, 35322 deletions
diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/Detect-and-use-GCC-atomic-builtins-for-locking.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/Detect-and-use-GCC-atomic-builtins-for-locking.patch deleted file mode 100644 index eb107b8497..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/Detect-and-use-GCC-atomic-builtins-for-locking.patch +++ /dev/null @@ -1,86 +0,0 @@ -From de01f17a2cb88dc5ff53cc321342b888c33b120a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Lo=C3=AFc=20Minier?= <lool@dooz.org> -Date: Thu, 11 Feb 2010 17:42:33 +0100 -Subject: [PATCH] Detect and use GCC atomic builtins for locking - ---- - configure | 17 +++++++++++++++++ - qemu-lock.h | 13 +++++++++++++ - 2 files changed, 30 insertions(+), 0 deletions(-) - -Upstream-Status: Pending - -Index: qemu-0.14.0/configure -=================================================================== ---- qemu-0.14.0.orig/configure -+++ qemu-0.14.0/configure -@@ -2243,6 +2243,20 @@ fi - ########################################## - - ########################################## -+# check if we have gcc atomic built-ins -+gcc_atomic_builtins=no -+cat > $TMPC << EOF -+int main(void) { -+ int i; -+ __sync_lock_test_and_set(&i, 1); -+ __sync_lock_release(&i); -+} -+EOF -+if compile_prog "" ""; then -+ gcc_atomic_builtins=yes -+fi -+ -+########################################## - # check if we have fdatasync - - fdatasync=no -@@ -2731,6 +2745,9 @@ fi - if test "$gcc_attribute_warn_unused_result" = "yes" ; then - echo "CONFIG_GCC_ATTRIBUTE_WARN_UNUSED_RESULT=y" >> $config_host_mak - fi -+if test "$gcc_atomic_builtins" = "yes" ; then -+ echo "CONFIG_GCC_ATOMIC_BUILTINS=y" >> $config_host_mak -+fi - if test "$fdatasync" = "yes" ; then - echo "CONFIG_FDATASYNC=y" >> $config_host_mak - fi -Index: qemu-0.14.0/qemu-lock.h -=================================================================== ---- qemu-0.14.0.orig/qemu-lock.h -+++ qemu-0.14.0/qemu-lock.h -@@ -33,6 +33,14 @@ - - #else - -+#ifdef CONFIG_GCC_ATOMIC_BUILTINS -+typedef int spinlock_t; -+ -+#define SPIN_LOCK_UNLOCKED 0 -+ -+#define resetlock(p) __sync_lock_release((p)) -+#else /* CONFIG_GCC_ATOMIC_BUILTINS */ -+ - #if defined(__hppa__) - - typedef int spinlock_t[4]; -@@ -56,7 +64,11 @@ static inline void resetlock (spinlock_t - } - - #endif -+#endif /* !CONFIG_GCC_ATOMIC_BUILTINS */ - -+#ifdef CONFIG_GCC_ATOMIC_BUILTINS -+#define testandset(p) __sync_lock_test_and_set((p), 1) -+#else /* CONFIG_GCC_ATOMIC_BUILTINS */ - #if defined(_ARCH_PPC) - static inline int testandset (int *p) - { -@@ -213,6 +225,7 @@ static inline int testandset (int *p) - #else - #error unimplemented CPU support - #endif -+#endif /* !CONFIG_GCC_ATOMIC_BUILTINS */ - - #if defined(CONFIG_USER_ONLY) - static inline void spin_lock(spinlock_t *lock) diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch deleted file mode 100644 index a8fe65a1ea..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch +++ /dev/null @@ -1,30 +0,0 @@ -After kernel commit: - -http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=meta&id=9728c1b6a724daefc413b44e10253cdbb5e06d08 - -It appears that the emulated colours in qemu are incorrect and that -the red and blue channels are reversed. This patch reverses that logic -so the colours are correctly displayed on the versatile platform which -doesn't support the BGR bit. - -RP 16/9/2011 - -Upstream-Status: Pending - -Index: qemu-0.14.0/hw/pl110.c -=================================================================== ---- qemu-0.14.0.orig/hw/pl110.c 2011-09-16 14:45:34.228668514 +0100 -+++ qemu-0.14.0/hw/pl110.c 2011-09-16 15:17:22.458671206 +0100 -@@ -141,7 +141,11 @@ - fprintf(stderr, "pl110: Bad color depth\n"); - exit(1); - } -- if (s->cr & PL110_CR_BGR) -+ -+ if (s->versatile && s->bpp == BPP_16) -+ /* Code assumes BPP_16 == 565 and BGR is never set on the versatile in 565 mode */ -+ bpp_offset = 0; -+ else if (s->cr & PL110_CR_BGR) - bpp_offset = 0; - else - bpp_offset = 18; diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/enable-i386-linux-user.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/enable-i386-linux-user.patch deleted file mode 100644 index bb0d6a3848..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/enable-i386-linux-user.patch +++ /dev/null @@ -1,55 +0,0 @@ -Enable i386-linux-user - -Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> - -Upstream-Status: Inappropriate [configuration] - -Index: qemu-0.14.0/Makefile.target -=================================================================== ---- qemu-0.14.0.orig/Makefile.target -+++ qemu-0.14.0/Makefile.target -@@ -78,8 +78,13 @@ ifeq ($(TARGET_BASE_ARCH), i386) - libobj-y += cpuid.o - endif - libobj-$(CONFIG_NEED_MMU) += mmu.o -+ifndef CONFIG_LINUX_USER - libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o - libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o -+else -+libobj-$(TARGET_I386) += dummygl.o -+libobj-$(TARGET_X86_64) += dummygl.o -+endif #CONFIG_LINUX_USER - libobj-$(TARGET_ARM) += dummygl.o - libobj-$(TARGET_MIPS) += dummygl.o - libobj-$(TARGET_PPC) += dummygl.o -Index: qemu-0.14.0/target-i386/dummygl.c -=================================================================== ---- /dev/null -+++ qemu-0.14.0/target-i386/dummygl.c -@@ -0,0 +1,26 @@ -+#include <string.h> -+#include <stdlib.h> -+#include <assert.h> -+#include <stdint.h> -+#include <X11/Xlib.h> -+#include <X11/Xutil.h> -+ -+void opengl_exec_set_parent_window(Display* _dpy, Window _parent_window) -+{ -+ -+} -+ -+void opengl_process_enable(void) -+{ -+ -+} -+ -+ -+void mem_opengl(uint64_t ptr) -+{ -+ -+} -+ -+void helper_opengl(void) -+{ -+} diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/fallback-to-safe-mmap_min_addr.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/fallback-to-safe-mmap_min_addr.patch deleted file mode 100644 index 2075386b9f..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/fallback-to-safe-mmap_min_addr.patch +++ /dev/null @@ -1,39 +0,0 @@ -From c313f89c33217ac0e471554dace2144718f86669 Mon Sep 17 00:00:00 2001 -From: Martin Jansa <Martin.Jansa@gmail.com> -Date: Thu, 13 May 2010 12:23:40 +0200 -Subject: [PATCH] linux-user: use default mmap_min_addr 65536 when /proc/sys/vm/mmap_min_addr cannot be read - -* 65536 is default at least for ubuntu and fedora. ---- - linux-user/main.c | 5 +++++ - 1 files changed, 5 insertions(+), 0 deletions(-) - -Upstream-Status: Pending - -Index: qemu-0.14.0/linux-user/main.c -=================================================================== ---- qemu-0.14.0.orig/linux-user/main.c -+++ qemu-0.14.0/linux-user/main.c -@@ -36,6 +36,7 @@ - #include "envlist.h" - - #define DEBUG_LOGFILE "/tmp/qemu.log" -+#define MMAP_MIN_ADDR_DEFAULT 65536 - - char *exec_path; - -@@ -3010,8 +3011,14 @@ int main(int argc, char **argv, char **e - if (fscanf(fp, "%lu", &tmp) == 1) { - mmap_min_addr = tmp; - qemu_log("host mmap_min_addr=0x%lx\n", mmap_min_addr); -+ } else { -+ qemu_log("cannot read value from /proc/sys/vm/mmap_min_addr, assuming %d\n", MMAP_MIN_ADDR_DEFAULT); -+ mmap_min_addr = MMAP_MIN_ADDR_DEFAULT; - } - fclose(fp); -+ } else { -+ qemu_log("cannot open /proc/sys/vm/mmap_min_addr for reading, assuming %d\n", MMAP_MIN_ADDR_DEFAULT); -+ mmap_min_addr = MMAP_MIN_ADDR_DEFAULT; - } - } - diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/fix-configure-checks.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/fix-configure-checks.patch deleted file mode 100644 index 96881bb91b..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/fix-configure-checks.patch +++ /dev/null @@ -1,22 +0,0 @@ -In native builds, qemu can fail to find zlib development files in the native -sysroot and the build machine might not have zlib-dev packages installed. - -Add CFLAGS to qemu's CFLAGS which in the native case means BUILD_CFLAGS are -added and files in the sysroot can be found. - -Patch from Paul Eggleton, Comments by RP 28/11/10 - -Upstream-Status: Inappropriate [embedded specific] - -Index: qemu-0.14.0/configure -=================================================================== ---- qemu-0.14.0.orig/configure -+++ qemu-0.14.0/configure -@@ -229,6 +229,7 @@ QEMU_CFLAGS="-Wstrict-prototypes -Wredun - QEMU_CFLAGS="-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $QEMU_CFLAGS" - QEMU_CFLAGS="-D_FORTIFY_SOURCE=2 $QEMU_CFLAGS" - QEMU_INCLUDES="-I. -I\$(SRC_PATH)" -+QEMU_CFLAGS="$QEMU_CFLAGS $CFLAGS" - LDFLAGS="-g $LDFLAGS" - - # make source path absolute diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/fix-nogl.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/fix-nogl.patch deleted file mode 100644 index 83b2752589..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/fix-nogl.patch +++ /dev/null @@ -1,127 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: qemu-0.14.0/Makefile.target -=================================================================== ---- qemu-0.14.0.orig/Makefile.target -+++ qemu-0.14.0/Makefile.target -@@ -79,6 +79,12 @@ libobj-y += cpuid.o - endif - libobj-$(CONFIG_NEED_MMU) += mmu.o - libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o -+libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o -+libobj-$(TARGET_ARM) += dummygl.o -+libobj-$(TARGET_MIPS) += dummygl.o -+libobj-$(TARGET_MIPS64) += dummygl.o -+libobj-$(TARGET_PPC) += dummygl.o -+libobj-$(TARGET_SH4) += dummygl.o - libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o - - libobj-y += disas.o -Index: qemu-0.14.0/target-arm/dummygl.c -=================================================================== ---- /dev/null -+++ qemu-0.14.0/target-arm/dummygl.c -@@ -0,0 +1,22 @@ -+#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) -+{ -+ -+} -Index: qemu-0.14.0/target-mips/dummygl.c -=================================================================== ---- /dev/null -+++ qemu-0.14.0/target-mips/dummygl.c -@@ -0,0 +1,22 @@ -+#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) -+{ -+ -+} -Index: qemu-0.14.0/target-ppc/dummygl.c -=================================================================== ---- /dev/null -+++ qemu-0.14.0/target-ppc/dummygl.c -@@ -0,0 +1,22 @@ -+#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) -+{ -+ -+} -Index: qemu-0.14.0/target-sh4/dummygl.c -=================================================================== ---- /dev/null -+++ qemu-0.14.0/target-sh4/dummygl.c -@@ -0,0 +1,22 @@ -+#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) -+{ -+ -+} diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/glflags.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/glflags.patch deleted file mode 100644 index 0ad5551d47..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/glflags.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: qemu-0.14.0/Makefile.target -=================================================================== ---- qemu-0.14.0.orig/Makefile.target 2011-04-04 12:12:19.142871742 +0100 -+++ qemu-0.14.0/Makefile.target 2011-04-04 12:12:21.772871742 +0100 -@@ -362,7 +362,7 @@ - - monitor.o: hmp-commands.h qmp-commands.h - --LIBS += -lGL -lGLU -+LIBS += -lGL - - $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y): $(GENERATED_HEADERS) - diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/init-info.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/init-info.patch deleted file mode 100644 index 2250444a2b..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/init-info.patch +++ /dev/null @@ -1,18 +0,0 @@ -# This is a workaround to the crashes seen on Ubuntu. Setting info to zero -# makes info.info.x11.display zero and avoids the calls to -# opengl_exec_set_parent_window, one of which is crashing. - -Upstream-Status: Pending - -Index: qemu-0.14.0/ui/sdl.c -=================================================================== ---- qemu-0.14.0.orig/ui/sdl.c -+++ qemu-0.14.0/ui/sdl.c -@@ -863,6 +863,7 @@ void sdl_display_init(DisplayState *ds, - vi = SDL_GetVideoInfo(); - host_format = *(vi->vfmt); - -+ bzero(&info, sizeof(info)); - SDL_GetWMInfo(&info); - if (info.subsystem == SDL_SYSWM_X11 && info.info.x11.display) - opengl_exec_set_parent_window(info.info.x11.display, diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/larger_default_ram_size.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/larger_default_ram_size.patch deleted file mode 100644 index 711c36071d..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/larger_default_ram_size.patch +++ /dev/null @@ -1,22 +0,0 @@ -This patch is taken from debian. 128M is too less sometimes if distro -with lot of packages is booted so this patch raises the default to 384M - -It has not been applied to upstream qemu - -Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending - -Index: qemu-0.14.0/vl.c -=================================================================== ---- qemu-0.14.0.orig/vl.c -+++ qemu-0.14.0/vl.c -@@ -168,7 +168,7 @@ int main(int argc, char **argv) - //#define DEBUG_NET - //#define DEBUG_SLIRP - --#define DEFAULT_RAM_SIZE 128 -+#define DEFAULT_RAM_SIZE 384 - - #define MAX_VIRTIO_CONSOLES 1 - diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/linker-flags.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/linker-flags.patch deleted file mode 100644 index c0d1e5541d..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/linker-flags.patch +++ /dev/null @@ -1,25 +0,0 @@ -Fedora 13 switched the default behaviour of the linker to no longer -indirectly link to required libraries (i.e. dependencies of a library -already linked to). Therefore we need to explicitly pass the depended on -libraries into the linker for building to work on Fedora 13. - -More information is available on the Fedora Wiki: -https://fedoraproject.org/wiki/UnderstandingDSOLinkChange - -JL - 15/06/10 - -Upstream-Status: Inappropriate [configuration] - -Index: qemu-0.14.0/Makefile.target -=================================================================== ---- qemu-0.14.0.orig/Makefile.target -+++ qemu-0.14.0/Makefile.target -@@ -218,7 +218,7 @@ obj-$(CONFIG_REALLY_VIRTFS) += virtio-9p - obj-y += rwhandler.o - obj-$(CONFIG_KVM) += kvm.o kvm-all.o - obj-$(CONFIG_NO_KVM) += kvm-stub.o --LIBS+=-lz -+LIBS+=-lz -lX11 -ldl - - QEMU_CFLAGS += $(VNC_TLS_CFLAGS) - QEMU_CFLAGS += $(VNC_SASL_CFLAGS) diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/no-strip.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/no-strip.patch deleted file mode 100644 index d6a4377cd0..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/no-strip.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -Index: qemu-0.14.0/Makefile -=================================================================== ---- qemu-0.14.0.orig/Makefile -+++ qemu-0.14.0/Makefile -@@ -235,7 +235,7 @@ install-sysconfig: - install: all $(if $(BUILD_DOCS),install-doc) install-sysconfig - $(INSTALL_DIR) "$(DESTDIR)$(bindir)" - ifneq ($(TOOLS),) -- $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)" -+ $(INSTALL_PROG) $(TOOLS) "$(DESTDIR)$(bindir)" - endif - ifneq ($(BLOBS),) - $(INSTALL_DIR) "$(DESTDIR)$(datadir)" diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/opengl-sdl-fix.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/opengl-sdl-fix.patch deleted file mode 100644 index e73bb7bfe9..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/opengl-sdl-fix.patch +++ /dev/null @@ -1,43 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -diff -u -r qemu-0.14.0/Makefile.target qemu-0.14.0-fixed/Makefile.target ---- qemu-0.14.0/Makefile.target 2011-04-26 21:22:17.627637741 -0700 -+++ qemu-0.14.0-fixed/Makefile.target 2011-04-26 21:23:02.767637747 -0700 -@@ -82,8 +82,10 @@ - libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o - libobj-$(TARGET_X86_64) += helper_opengl.o opengl_exec.o - else -+ifdef CONFIG_SDL - libobj-$(TARGET_I386) += dummygl.o - libobj-$(TARGET_X86_64) += dummygl.o -+endif - endif #CONFIG_LINUX_USER - libobj-$(TARGET_ARM) += dummygl.o - libobj-$(TARGET_MIPS) += dummygl.o -Only in qemu-0.14.0-fixed: config.log -diff -u -r qemu-0.14.0/target-i386/helper.h qemu-0.14.0-fixed/target-i386/helper.h ---- qemu-0.14.0/target-i386/helper.h 2011-04-26 21:22:11.418637742 -0700 -+++ qemu-0.14.0-fixed/target-i386/helper.h 2011-04-26 21:23:02.539637747 -0700 -@@ -217,6 +217,9 @@ - DEF_HELPER_2(rcrq, tl, tl, tl) - #endif - -+#ifdef CONFIG_SDL - DEF_HELPER_0(opengl, void) -+#endif -+ - - #include "def-helper.h" -diff -u -r qemu-0.14.0/target-i386/translate.c qemu-0.14.0-fixed/target-i386/translate.c ---- qemu-0.14.0/target-i386/translate.c 2011-04-26 21:22:21.600637743 -0700 -+++ qemu-0.14.0-fixed/target-i386/translate.c 2011-04-26 21:23:02.538637747 -0700 -@@ -2659,7 +2659,7 @@ - static void gen_interrupt(DisasContext *s, int intno, - target_ulong cur_eip, target_ulong next_eip) - { --#if !defined(CONFIG_USER_ONLY) -+#if !defined(CONFIG_USER_ONLY) && defined(CONFIG_SDL) - if (enable_gl && intno == 0x99) { - gen_helper_opengl(); - return; - diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/powerpc_rom.bin b/meta/recipes-devtools/qemu/qemu-0.14.0/powerpc_rom.bin Binary files differdeleted file mode 100644 index c4044296c5..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/powerpc_rom.bin +++ /dev/null diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/qemu-git-qemugl-host.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/qemu-git-qemugl-host.patch deleted file mode 100644 index 4fb972a60b..0000000000 --- a/meta/recipes-devtools/qemu/qemu-0.14.0/qemu-git-qemugl-host.patch +++ /dev/null @@ -1,34368 +0,0 @@ -Upstream-Status: Inappropriate [other] - qemugl patch need huge changes for upstream - -Index: qemu-0.14.0/Makefile.target -=================================================================== ---- qemu-0.14.0.orig/Makefile.target -+++ qemu-0.14.0/Makefile.target -@@ -78,6 +78,7 @@ ifeq ($(TARGET_BASE_ARCH), i386) - libobj-y += cpuid.o - endif - libobj-$(CONFIG_NEED_MMU) += mmu.o -+libobj-$(TARGET_I386) += helper_opengl.o opengl_exec.o - libobj-$(TARGET_ARM) += neon_helper.o iwmmxt_helper.o - - libobj-y += disas.o -@@ -100,6 +101,21 @@ op_helper.o cpu-exec.o: QEMU_CFLAGS += $ - # cpu_signal_handler() in cpu-exec.c. - signal.o: QEMU_CFLAGS += $(HELPER_CFLAGS) - -+parse_gl_h: parse_gl_h.c -+ $(HOST_CC) -g -o $@ $< -+server_stub.c: parse_gl_h -+ ./parse_gl_h -+gl_func.h: parse_gl_h -+ ./parse_gl_h -+GL_CFLAGS := -Wall -g -O2 -fno-strict-aliasing -+opengl_func.h: gl_func.h -+helper_opengl.o: helper_opengl.c opengl_func.h server_stub.c -+ $(CC) $(GL_CFLAGS) $(DEFINES) -c -o $@ $< -I.. -I. -I../fpu -I../target-i386 -DNEED_CPU_H -+gl_beginend.h: ../target-i386/beginend_funcs.sh -+ $< > $@ -+opengl_exec.o : opengl_exec.c server_stub.c gl_func.h opengl_func.h gl_beginend.h -+ $(CC) $(GL_CFLAGS) $(DEFINES) -c -o $@ $< -I. -I../target-i386 -+ - ######################################################### - # Linux user emulator target - -@@ -221,6 +237,10 @@ obj-i386-y += debugcon.o multiboot.o - obj-i386-y += pc_piix.o - obj-i386-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o - -+ifeq ($(TARGET_BASE_ARCH), i386) -+QEMU_CFLAGS += -DTARGET_OPENGL_OK -+endif -+ - # shared objects - obj-ppc-y = ppc.o - obj-ppc-y += vga.o -@@ -331,6 +351,8 @@ main.o: QEMU_CFLAGS+=$(GPROF_CFLAGS) - - monitor.o: hmp-commands.h qmp-commands.h - -+LIBS += -lGL -lGLU -+ - $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y): $(GENERATED_HEADERS) - - obj-y += $(addprefix ../, $(common-obj-y)) -Index: qemu-0.14.0/hw/pixel_ops.h -=================================================================== ---- qemu-0.14.0.orig/hw/pixel_ops.h -+++ qemu-0.14.0/hw/pixel_ops.h -@@ -4,6 +4,12 @@ static inline unsigned int rgb_to_pixel8 - return ((r >> 5) << 5) | ((g >> 5) << 2) | (b >> 6); - } - -+static inline unsigned int rgb_to_pixel8bgr(unsigned int r, unsigned int g, -+ unsigned int b) -+{ -+ return ((b >> 5) << 5) | ((g >> 5) << 2) | (r >> 6); -+} -+ - static inline unsigned int rgb_to_pixel15(unsigned int r, unsigned int g, - unsigned int b) - { -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 -@@ -517,6 +517,8 @@ static inline void vmsvga_cursor_define( - - #define CMD(f) le32_to_cpu(s->cmd->f) - -+static uint32_t last_cmd; -+ - static inline int vmsvga_fifo_length(struct vmsvga_state_s *s) - { - int num; -@@ -530,11 +532,18 @@ static inline int vmsvga_fifo_length(str - - static inline uint32_t vmsvga_fifo_read_raw(struct vmsvga_state_s *s) - { -- uint32_t cmd = s->fifo[CMD(stop) >> 2]; -- s->cmd->stop = cpu_to_le32(CMD(stop) + 4); -- if (CMD(stop) >= CMD(max)) -+ int offset = CMD(stop); -+ -+ if (unlikely(s->cmd->next_cmd == s->cmd->stop)) { -+ fprintf(stderr, "%s: FIFO empty during CMD %i\n", -+ __FUNCTION__, last_cmd); -+ return 0x00000000; -+ } -+ -+ s->cmd->stop = cpu_to_le32(offset + 4); -+ if (offset + 4 >= CMD(max)) - s->cmd->stop = s->cmd->min; -- return cmd; -+ return s->fifo[offset >> 2]; - } - - static inline uint32_t vmsvga_fifo_read(struct vmsvga_state_s *s) -@@ -544,7 +553,7 @@ static inline uint32_t vmsvga_fifo_read( - - static void vmsvga_fifo_run(struct vmsvga_state_s *s) - { -- uint32_t cmd, colour; -+ uint32_t colour; - int args, len; - int x, y, dx, dy, width, height; - struct vmsvga_cursor_definition_s cursor; -@@ -555,7 +564,7 @@ static void vmsvga_fifo_run(struct vmsvg - /* May need to go back to the start of the command if incomplete */ - cmd_start = s->cmd->stop; - -- switch (cmd = vmsvga_fifo_read(s)) { -+ switch (last_cmd = vmsvga_fifo_read(s)) { - case SVGA_CMD_UPDATE: - case SVGA_CMD_UPDATE_VERBOSE: - len -= 5; -@@ -695,7 +704,7 @@ static void vmsvga_fifo_run(struct vmsvg - while (args --) - vmsvga_fifo_read(s); - printf("%s: Unknown command 0x%02x in SVGA command FIFO\n", -- __FUNCTION__, cmd); -+ __FUNCTION__, last_cmd); - break; - - rewind: -@@ -1216,6 +1225,11 @@ static void vmsvga_init(struct vmsvga_st - vga_common_init(&s->vga, vga_ram_size); - vga_init(&s->vga); - vmstate_register(NULL, 0, &vmstate_vga_common, &s->vga); -+#ifdef EMBED_STDVGA -+ s->vga.map_addr = VBE_DISPI_LFB_PHYSICAL_ADDRESS; -+ s->vga.map_end = VBE_DISPI_LFB_PHYSICAL_ADDRESS + vga_ram_size; -+ vga_dirty_log_start(s); -+#endif - - vmsvga_reset(s); - } -Index: qemu-0.14.0/qemu-char.c -=================================================================== ---- qemu-0.14.0.orig/qemu-char.c -+++ qemu-0.14.0/qemu-char.c -@@ -2334,6 +2334,69 @@ size_t qemu_chr_mem_osize(const CharDriv - return d->outbuf_size; - } - -+#define TARGET_OPENGL_OK -+#if defined(TARGET_OPENGL_OK) -+static uint8_t buffer[32]; -+static int buffer_len; -+static int hexdigit[128] = { -+ ['0'] = 0x0, -+ ['1'] = 0x1, -+ ['2'] = 0x2, -+ ['3'] = 0x3, -+ ['4'] = 0x4, -+ ['5'] = 0x5, -+ ['6'] = 0x6, -+ ['7'] = 0x7, -+ ['8'] = 0x8, -+ ['9'] = 0x9, -+ ['a'] = 0xa, -+ ['b'] = 0xb, -+ ['c'] = 0xc, -+ ['d'] = 0xd, -+ ['e'] = 0xe, -+ ['f'] = 0xf, -+}; -+ -+static int opengl_chr_write(CharDriverState *chr, const uint8_t *buf, int len) -+{ -+ uint64_t ptr = 0; -+ int i; -+ -+ if (memchr(buf, 'x', len)) -+ opengl_process_enable(); -+ return len; -+ memcpy(buffer + buffer_len, buf, len); -+ buffer_len += len; -+ -+ if (buffer_len >= 16) { -+ for (i = 0; i < 16; i ++) -+ ptr = (ptr << 4) + hexdigit[buffer[i]]; -+ -+ buffer_len -= 16; -+ if (buffer_len) -+ memcpy(buffer, buffer + 16, buffer_len); -+ -+ mem_opengl(ptr); -+ } -+ -+ return len; -+} -+ -+CharDriverState *qemu_chr_open_opengl(void) -+{ -+ CharDriverState *chr = qemu_mallocz(sizeof(CharDriverState)); -+ -+ chr->opaque = chr; -+ chr->chr_write = opengl_chr_write; -+ -+ qemu_chr_generic_open(chr); -+ -+ return chr; -+} -+#else -+#define qemu_chr_open_opengl() 0 -+#endif -+ - QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename) - { - char host[65], port[33], width[8], height[8]; -@@ -2452,6 +2515,10 @@ QemuOpts *qemu_chr_parse_compat(const ch - qemu_opt_set(opts, "path", filename); - return opts; - } -+ if (!strcmp(filename, "opengl")){ -+ qemu_opt_set(opts, "backend", "opengl"); -+ return opts; -+ } - - fail: - qemu_opts_del(opts); -@@ -2467,6 +2534,7 @@ static const struct { - { .name = "udp", .open = qemu_chr_open_udp }, - { .name = "msmouse", .open = qemu_chr_open_msmouse }, - { .name = "vc", .open = text_console_init }, -+ { .name = "opengl", .open = qemu_chr_open_opengl }, - #ifdef _WIN32 - { .name = "file", .open = qemu_chr_open_win_file_out }, - { .name = "pipe", .open = qemu_chr_open_win_pipe }, -Index: qemu-0.14.0/slirp/udp.c -=================================================================== ---- qemu-0.14.0.orig/slirp/udp.c -+++ qemu-0.14.0/slirp/udp.c -@@ -40,6 +40,7 @@ - - #include <slirp.h> - #include "ip_icmp.h" -+#include "bswap.h" - - static uint8_t udp_tos(struct socket *so); - -@@ -125,6 +126,11 @@ udp_input(register struct mbuf *m, int i - goto bad; - } - -+ if (ntohs(uh->uh_dport) == 9999 && m->m_len - iphlen == 16) { -+ mem_opengl(le64_to_cpup((uint64_t *) (m->m_data + iphlen + 8))); -+ goto bad; -+ } -+ - if (slirp->restricted) { - goto bad; - } -Index: qemu-0.14.0/sysemu.h -=================================================================== ---- qemu-0.14.0.orig/sysemu.h -+++ qemu-0.14.0/sysemu.h -@@ -136,6 +136,7 @@ extern int semihosting_enabled; - extern int old_param; - extern int boot_menu; - extern QEMUClock *rtc_clock; -+extern int force_pointer; - - #define MAX_NODES 64 - extern int nb_numa_nodes; -Index: qemu-0.14.0/target-i386/beginend_funcs.sh -=================================================================== ---- /dev/null -+++ qemu-0.14.0/target-i386/beginend_funcs.sh -@@ -0,0 +1,23 @@ -+#! /bin/bash -+# Copyright 2008 (C) Intel Corporation -+# -+# echo names of functions that are legal between a glBegin and glEnd pair. -+echo -e MAGIC_MACRO\(glVertex{2,3,4}{s,i,f,d}{,v}\)\\n -+echo -e MAGIC_MACRO\(glTexCoord{1,2,3,4}{s,i,f,d}{,v}\)\\n -+echo -e MAGIC_MACRO\(glMultiTexCoord{1,2,3,4}{s,i,f,d}{,v}\)\\n -+echo -e MAGIC_MACRO\(glNormal3{b,s,i,f,d}{,v}\)\\n -+echo -e MAGIC_MACRO\(glFogCoord{f,d}{,v}\)\\n -+echo -e MAGIC_MACRO\(glColor{3,4}{b,s,i,f,d,ub,us,ui}{,v}\)\\n -+echo -e MAGIC_MACRO\(glSecondaryColor3{b,s,i,f,d,ub,us,ui}{,v}\)\\n -+echo -e MAGIC_MACRO\(glIndex{s,i,f,d,ub}{,v}\)\\n -+echo -e MAGIC_MACRO\(glVertexAttrib{1,2,3,4}{s,f,d}{,v}\)\\n -+echo -e MAGIC_MACRO\(glVertexAttrib4{b,i,ub,us,ui}v\)\\n -+echo -e MAGIC_MACRO\(glVertexAttrib4Nub\)\\n -+echo -e MAGIC_MACRO\(glVertexAttrib4N{b,s,i,ub,us,ui}v\)\\n -+echo -e MAGIC_MACRO\(glArrayElement\)\\n -+echo -e MAGIC_MACRO\(glEvalCoord{1,2}{f,d}{,v}\)\\n -+echo -e MAGIC_MACRO\(glEvalPoint{1,2}\)\\n -+echo -e MAGIC_MACRO\(glMaterial{i,f}{,v}\)\\n -+echo -e MAGIC_MACRO\(glCallList\)\\n -+echo -e MAGIC_MACRO\(glCallLists\)\\n -+echo -e MAGIC_MACRO\(glEdgeFlag{,v}\)\\n -Index: qemu-0.14.0/target-i386/ghash.c -=================================================================== ---- /dev/null -+++ qemu-0.14.0/target-i386/ghash.c -@@ -0,0 +1,347 @@ -+/* This is a modified and simplified version of original ghash.c */ -+ -+/* GLIB - Library of useful routines for C programming -+ * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. |
