aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2010-05-23 08:34:10 -0700
committerKhem Raj <raj.khem@gmail.com>2010-05-23 08:34:10 -0700
commit48bbd6c5a07f736be3988f62a8d2a8105c0dc015 (patch)
tree9e2a641397b164692cb7fef796509664917cbdd7
parent696f1228294e219245ebdcec532ce2a04fa5f261 (diff)
downloadopenembedded-48bbd6c5a07f736be3988f62a8d2a8105c0dc015.tar.gz
openembedded-48bbd6c5a07f736be3988f62a8d2a8105c0dc015.tar.bz2
openembedded-48bbd6c5a07f736be3988f62a8d2a8105c0dc015.zip
qemu: Fix running linux user programs on iWMMXt processors.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes/qemu/qemu-0.12.4/linux-user-fix-running-programs-with-iwmmxt.patch46
-rw-r--r--recipes/qemu/qemu_0.12.4.bb3
2 files changed, 48 insertions, 1 deletions
diff --git a/recipes/qemu/qemu-0.12.4/linux-user-fix-running-programs-with-iwmmxt.patch b/recipes/qemu/qemu-0.12.4/linux-user-fix-running-programs-with-iwmmxt.patch
new file mode 100644
index 0000000000..703f097826
--- /dev/null
+++ b/recipes/qemu/qemu-0.12.4/linux-user-fix-running-programs-with-iwmmxt.patch
@@ -0,0 +1,46 @@
+From patchwork Sat May 8 16:58:11 2010
+Content-Type: text/plain; charset="utf-8"
+MIME-Version: 1.0
+Content-Transfer-Encoding: 7bit
+Subject: [v2] linux-user: fix running programs with iwmmxt
+Date: Sat, 08 May 2010 06:58:11 -0000
+From: Lars Munch <lars@segv.dk>
+X-Patchwork-Id: 51970
+Message-Id: <1273337891-20342-1-git-send-email-lars@segv.dk>
+To: qemu-devel@nongnu.org
+Cc: Lars Munch <lars@segv.dk>
+
+CP0 and/or CP1 needs to be accessible when using linux-user for emulating a
+pxa270 cpu with code using iwmmxt instructions. This patch inits the cpu to
+have CP0 and/or CP1 accessible if in linux-user mode.
+
+Signed-off-by: Lars Munch <lars@segv.dk>
+
+---
+target-arm/helper.c | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+Index: qemu-0.12.4/target-arm/helper.c
+===================================================================
+--- qemu-0.12.4.orig/target-arm/helper.c 2010-05-22 22:48:27.045182598 -0700
++++ qemu-0.12.4/target-arm/helper.c 2010-05-23 08:31:29.095165136 -0700
+@@ -165,6 +165,9 @@ static void cpu_reset_model_id(CPUARMSta
+ /* JTAG_ID is ((id << 28) | 0x09265013) */
+ env->cp15.c0_cachetype = 0xd172172;
+ env->cp15.c1_sys = 0x00000078;
++#if defined (CONFIG_USER_ONLY)
++ env->cp15.c15_cpar = 0x00000001;
++#endif
+ break;
+ case ARM_CPUID_PXA270_A0:
+ case ARM_CPUID_PXA270_A1:
+@@ -178,6 +181,9 @@ static void cpu_reset_model_id(CPUARMSta
+ env->iwmmxt.cregs[ARM_IWMMXT_wCID] = 0x69051000 | 'Q';
+ env->cp15.c0_cachetype = 0xd172172;
+ env->cp15.c1_sys = 0x00000078;
++#if defined (CONFIG_USER_ONLY)
++ env->cp15.c15_cpar = 0x00000003;
++#endif
+ break;
+ default:
+ cpu_abort(env, "Bad CPU ID: %x\n", id);
diff --git a/recipes/qemu/qemu_0.12.4.bb b/recipes/qemu/qemu_0.12.4.bb
index 05eb4c871e..8fa2dbfbfb 100644
--- a/recipes/qemu/qemu_0.12.4.bb
+++ b/recipes/qemu/qemu_0.12.4.bb
@@ -1,7 +1,7 @@
LICENSE = "GPL"
DEPENDS = "zlib"
-PR = "r0"
+PR = "r1"
SRC_URI = "\
http://download.savannah.gnu.org/releases/qemu/qemu-${PV}.tar.gz;name=qemu-${PV} \
@@ -16,6 +16,7 @@ SRC_URI = "\
file://fix_baum_c_compilation.patch;patch=1 \
file://fix_fortify_source_compilation.patch;patch=1 \
file://fallback.to.safe.mmap_min_addr.patch;patch=1 \
+ file://linux-user-fix-running-programs-with-iwmmxt.patch;patch=1 \
"
SRC_URI[qemu-0.12.4.md5sum] = "93e6b134dff89b2799f57b7d9e0e0fc5"