qemu: add wrapper for qemu-mips binary
Details
Commit Message
@@ -29,6 +29,20 @@ do_configure_prepend_virtclass-nativesdk() {
sed -i 's/-lX11//g' Makefile.target
fi
}
+
+# The following fragment will create a wrapper for qemu-mips user emulation
+# binary in order to work around a segmentation fault issue. Basically, by
+# default, the reserved virtual address space for 32-on-64 bit is set to 4GB.
+# This will trigger a MMU access fault in the virtual CPU. With this change,
+# the qemu-mips works fine.
+# IMPORTANT: This piece needs to be removed once the root cause is fixed!
+inherit utils
+do_install_append() {
+ create_wrapper ${D}/${bindir}/qemu-mips \
+ QEMU_RESERVED_VA=0x0
+}
+# END of qemu-mips workaround
+
do_configure_prepend_virtclass-native() {
# Undo the -lX11 added by linker-flags.patch, don't assume that host has libX11 installed
sed -i 's/-lX11//g' Makefile.target
qemu-mips user emulation binary segfaults when running any kind of binary. This is due to a MMU access fault in the virtual CPU. This problem has been introduced in qemu when 4GB of vmem were reserved for 32-on-64 bit. This workaround will need to be reverted once the proper fix is found. [YOCTO #3143] Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> --- meta/recipes-devtools/qemu/qemu_1.2.0.bb | 14 ++++++++++++++ 1 file changed, 14 insertions(+)