[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/16] ARM: enable XScale/iWMMXT in linux-user mode
From: |
Riku |
Subject: |
[Qemu-devel] [PATCH 06/16] ARM: enable XScale/iWMMXT in linux-user mode |
Date: |
Fri, 3 Dec 2010 15:36:33 +0200 |
From: Peter Maydell <address@hidden>
In linux-user mode, the XScale/iWMMXT coprocessors must be enabled
at reset so that we can run code that uses these instructions.
Signed-off-by: Peter Maydell <address@hidden>
---
target-arm/helper.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/target-arm/helper.c b/target-arm/helper.c
index 996d40d..94aef39 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -203,7 +203,13 @@ void cpu_reset(CPUARMState *env)
cpu_reset_model_id(env, id);
#if defined (CONFIG_USER_ONLY)
env->uncached_cpsr = ARM_CPU_MODE_USR;
+ /* For user mode we must enable access to coprocessors */
env->vfp.xregs[ARM_VFP_FPEXC] = 1 << 30;
+ if (arm_feature(env, ARM_FEATURE_IWMMXT)) {
+ env->cp15.c15_cpar = 3;
+ } else if (arm_feature(env, ARM_FEATURE_XSCALE)) {
+ env->cp15.c15_cpar = 1;
+ }
#else
/* SVC mode with interrupts disabled. */
env->uncached_cpsr = ARM_CPU_MODE_SVC | CPSR_A | CPSR_F | CPSR_I;
--
1.6.5
- [Qemu-devel] [PATCH 07/16] target-sparc: remove unused functions cpu_lock(), cpu_unlock(), (continued)
- [Qemu-devel] [PATCH 07/16] target-sparc: remove unused functions cpu_lock(), cpu_unlock(), Riku, 2010/12/03
- [Qemu-devel] [PATCH 08/16] ARM: linux-user: Correct size of padding in target_ucontext_v2, Riku, 2010/12/03
- [Qemu-devel] [PATCH 13/16] ARM: linux-user: Restore iWMMXT state from ucontext on sigreturn, Riku, 2010/12/03
- [Qemu-devel] [PATCH 05/16] linux-user: Translate getsockopt level option, Riku, 2010/12/03
- [Qemu-devel] [PATCH 04/16] linux-user: remove unnecessary local from __get_user(), __put_user(), Riku, 2010/12/03
- [Qemu-devel] [PATCH 14/16] linux-user: fix compiler error on nptl, Riku, 2010/12/03
- [Qemu-devel] [PATCH 03/16] linux-user: fix memory leaks with NPTL emulation, Riku, 2010/12/03
- [Qemu-devel] [PATCH 10/16] ARM: linux-user: Expose VFP registers to signal handlers, Riku, 2010/12/03
- [Qemu-devel] [PATCH 11/16] ARM: linux-user: Restore VFP state from ucontext on sigreturn, Riku, 2010/12/03
- [Qemu-devel] [PATCH 12/16] ARM: linux-user: Expose iWMMXT registers to signal handlers, Riku, 2010/12/03
- [Qemu-devel] [PATCH 06/16] ARM: enable XScale/iWMMXT in linux-user mode,
Riku <=
- [Qemu-devel] [PATCH 15/16] update binfmt conf, Riku, 2010/12/03
- [Qemu-devel] [PATCH 01/16] [PATCH] target-arm: remove unused functions cpu_lock(), cpu_unlock(), Riku, 2010/12/03
- [Qemu-devel] [PATCH 16/16] linux-user: fix mips and ppc to use UID16, Riku, 2010/12/03
- [Qemu-devel] [PATCH 09/16] ARM: Expose vfp_get_fpscr() and vfp_set_fpscr() to C code, Riku, 2010/12/03
- Re: [Qemu-devel] [PATCH 00/16] linux-user updates, Peter Maydell, 2010/12/03
- Re: [Qemu-devel] [PATCH 00/16] linux-user updates, Edgar E. Iglesias, 2010/12/03