Contributed under GPLv2+. Signed-off-by: Andreas Färber <afaer...@suse.de> --- target-unicore32/cpu-qom.h | 1 + target-unicore32/cpu.c | 4 ++++ target-unicore32/helper.c | 1 - 3 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/target-unicore32/cpu-qom.h b/target-unicore32/cpu-qom.h index f3592d0..4d730f0 100644 --- a/target-unicore32/cpu-qom.h +++ b/target-unicore32/cpu-qom.h @@ -45,6 +45,7 @@ typedef struct UniCore32CPUClass { struct { uint32_t c0_cpuid; uint32_t c0_cachetype; + uint32_t c1_sys; } cp0; } UniCore32CPUClass; diff --git a/target-unicore32/cpu.c b/target-unicore32/cpu.c index c17b880..fa5c280 100644 --- a/target-unicore32/cpu.c +++ b/target-unicore32/cpu.c @@ -18,6 +18,7 @@ typedef struct UniCore32CPUInfo { const char *name; uint32_t cp0_c0_cpuid; uint32_t cp0_c0_cachetype; + uint32_t cp0_c1_sys; } UniCore32CPUInfo; static const UniCore32CPUInfo uc32_cpus[] = { @@ -25,6 +26,7 @@ static const UniCore32CPUInfo uc32_cpus[] = { .name = "UniCore-II", .cp0_c0_cpuid = 0x40010863, .cp0_c0_cachetype = 0x1dd20d2, + .cp0_c1_sys = 0x00090078, }, { .name = "any", @@ -43,6 +45,7 @@ static void uc32_cpu_initfn(Object *obj) env->cpu_model_str = object_get_typename(obj); env->cp0.c0_cpuid = klass->cp0.c0_cpuid; env->cp0.c0_cachetype = klass->cp0.c0_cachetype; + env->cp0.c1_sys = klass->cp0.c1_sys; env->uncached_asr = ASR_MODE_USER; env->regs[31] = 0; @@ -57,6 +60,7 @@ static void uc32_cpu_class_init(ObjectClass *klass, void *data) k->cp0.c0_cpuid = info->cp0_c0_cpuid; k->cp0.c0_cachetype = info->cp0_c0_cachetype; + k->cp0.c1_sys = info->cp0_c1_sys; } static void uc32_register_cpu(const UniCore32CPUInfo *info) diff --git a/target-unicore32/helper.c b/target-unicore32/helper.c index 5e5e34d..ba9318b 100644 --- a/target-unicore32/helper.c +++ b/target-unicore32/helper.c @@ -35,7 +35,6 @@ CPUUniCore32State *uc32_cpu_init(const char *cpu_model) set_feature(env, UC32_HWCAP_CMOV); set_feature(env, UC32_HWCAP_UCF64); env->ucf64.xregs[UC32_UCF64_FPSCR] = 0; - env->cp0.c1_sys = 0x00090078; break; case UC32_CPUID_ANY: /* For userspace emulation. */ set_feature(env, UC32_HWCAP_CMOV); -- 1.7.7