Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Martin Jansa <martin.jansa@gmail.com>
To: laurentiu.palcu@intel.com
Cc: openembedded-core@lists.openembedded.org,
	openembedded-commits@lists.openembedded.org
Subject: Re: [oe-commits] Laurentiu Palcu : qemu: add wrapper for qemu-mips binary
Date: Sat, 6 Oct 2012 18:21:36 +0200	[thread overview]
Message-ID: <20121006162136.GA24453@jama.jama.net> (raw)
In-Reply-To: <20121003114821.8D16410375@opal>

[-- Attachment #1: Type: text/plain, Size: 2907 bytes --]

On Wed, Oct 03, 2012 at 11:48:21AM +0000, git@git.openembedded.org wrote:
> Module: openembedded-core.git
> Branch: master
> Commit: 53b3103abdf21123b1c7be49b05cfe97a7cd9ed7
> URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=53b3103abdf21123b1c7be49b05cfe97a7cd9ed7
> 
> Author: Laurentiu Palcu <laurentiu.palcu@intel.com>
> Date:   Wed Oct  3 14:23:26 2012 +0300
> 
> qemu: add wrapper for qemu-mips binary
> 
> 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>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> 
> ---
> 
>  meta/recipes-devtools/qemu/qemu_1.2.0.bb |   15 ++++++++++++++-
>  1 files changed, 14 insertions(+), 1 deletions(-)
> 
> diff --git a/meta/recipes-devtools/qemu/qemu_1.2.0.bb b/meta/recipes-devtools/qemu/qemu_1.2.0.bb
> index 191ee48..cbdb4d4 100644
> --- a/meta/recipes-devtools/qemu/qemu_1.2.0.bb
> +++ b/meta/recipes-devtools/qemu/qemu_1.2.0.bb
> @@ -17,7 +17,7 @@ SRC_URI = "\
>  SRC_URI[md5sum] = "78eb1e984f4532aa9f2bdd3c127b5b61"
>  SRC_URI[sha256sum] = "c8b84420d9f4869397f84cad2dabd9a475b7723d619a924a873740353e9df936"
>  
> -PR = "r2"
> +PR = "r3"
>  
>  SRC_URI_append_virtclass-nativesdk = "\
>      file://relocatable_sdk.patch \
> @@ -29,6 +29,19 @@ 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!
> +do_install_append() {
> +	create_wrapper ${D}/${bindir}/qemu-mips \
> +		QEMU_RESERVED_VA=0x0
> +}
> +# END of qemu-mips workaround

What about checking if mips is in QEMU_TARGETS before doing this?

Right now this breaks all distros without mips in QEMU_TARGETS.

Cheers,

> +
>  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
> 
> 
> _______________________________________________
> Openembedded-commits mailing list
> Openembedded-commits@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa@gmail.com

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]

       reply	other threads:[~2012-10-06 16:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20121003114821.8D16410375@opal>
2012-10-06 16:21 ` Martin Jansa [this message]
2012-10-06 18:13   ` [oe-commits] Laurentiu Palcu : qemu: add wrapper for qemu-mips binary Khem Raj
2012-10-08  8:26     ` Richard Purdie
2012-10-08  8:35     ` Laurentiu Palcu
2012-10-08  9:14       ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121006162136.GA24453@jama.jama.net \
    --to=martin.jansa@gmail.com \
    --cc=laurentiu.palcu@intel.com \
    --cc=openembedded-commits@lists.openembedded.org \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox