diff options
Diffstat (limited to 'target-lm32/cpu.c')
-rw-r--r-- | target-lm32/cpu.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/target-lm32/cpu.c b/target-lm32/cpu.c index 70251d0544..48a5fe3f86 100644 --- a/target-lm32/cpu.c +++ b/target-lm32/cpu.c @@ -29,9 +29,17 @@ static void lm32_cpu_reset(CPUState *s) LM32CPUClass *lcc = LM32_CPU_GET_CLASS(cpu); CPULM32State *env = &cpu->env; + if (qemu_loglevel_mask(CPU_LOG_RESET)) { + qemu_log("CPU Reset (CPU %d)\n", env->cpu_index); + log_cpu_state(env, 0); + } + lcc->parent_reset(s); - cpu_state_reset(env); + tlb_flush(env, 1); + + /* reset cpu state */ + memset(env, 0, offsetof(CPULM32State, breakpoints)); } static void lm32_cpu_initfn(Object *obj) |