qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Vincent Sanders <vince@simtec.co.uk>
To: qemu-devel@nongnu.org
Cc: Vincent Sanders <vince@simtec.co.uk>
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	[thread overview]
Message-ID: <1243330895-27791-1-git-send-email-vince@simtec.co.uk> (raw)

Signed-off-by: Vincent Sanders <vince@simtec.co.uk>
---
 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

                 reply	other threads:[~2009-05-26  9:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=1243330895-27791-1-git-send-email-vince@simtec.co.uk \
    --to=vince@simtec.co.uk \
    --cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).