]> git.proxmox.com Git - qemu.git/commitdiff
target-lm32: QOM'ify CPU init
authorAndreas Färber <afaerber@suse.de>
Tue, 10 Apr 2012 23:33:33 +0000 (01:33 +0200)
committerAndreas Färber <afaerber@suse.de>
Wed, 11 Apr 2012 23:07:59 +0000 (01:07 +0200)
Move code from cpu_lm32_init() to an initfn; call cpu_reset()
instead of cpu_state_reset().

Signed-off-by: Andreas Färber <afaerber@suse.de>
Acked-by: Michael Walle <michael@walle.cc>
target-lm32/cpu.c
target-lm32/helper.c

index 4ce7e3bf4cbd94441f856f3be2d6b6804d14a1bf..70251d05445b8e6085a3aea90eae4349115c9c7a 100644 (file)
@@ -34,6 +34,18 @@ static void lm32_cpu_reset(CPUState *s)
     cpu_state_reset(env);
 }
 
+static void lm32_cpu_initfn(Object *obj)
+{
+    LM32CPU *cpu = LM32_CPU(obj);
+    CPULM32State *env = &cpu->env;
+
+    cpu_exec_init(env);
+
+    env->flags = 0;
+
+    cpu_reset(CPU(cpu));
+}
+
 static void lm32_cpu_class_init(ObjectClass *oc, void *data)
 {
     LM32CPUClass *lcc = LM32_CPU_CLASS(oc);
@@ -47,6 +59,7 @@ static const TypeInfo lm32_cpu_type_info = {
     .name = TYPE_LM32_CPU,
     .parent = TYPE_CPU,
     .instance_size = sizeof(LM32CPU),
+    .instance_init = lm32_cpu_initfn,
     .abstract = false,
     .class_size = sizeof(LM32CPUClass),
     .class_init = lm32_cpu_class_init,
index 3cf86d7b76588486b7439ba0224dcf17acf9944e..9de777f43ec4df2dd2fdb9b5e824bca640731acc 100644 (file)
@@ -211,10 +211,7 @@ CPULM32State *cpu_lm32_init(const char *cpu_model)
     env->num_bps = def->num_breakpoints;
     env->num_wps = def->num_watchpoints;
     env->cfg = cfg_by_def(def);
-    env->flags = 0;
 
-    cpu_exec_init(env);
-    cpu_state_reset(env);
     qemu_init_vcpu(env);
 
     if (tcg_enabled() && !tcg_initialized) {