[OE-core] [PATCH 1/1] qemu: Fix the qemu GL application start failure.

Zhai, Edwin edwin.zhai at intel.com
Tue Apr 12 01:40:20 UTC 2011


Sorry,
My mistake.
I forget to remove this debug stuff:(

I'll sending new pull request.


Koen Kooi wrote:
>
> Why are the mesa demo packages needed?
>
> Op 11 apr. 2011 om 17:11 heeft Zhai Edwin <edwin.zhai at intel.com> het 
> volgende geschreven:
>
> > From: Zhai Edwin <edwin.zhai at 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 at intel.com>
> > ---
> > .../qemu/qemu-0.14.0/qemugl-fix.patch              |   70 
> ++++++++++++++++++++
> > meta/recipes-devtools/qemu/qemu_0.14.0.bb          |    1 +
> > meta/recipes-sato/pimlico/dates_git.bb             |    2 +
> > 3 files changed, 73 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.
> > +
> > +Signed-off-by: Zhai Edwin <edwin.zhai at 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"
> > diff --git a/meta/recipes-sato/pimlico/dates_git.bb 
> b/meta/recipes-sato/pimlico/dates_git.bb
> > index f0a12f8..2823594 100644
> > --- a/meta/recipes-sato/pimlico/dates_git.bb
> > +++ b/meta/recipes-sato/pimlico/dates_git.bb
> > @@ -13,3 +13,5 @@ S = "${WORKDIR}/git"
> > SRC_URI = "git://git.gnome.org/${BPN};protocol=git \
> >       file://make-382.patch \
> >       file://dso_linking_change_build_fix.patch"
> > +
> > +RDEPENDS_${PN} = "mesa-demos"
> > --
> > 1.7.1
> >
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core at lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>




More information about the Openembedded-core mailing list