diff options
author | Andreas Färber <afaerber@suse.de> | 2012-04-11 23:35:40 +0200 |
---|---|---|
committer | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2012-04-24 16:04:56 +0200 |
commit | 1c3b52fb1a44b407b52f4852c1931c571e77d308 (patch) | |
tree | e8d9677d0b8bffe079aca57a9ab4fdbf0fbb325e /target-cris/translate.c | |
parent | e739a48e58c41fc0d3caa24103abef9988c77cdf (diff) | |
download | qemu-1c3b52fb1a44b407b52f4852c1931c571e77d308.zip qemu-1c3b52fb1a44b407b52f4852c1931c571e77d308.tar.gz qemu-1c3b52fb1a44b407b52f4852c1931c571e77d308.tar.bz2 |
target-cris: QOM'ify CPU reset
Move code from cpu_state_reset() into QOM cris_cpu_reset().
Let CPU init call cpu_reset().
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'target-cris/translate.c')
-rw-r--r-- | target-cris/translate.c | 22 |
1 files changed, 2 insertions, 20 deletions
diff --git a/target-cris/translate.c b/target-cris/translate.c index 26c3f0b..d3dbac2 100644 --- a/target-cris/translate.c +++ b/target-cris/translate.c @@ -3515,7 +3515,7 @@ CPUCRISState *cpu_cris_init (const char *cpu_model) env->pregs[PR_VR] = vr_by_name(cpu_model); cpu_exec_init(env); - cpu_state_reset(env); + cpu_reset(CPU(cpu)); qemu_init_vcpu(env); if (tcg_initialized) @@ -3577,25 +3577,7 @@ CPUCRISState *cpu_cris_init (const char *cpu_model) void cpu_state_reset(CPUCRISState *env) { - uint32_t vr; - - if (qemu_loglevel_mask(CPU_LOG_RESET)) { - qemu_log("CPU Reset (CPU %d)\n", env->cpu_index); - log_cpu_state(env, 0); - } - - vr = env->pregs[PR_VR]; - memset(env, 0, offsetof(CPUCRISState, breakpoints)); - env->pregs[PR_VR] = vr; - tlb_flush(env, 1); - -#if defined(CONFIG_USER_ONLY) - /* start in user mode with interrupts enabled. */ - env->pregs[PR_CCS] |= U_FLAG | I_FLAG | P_FLAG; -#else - cris_mmu_init(env); - env->pregs[PR_CCS] = 0; -#endif + cpu_reset(ENV_GET_CPU(env)); } void restore_state_to_opc(CPUCRISState *env, TranslationBlock *tb, int pc_pos) |