[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 5/9] unicore32-softmmu: initialize ucv2 cpu
From: |
Guan Xuetao |
Subject: |
[Qemu-devel] [PATCH 5/9] unicore32-softmmu: initialize ucv2 cpu |
Date: |
Fri, 25 May 2012 19:29:03 +0800 |
Signed-off-by: Guan Xuetao <address@hidden>
---
target-unicore32/cpu.c | 17 +++++++++++++----
target-unicore32/cpu.h | 2 +-
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/target-unicore32/cpu.c b/target-unicore32/cpu.c
index de63f58..62c0a22 100644
--- a/target-unicore32/cpu.c
+++ b/target-unicore32/cpu.c
@@ -32,13 +32,16 @@ static void unicore_ii_cpu_initfn(Object *obj)
UniCore32CPU *cpu = UNICORE32_CPU(obj);
CPUUniCore32State *env = &cpu->env;
- env->cp0.c0_cpuid = 0x40010863;
+ env->cp0.c0_cpuid = UC32_CPUID_UCV2;
+ env->cp0.c0_cachetype = 0x0d152152;
+ env->cp0.c1_sys = 0x2000;
+ env->cp0.c2_base = 0x0;
+ env->cp0.c3_faultstatus = 0x0;
+ env->cp0.c4_faultaddr = 0x0;
+ env->ucf64.xregs[UC32_UCF64_FPSCR] = 0;
set_feature(env, UC32_HWCAP_CMOV);
set_feature(env, UC32_HWCAP_UCF64);
- env->ucf64.xregs[UC32_UCF64_FPSCR] = 0;
- env->cp0.c0_cachetype = 0x1dd20d2;
- env->cp0.c1_sys = 0x00090078;
}
static void uc32_any_cpu_initfn(Object *obj)
@@ -47,6 +50,7 @@ static void uc32_any_cpu_initfn(Object *obj)
CPUUniCore32State *env = &cpu->env;
env->cp0.c0_cpuid = 0xffffffff;
+ env->ucf64.xregs[UC32_UCF64_FPSCR] = 0;
set_feature(env, UC32_HWCAP_CMOV);
set_feature(env, UC32_HWCAP_UCF64);
@@ -65,8 +69,13 @@ static void uc32_cpu_initfn(Object *obj)
cpu_exec_init(env);
env->cpu_model_str = object_get_typename(obj);
+#ifdef CONFIG_USER_ONLY
env->uncached_asr = ASR_MODE_USER;
env->regs[31] = 0;
+#else
+ env->uncached_asr = ASR_MODE_PRIV;
+ env->regs[31] = 0x03000000;
+#endif
tlb_flush(env, 1);
}
diff --git a/target-unicore32/cpu.h b/target-unicore32/cpu.h
index 66c42f5..8af3649 100644
--- a/target-unicore32/cpu.h
+++ b/target-unicore32/cpu.h
@@ -123,7 +123,7 @@ void cpu_asr_write(CPUUniCore32State *env1, target_ulong
val, target_ulong mask)
#define UC32_HWCAP_UCF64 8 /* 1 << 3 */
#define UC32_CPUID(env) (env->cp0.c0_cpuid)
-#define UC32_CPUID_UCV2 0x40010863
+#define UC32_CPUID_UCV2 0x4d000863
#define UC32_CPUID_ANY 0xffffffff
#define cpu_init uc32_cpu_init
--
1.7.0.4
[Qemu-devel] [PATCH 8/9] unicore32-softmmu: add config and makefile support, Guan Xuetao, 2012/05/25
[Qemu-devel] [PATCH 9/9] unicore32-softmmu: add maintainer information, Guan Xuetao, 2012/05/25