[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/1] Add the CPU Identifier required for ARM 920T cp
From: |
Vincent Sanders |
Subject: |
[Qemu-devel] [PATCH 1/1] Add the CPU Identifier required for ARM 920T cpu cores |
Date: |
Tue, 26 May 2009 10:41:35 +0100 |
Signed-off-by: Vincent Sanders <address@hidden>
---
target-arm/cpu.h | 1 +
target-arm/helper.c | 15 +++++++++++++++
2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/target-arm/cpu.h b/target-arm/cpu.h
index f98655f..eafaeaf 100644
--- a/target-arm/cpu.h
+++ b/target-arm/cpu.h
@@ -370,6 +370,7 @@ void cpu_arm_set_cp_io(CPUARMState *env, int cpnum,
#define ARM_CPUID_ARM1026 0x4106a262
#define ARM_CPUID_ARM926 0x41069265
#define ARM_CPUID_ARM946 0x41059461
+#define ARM_CPUID_ARM920T 0x41129200
#define ARM_CPUID_TI915T 0x54029152
#define ARM_CPUID_TI925T 0x54029252
#define ARM_CPUID_PXA250 0x69052100
diff --git a/target-arm/helper.c b/target-arm/helper.c
index 701629a..2439267 100644
--- a/target-arm/helper.c
+++ b/target-arm/helper.c
@@ -37,6 +37,20 @@ static void cpu_reset_model_id(CPUARMState *env, uint32_t id)
{
env->cp15.c0_cpuid = id;
switch (id) {
+ case ARM_CPUID_ARM920T:
+ /* This processor is an ARMv4 and not ARMv5 which is the default
+ * emulation level. The additional v5 instructions (blx clz ldrd pld
+ * smlabb smlabt smlatt smlal smlawb smlawt smulbb smulbt smultt
+ * smulwb smulwt qadd qdadd qdsub qsub strd) will all be successfully
+ * executed instead of causing an unknown instruction fault.
+ *
+ * In practice this does not appear to be an issue and several boot
+ * loaders, Linux kernels, BSD kernels and their user space all
+ * appear to execute without problems.
+ */
+ env->cp15.c0_cachetype = 0x0d172172;
+ env->cp15.c1_sys = 0x00000078;
+ break;
case ARM_CPUID_ARM926:
set_feature(env, ARM_FEATURE_VFP);
env->vfp.xregs[ARM_VFP_FPSID] = 0x41011090;
@@ -277,6 +291,7 @@ struct arm_cpu_t {
};
static const struct arm_cpu_t arm_cpu_names[] = {
+ { ARM_CPUID_ARM920T, "arm920t"},
{ ARM_CPUID_ARM926, "arm926"},
{ ARM_CPUID_ARM946, "arm946"},
{ ARM_CPUID_ARM1026, "arm1026"},
--
1.6.0.4
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [PATCH 1/1] Add the CPU Identifier required for ARM 920T cpu cores,
Vincent Sanders <=