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).