qemu: Fix the qemu GL application start failure.
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/1 qemu: Fix the qemu GL application start failure.
From: Zhai Edwin <[email protected]>
Some turn-on macro/variable are re-arranged, buffer pointer is extended to support 32/64b combination of target/host.
[YOCTO #688] fixed.
--- .../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
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +70 -0
@@ -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 <[email protected]> +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;
meta/recipes-devtools/qemu/qemu_0.14.0.bb +1 -0
@@ -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"
meta/recipes-sato/pimlico/dates_git.bb +2 -0
@@ -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"
Signature · 1 line
1.7.1
Why are the mesa demo packages needed?
Op 11 apr. 2011 om 17:11 heeft Zhai Edwin <[email protected]> het volgende geschreven:
Quoted 121 lines
From: Zhai Edwin <[email protected]>
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 <[email protected]>---
.../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.patchmeta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +70
-0@@ -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 <[email protected]> +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;meta/recipes-devtools/qemu/qemu_0.14.0.bb +1
-0@@ -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"meta/recipes-sato/pimlico/dates_git.bb +2
-0@@ -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"Signature · 7 lines
1.7.1 _______________________________________________ Openembedded-core mailing list [email protected] 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.
Quoted 149 lines · Koen Kooi
Why are the mesa demo packages needed?
Op 11 apr. 2011 om 17:11 heeft Zhai Edwin <[email protected]> het volgende geschreven:
Quoted 3 lines
From: Zhai Edwin <[email protected]>
Some turn-on macro/variable are re-arranged, buffer pointer is
extended to
Quoted 7 lines
support 32/64b combination of target/host.
[YOCTO #688] fixed.
Signed-off-by Zhai Edwin <[email protected]>---
.../qemu/qemu-0.14.0/qemugl-fix.patch| 70++++++++++++++++++++
Quoted 4 lines
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.patchReview
Quoted 2 lines
(quoted diff) +0
-0
b/meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patchmeta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch line 3
Quoted 8 lines
new file mode 100644
index 0000000..c395b60meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +3
-0@@ -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 isextended to
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
Quoted 3 lines
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +3
-0+support 32/64b combination of target/host. + +This is not perfect fix, and we need consider other GL alternativesin future.
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
Quoted 5 lines
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +5
-0+ +Signed-off-by: Zhai Edwin <[email protected]> +Index: qemu-0.14.0/target-i386/opengl_func.h +=================================================================== +--- qemu-0.14.0.orig/target-i386/opengl_func.h 2011-04-0816:43:46.000000000 +0800
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch line 12
Quoted 1 line
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +1
-0++++ qemu-0.14.0/target-i386/opengl_func.h 2011-04-0816:45:55.000000000 +0800
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
Quoted 4 lines
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +4
-0+@@ -26,8 +26,9 @@ + #include "mesa_glext.h" + + /* Argument list are internally of a type that can hold a targetpointer
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
Quoted 3 lines
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +3
-0+- * or a host pointer. */ +-typedef target_phys_addr_t arg_t; ++ * or a host pointer. If 32b target runs on 64b host, it should bebig enough
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
Quoted 8 lines
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +8
-0++ * 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-0816:19:15.000000000 +0800
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch line 28
Quoted 1 line
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +1
-0++++ qemu-0.14.0/target-i386/translate.c 2011-04-0816:22:03.000000000 +0800
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch
Quoted 11 lines
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +11
-0+@@ -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)Review
Quoted 32 lines
meta/recipes-devtools/qemu/qemu-0.14.0/qemugl-fix.patch new file +31
-0+ { ++#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;(quoted diff) +0
-0b/meta/recipes-devtools/qemu/qemu_0.14.0.bb
Quoted 11 lines
index d8535b2..e440759 100644
meta/recipes-devtools/qemu/qemu_0.14.0.bb +1
-0@@ -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"Review
Quoted 1 line
(quoted diff) +0
-0b/meta/recipes-sato/pimlico/dates_git.bb
Quoted 13 lines
index f0a12f8..2823594 100644
meta/recipes-sato/pimlico/dates_git.bb +2
-1@@ -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
Quoted 4 lines
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core