Message ID | 0323ebf6b38d0ba0d1e955c4a3aca7f96ff3e803.1302565606.git.lei.mei@intel.com |
---|---|
State | New, archived |
Headers | show |
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" 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"
Why are the mesa demo packages needed? Op 11 apr. 2011 om 17:11 heeft Zhai Edwin <edwin.zhai@intel.com> het volgende geschreven: > 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 + > 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@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@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
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@intel.com> het > volgende geschreven: > > > 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 + > > 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@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@lists.openembedded.org > > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core >