Patchwork [1/1] qemu: Fix the qemu GL application start failure.

login
register
mail settings
Submitter Zhai, Edwin
Date April 12, 2011, 1:42 a.m.
Message ID <45df8d07a8e35223e8a53033b4e0d208d8829c04.1302572384.git.edwin.zhai@intel.com>
Download mbox | patch
Permalink /patch/2161/
State New, archived
Headers show

Comments

Zhai, Edwin - April 12, 2011, 1:42 a.m.
From: Zhai Edwin <edwin.zhai@intel.com>

Some turn-on macro/variable are re-arranged, buffer pointer is extended to
support 32/64b combination of target/host.

[YOCTO #688] fixed.

Signed-off-by:  Zhai Edwin <edwin.zhai@intel.com>
---
 .../qemu/qemu-0.14.0/qemugl-fix.patch              |   70 ++++++++++++++++++++
 meta/recipes-devtools/qemu/qemu_0.14.0.bb          |    1 +
 2 files changed, 71 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
Saul Wold - April 12, 2011, 5:18 a.m.
On 04/11/2011 06:42 PM, Zhai Edwin wrote:
> From: Zhai Edwin<edwin.zhai@intel.com>
>
> Some turn-on macro/variable are re-arranged, buffer pointer is extended to
> support 32/64b combination of target/host.
>
> [YOCTO #688] fixed.
>
> Signed-off-by:  Zhai Edwin<edwin.zhai@intel.com>
> ---
>   .../qemu/qemu-0.14.0/qemugl-fix.patch              |   70 ++++++++++++++++++++
>   meta/recipes-devtools/qemu/qemu_0.14.0.bb          |    1 +
>   2 files changed, 71 insertions(+), 0 deletions(-)
>   create mode 100644 meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
>
> diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
> new file mode 100644
> index 0000000..c395b60
> --- /dev/null
> +++ b/meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
> @@ -0,0 +1,70 @@
> +This patch fix GL application start failure on qemu 0.14.0.
> +
> +Some turn-on macro/variable are re-arranged, buffer pointer is extended to
> +support 32/64b combination of target/host.
> +
> +This is not perfect fix, and we need consider other GL alternatives in future.
> +
As this is a new patch, is this due to be sent upstream?  Please add an 
Upstream-Status: tag indicating what your intentions with this patch is.

Thanks
	Sau!

> +Signed-off-by: Zhai Edwin<edwin.zhai@intel.com>
> +Index: qemu-0.14.0/target-i386/opengl_func.h
> +===================================================================
> +--- qemu-0.14.0.orig/target-i386/opengl_func.h	2011-04-08 16:43:46.000000000 +0800
> ++++ qemu-0.14.0/target-i386/opengl_func.h	2011-04-08 16:45:55.000000000 +0800
> +@@ -26,8 +26,9 @@
> + #include "mesa_glext.h"
> +
> + /* Argument list are internally of a type that can hold a target pointer
> +- * or a host pointer.  */
> +-typedef target_phys_addr_t arg_t;
> ++ * or a host pointer. If 32b target runs on 64b host, it should be big enough
> ++ * to hold host pointer */
> ++typedef long unsigned int arg_t;
> +
> + enum {
> +     TYPE_NONE,
> +Index: qemu-0.14.0/target-i386/translate.c
> +===================================================================
> +--- qemu-0.14.0.orig/target-i386/translate.c	2011-04-08 16:19:15.000000000 +0800
> ++++ qemu-0.14.0/target-i386/translate.c	2011-04-08 16:22:03.000000000 +0800
> +@@ -2652,17 +2652,19 @@
> +     s->is_jmp = DISAS_TB_JUMP;
> + }
> +
> +-int enable_gl = 0;
> ++extern int enable_gl;
> +
> + /* an interrupt is different from an exception because of the
> +    privilege checks */
> + static void gen_interrupt(DisasContext *s, int intno,
> +                           target_ulong cur_eip, target_ulong next_eip)
> + {
> ++#if !defined(CONFIG_USER_ONLY)
> +     if (enable_gl&&  intno == 0x99) {
> +         gen_helper_opengl();
> +         return;
> +     }
> ++#endif
> +
> +     if (s->cc_op != CC_OP_DYNAMIC)
> +         gen_op_set_cc_op(s->cc_op);
> +Index: qemu-0.14.0/vl.c
> +===================================================================
> +--- qemu-0.14.0.orig/vl.c	2011-04-08 16:11:43.000000000 +0800
> ++++ qemu-0.14.0/vl.c	2011-04-08 16:20:05.000000000 +0800
> +@@ -229,7 +229,7 @@
> + unsigned int nb_prom_envs = 0;
> + const char *prom_envs[MAX_PROM_ENVS];
> + int boot_menu;
> +-extern int enable_gl;
> ++int enable_gl = 0;
> +
> + typedef struct FWBootEntry FWBootEntry;
> +
> +@@ -1909,6 +1909,7 @@
> +     return popt;
> + }
> +
> ++#define TARGET_OPENGL_OK
> + int main(int argc, char **argv, char **envp)
> + {
> +     const char *gdbstub_dev = NULL;
> diff --git a/meta/recipes-devtools/qemu/qemu_0.14.0.bb b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> index d8535b2..e440759 100644
> --- a/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> +++ b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> @@ -24,6 +24,7 @@ SRC_URI = "\
>       file://spice-qxl-locking-fix-for-qemu-kvm.patch \
>       file://Detect-and-use-GCC-atomic-builtins-for-locking.patch \
>       file://larger_default_ram_size.patch \
> +    file://qemugl-fix.patch \
>       "
>   SRC_URI[md5sum] = "f9d145d5c09de9f0984ffe9bd1229970"
>   SRC_URI[sha256sum] = "ba21e84d7853217830e167dae9999cdbff481189c6a0bb600ac7fb7201453108"
Zhai, Edwin - April 12, 2011, 5:52 a.m.
Saul Wold wrote:
>
> On 04/11/2011 06:42 PM, Zhai Edwin wrote:
> >
> >
> > Some turn-on macro/variable are re-arranged, buffer pointer is 
> extended to
> > support 32/64b combination of target/host.
> >
> > [YOCTO #688] fixed.
> >
> > Signed-off-by:  Zhai Edwin<edwin.zhai@intel.com>
>
> As this is a new patch, is this due to be sent upstream?  Please add an
> Upstream-Status: tag indicating what your intentions with this patch is.
>

This is part of our qemu gl patch, which is hard to push into upstream. 
Mark it as separated patch to clear cut old patch and current fix, which 
is easy for debug.

I have added "N/A" for Upstream Status on the same contrib 
tree(gzhai/fix3). Pls. have a look and pull.

Thanks,
edwin

> Thanks
>         Sau!
>
> > +Signed-off-by: Zhai Edwin<edwin.zhai@intel.com>
> > +Index: qemu-0.14.0/target-i386/opengl_func.h
> > +===================================================================
> > +--- qemu-0.14.0.orig/target-i386/opengl_func.h       2011-04-08 
> 16:43:46.000000000 +0800
> > ++++ qemu-0.14.0/target-i386/opengl_func.h    2011-04-08 
> 16:45:55.000000000 +0800
> > +@@ -26,8 +26,9 @@
> > + #include "mesa_glext.h"
> > +
> > + /* Argument list are internally of a type that can hold a target 
> pointer
> > +- * or a host pointer.  */
> > +-typedef target_phys_addr_t arg_t;
> > ++ * or a host pointer. If 32b target runs on 64b host, it should be 
> big enough
> > ++ * to hold host pointer */
> > ++typedef long unsigned int arg_t;
> > +
> > + enum {
> > +     TYPE_NONE,
> > +Index: qemu-0.14.0/target-i386/translate.c
> > +===================================================================
> > +--- qemu-0.14.0.orig/target-i386/translate.c 2011-04-08 
> 16:19:15.000000000 +0800
> > ++++ qemu-0.14.0/target-i386/translate.c      2011-04-08 
> 16:22:03.000000000 +0800
> > +@@ -2652,17 +2652,19 @@
> > +     s->is_jmp = DISAS_TB_JUMP;
> > + }
> > +
> > +-int enable_gl = 0;
> > ++extern int enable_gl;
> > +
> > + /* an interrupt is different from an exception because of the
> > +    privilege checks */
> > + static void gen_interrupt(DisasContext *s, int intno,
> > +                           target_ulong cur_eip, target_ulong 
> next_eip)
> > + {
> > ++#if !defined(CONFIG_USER_ONLY)
> > +     if (enable_gl&&  intno == 0x99) {
> > +         gen_helper_opengl();
> > +         return;
> > +     }
> > ++#endif
> > +
> > +     if (s->cc_op != CC_OP_DYNAMIC)
> > +         gen_op_set_cc_op(s->cc_op);
> > +Index: qemu-0.14.0/vl.c
> > +===================================================================
> > +--- qemu-0.14.0.orig/vl.c    2011-04-08 16:11:43.000000000 +0800
> > ++++ qemu-0.14.0/vl.c 2011-04-08 16:20:05.000000000 +0800
> > +@@ -229,7 +229,7 @@
> > + unsigned int nb_prom_envs = 0;
> > + const char *prom_envs[MAX_PROM_ENVS];
> > + int boot_menu;
> > +-extern int enable_gl;
> > ++int enable_gl = 0;
> > +
> > + typedef struct FWBootEntry FWBootEntry;
> > +
> > +@@ -1909,6 +1909,7 @@
> > +     return popt;
> > + }
> > +
> > ++#define TARGET_OPENGL_OK
> > + int main(int argc, char **argv, char **envp)
> > + {
> > +     const char *gdbstub_dev = NULL;
> > diff --git a/meta/recipes-devtools/qemu/qemu_0.14.0.bb 
> b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> > index d8535b2..e440759 100644
> > --- a/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> > +++ b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> > @@ -24,6 +24,7 @@ SRC_URI = "\
> >       file://spice-qxl-locking-fix-for-qemu-kvm.patch \
> >       file://Detect-and-use-GCC-atomic-builtins-for-locking.patch \
> >       file://larger_default_ram_size.patch \
> > +    file://qemugl-fix.patch \
> >       "
> >   SRC_URI[md5sum] = "f9d145d5c09de9f0984ffe9bd1229970"
> >   SRC_URI[sha256sum] = 
> "ba21e84d7853217830e167dae9999cdbff481189c6a0bb600ac7fb7201453108"
>
Saul Wold - April 12, 2011, 5:56 a.m.
On 04/11/2011 10:52 PM, Zhai, Edwin wrote:
>
>
> Saul Wold wrote:
>>
>> On 04/11/2011 06:42 PM, Zhai Edwin wrote:
>> >
>> >
>> > Some turn-on macro/variable are re-arranged, buffer pointer is
>> extended to
>> > support 32/64b combination of target/host.
>> >
>> > [YOCTO #688] fixed.
>> >
>> > Signed-off-by: Zhai Edwin<edwin.zhai@intel.com>
>>
>> As this is a new patch, is this due to be sent upstream? Please add an
>> Upstream-Status: tag indicating what your intentions with this patch is.
>>
>
> This is part of our qemu gl patch, which is hard to push into upstream.
> Mark it as separated patch to clear cut old patch and current fix, which
> is easy for debug.
>
> I have added "N/A" for Upstream Status on the same contrib
> tree(gzhai/fix3). Pls. have a look and pull.
>
N/A is not something that we have defined, Inappropriate [other] with a 
a description would be more correct.

Thanks
	Sau!

> Thanks,
> edwin
>
>> Thanks
>> Sau!
>>
>> > +Signed-off-by: Zhai Edwin<edwin.zhai@intel.com>
>> > +Index: qemu-0.14.0/target-i386/opengl_func.h
>> > +===================================================================
>> > +--- qemu-0.14.0.orig/target-i386/opengl_func.h 2011-04-08
>> 16:43:46.000000000 +0800
>> > ++++ qemu-0.14.0/target-i386/opengl_func.h 2011-04-08
>> 16:45:55.000000000 +0800
>> > +@@ -26,8 +26,9 @@
>> > + #include "mesa_glext.h"
>> > +
>> > + /* Argument list are internally of a type that can hold a target
>> pointer
>> > +- * or a host pointer. */
>> > +-typedef target_phys_addr_t arg_t;
>> > ++ * or a host pointer. If 32b target runs on 64b host, it should be
>> big enough
>> > ++ * to hold host pointer */
>> > ++typedef long unsigned int arg_t;
>> > +
>> > + enum {
>> > + TYPE_NONE,
>> > +Index: qemu-0.14.0/target-i386/translate.c
>> > +===================================================================
>> > +--- qemu-0.14.0.orig/target-i386/translate.c 2011-04-08
>> 16:19:15.000000000 +0800
>> > ++++ qemu-0.14.0/target-i386/translate.c 2011-04-08
>> 16:22:03.000000000 +0800
>> > +@@ -2652,17 +2652,19 @@
>> > + s->is_jmp = DISAS_TB_JUMP;
>> > + }
>> > +
>> > +-int enable_gl = 0;
>> > ++extern int enable_gl;
>> > +
>> > + /* an interrupt is different from an exception because of the
>> > + privilege checks */
>> > + static void gen_interrupt(DisasContext *s, int intno,
>> > + target_ulong cur_eip, target_ulong next_eip)
>> > + {
>> > ++#if !defined(CONFIG_USER_ONLY)
>> > + if (enable_gl&& intno == 0x99) {
>> > + gen_helper_opengl();
>> > + return;
>> > + }
>> > ++#endif
>> > +
>> > + if (s->cc_op != CC_OP_DYNAMIC)
>> > + gen_op_set_cc_op(s->cc_op);
>> > +Index: qemu-0.14.0/vl.c
>> > +===================================================================
>> > +--- qemu-0.14.0.orig/vl.c 2011-04-08 16:11:43.000000000 +0800
>> > ++++ qemu-0.14.0/vl.c 2011-04-08 16:20:05.000000000 +0800
>> > +@@ -229,7 +229,7 @@
>> > + unsigned int nb_prom_envs = 0;
>> > + const char *prom_envs[MAX_PROM_ENVS];
>> > + int boot_menu;
>> > +-extern int enable_gl;
>> > ++int enable_gl = 0;
>> > +
>> > + typedef struct FWBootEntry FWBootEntry;
>> > +
>> > +@@ -1909,6 +1909,7 @@
>> > + return popt;
>> > + }
>> > +
>> > ++#define TARGET_OPENGL_OK
>> > + int main(int argc, char **argv, char **envp)
>> > + {
>> > + const char *gdbstub_dev = NULL;
>> > diff --git a/meta/recipes-devtools/qemu/qemu_0.14.0.bb
>> b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
>> > index d8535b2..e440759 100644
>> > --- a/meta/recipes-devtools/qemu/qemu_0.14.0.bb
>> > +++ b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
>> > @@ -24,6 +24,7 @@ SRC_URI = "\
>> > file://spice-qxl-locking-fix-for-qemu-kvm.patch \
>> > file://Detect-and-use-GCC-atomic-builtins-for-locking.patch \
>> > file://larger_default_ram_size.patch \
>> > + file://qemugl-fix.patch \
>> > "
>> > SRC_URI[md5sum] = "f9d145d5c09de9f0984ffe9bd1229970"
>> > SRC_URI[sha256sum] =
>> "ba21e84d7853217830e167dae9999cdbff481189c6a0bb600ac7fb7201453108"
>>
Zhai, Edwin - April 12, 2011, 6:56 a.m.
Saul Wold wrote:
>
> On 04/11/2011 10:52 PM, Zhai, Edwin wrote:
> >
> >
> > This is part of our qemu gl patch, which is hard to push into upstream.
> > Mark it as separated patch to clear cut old patch and current fix, 
> which
> > is easy for debug.
> >
> > I have added "N/A" for Upstream Status on the same contrib
> > tree(gzhai/fix3). Pls. have a look and pull.
> >
> N/A is not something that we have defined, Inappropriate [other] with a
> a description would be more correct.
>

How about this way:
Upstream Status: [other] (logical part of qemu-git-qemugl-host.patch)

pulled @ contrib/gzhai/fix3

Thanks,
edwin


> Thanks
>         Sau!
>
> > Thanks,
> > edwin
> >
> >> Thanks
> >> Sau!
> >>
> >> > +Signed-off-by: Zhai Edwin<edwin.zhai@intel.com>
> >> > +Index: qemu-0.14.0/target-i386/opengl_func.h
> >> > +===================================================================
> >> > +--- qemu-0.14.0.orig/target-i386/opengl_func.h 2011-04-08
> >> 16:43:46.000000000 +0800
> >> > ++++ qemu-0.14.0/target-i386/opengl_func.h 2011-04-08
> >> 16:45:55.000000000 +0800
> >> > +@@ -26,8 +26,9 @@
> >> > + #include "mesa_glext.h"
> >> > +
> >> > + /* Argument list are internally of a type that can hold a target
> >> pointer
> >> > +- * or a host pointer. */
> >> > +-typedef target_phys_addr_t arg_t;
> >> > ++ * or a host pointer. If 32b target runs on 64b host, it should be
> >> big enough
> >> > ++ * to hold host pointer */
> >> > ++typedef long unsigned int arg_t;
> >> > +
> >> > + enum {
> >> > + TYPE_NONE,
> >> > +Index: qemu-0.14.0/target-i386/translate.c
> >> > +===================================================================
> >> > +--- qemu-0.14.0.orig/target-i386/translate.c 2011-04-08
> >> 16:19:15.000000000 +0800
> >> > ++++ qemu-0.14.0/target-i386/translate.c 2011-04-08
> >> 16:22:03.000000000 +0800
> >> > +@@ -2652,17 +2652,19 @@
> >> > + s->is_jmp = DISAS_TB_JUMP;
> >> > + }
> >> > +
> >> > +-int enable_gl = 0;
> >> > ++extern int enable_gl;
> >> > +
> >> > + /* an interrupt is different from an exception because of the
> >> > + privilege checks */
> >> > + static void gen_interrupt(DisasContext *s, int intno,
> >> > + target_ulong cur_eip, target_ulong next_eip)
> >> > + {
> >> > ++#if !defined(CONFIG_USER_ONLY)
> >> > + if (enable_gl&& intno == 0x99) {
> >> > + gen_helper_opengl();
> >> > + return;
> >> > + }
> >> > ++#endif
> >> > +
> >> > + if (s->cc_op != CC_OP_DYNAMIC)
> >> > + gen_op_set_cc_op(s->cc_op);
> >> > +Index: qemu-0.14.0/vl.c
> >> > +===================================================================
> >> > +--- qemu-0.14.0.orig/vl.c 2011-04-08 16:11:43.000000000 +0800
> >> > ++++ qemu-0.14.0/vl.c 2011-04-08 16:20:05.000000000 +0800
> >> > +@@ -229,7 +229,7 @@
> >> > + unsigned int nb_prom_envs = 0;
> >> > + const char *prom_envs[MAX_PROM_ENVS];
> >> > + int boot_menu;
> >> > +-extern int enable_gl;
> >> > ++int enable_gl = 0;
> >> > +
> >> > + typedef struct FWBootEntry FWBootEntry;
> >> > +
> >> > +@@ -1909,6 +1909,7 @@
> >> > + return popt;
> >> > + }
> >> > +
> >> > ++#define TARGET_OPENGL_OK
> >> > + int main(int argc, char **argv, char **envp)
> >> > + {
> >> > + const char *gdbstub_dev = NULL;
> >> > diff --git a/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> >> b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> >> > index d8535b2..e440759 100644
> >> > --- a/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> >> > +++ b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
> >> > @@ -24,6 +24,7 @@ SRC_URI = "\
> >> > file://spice-qxl-locking-fix-for-qemu-kvm.patch \
> >> > file://Detect-and-use-GCC-atomic-builtins-for-locking.patch \
> >> > file://larger_default_ram_size.patch \
> >> > + file://qemugl-fix.patch \
> >> > "
> >> > SRC_URI[md5sum] = "f9d145d5c09de9f0984ffe9bd1229970"
> >> > SRC_URI[sha256sum] =
> >> "ba21e84d7853217830e167dae9999cdbff481189c6a0bb600ac7fb7201453108"
> >>
>

Patch

diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
new file mode 100644
index 0000000..c395b60
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
@@ -0,0 +1,70 @@ 
+This patch fix GL application start failure on qemu 0.14.0.
+
+Some turn-on macro/variable are re-arranged, buffer pointer is extended to
+support 32/64b combination of target/host.
+
+This is not perfect fix, and we need consider other GL alternatives in future.
+
+Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
+Index: qemu-0.14.0/target-i386/opengl_func.h
+===================================================================
+--- qemu-0.14.0.orig/target-i386/opengl_func.h	2011-04-08 16:43:46.000000000 +0800
++++ qemu-0.14.0/target-i386/opengl_func.h	2011-04-08 16:45:55.000000000 +0800
+@@ -26,8 +26,9 @@
+ #include "mesa_glext.h"
+ 
+ /* Argument list are internally of a type that can hold a target pointer
+- * or a host pointer.  */
+-typedef target_phys_addr_t arg_t;
++ * or a host pointer. If 32b target runs on 64b host, it should be big enough
++ * to hold host pointer */
++typedef long unsigned int arg_t;
+ 
+ enum {
+     TYPE_NONE,
+Index: qemu-0.14.0/target-i386/translate.c
+===================================================================
+--- qemu-0.14.0.orig/target-i386/translate.c	2011-04-08 16:19:15.000000000 +0800
++++ qemu-0.14.0/target-i386/translate.c	2011-04-08 16:22:03.000000000 +0800
+@@ -2652,17 +2652,19 @@
+     s->is_jmp = DISAS_TB_JUMP;
+ }
+ 
+-int enable_gl = 0;
++extern int enable_gl;
+ 
+ /* an interrupt is different from an exception because of the
+    privilege checks */
+ static void gen_interrupt(DisasContext *s, int intno,
+                           target_ulong cur_eip, target_ulong next_eip)
+ {
++#if !defined(CONFIG_USER_ONLY)
+     if (enable_gl && intno == 0x99) {
+         gen_helper_opengl();
+         return;
+     }
++#endif
+ 
+     if (s->cc_op != CC_OP_DYNAMIC)
+         gen_op_set_cc_op(s->cc_op);
+Index: qemu-0.14.0/vl.c
+===================================================================
+--- qemu-0.14.0.orig/vl.c	2011-04-08 16:11:43.000000000 +0800
++++ qemu-0.14.0/vl.c	2011-04-08 16:20:05.000000000 +0800
+@@ -229,7 +229,7 @@
+ unsigned int nb_prom_envs = 0;
+ const char *prom_envs[MAX_PROM_ENVS];
+ int boot_menu;
+-extern int enable_gl;
++int enable_gl = 0;
+ 
+ typedef struct FWBootEntry FWBootEntry;
+ 
+@@ -1909,6 +1909,7 @@
+     return popt;
+ }
+ 
++#define TARGET_OPENGL_OK
+ int main(int argc, char **argv, char **envp)
+ {
+     const char *gdbstub_dev = NULL;
diff --git a/meta/recipes-devtools/qemu/qemu_0.14.0.bb b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
index d8535b2..e440759 100644
--- a/meta/recipes-devtools/qemu/qemu_0.14.0.bb
+++ b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
@@ -24,6 +24,7 @@  SRC_URI = "\
     file://spice-qxl-locking-fix-for-qemu-kvm.patch \
     file://Detect-and-use-GCC-atomic-builtins-for-locking.patch \
     file://larger_default_ram_size.patch \
+    file://qemugl-fix.patch \
     "
 SRC_URI[md5sum] = "f9d145d5c09de9f0984ffe9bd1229970"
 SRC_URI[sha256sum] = "ba21e84d7853217830e167dae9999cdbff481189c6a0bb600ac7fb7201453108"