]> git.proxmox.com Git - qemu.git/commitdiff
target-m68k: Start QOM'ifying CPU init
authorAndreas Färber <afaerber@suse.de>
Sat, 14 Apr 2012 23:10:56 +0000 (01:10 +0200)
committerAndreas Färber <afaerber@suse.de>
Mon, 30 Apr 2012 09:32:13 +0000 (11:32 +0200)
Move model-independent code from cpu_m68k_init() into a QOM initfn.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Reviewed-by: Laurent Vivier <Laurent@Vivier.EU>
Tested-by: Laurent Vivier <Laurent@Vivier.EU>
target-m68k/cpu.c
target-m68k/helper.c

index e599ece430039541894e5ba741ea4472613c0d8f..0bb1b2c630237ab2a3e27ada4c64205c5d2b94c9 100644 (file)
@@ -48,6 +48,14 @@ static void m68k_cpu_reset(CPUState *s)
     tlb_flush(env, 1);
 }
 
+static void m68k_cpu_initfn(Object *obj)
+{
+    M68kCPU *cpu = M68K_CPU(obj);
+    CPUM68KState *env = &cpu->env;
+
+    cpu_exec_init(env);
+}
+
 static void m68k_cpu_class_init(ObjectClass *c, void *data)
 {
     M68kCPUClass *mcc = M68K_CPU_CLASS(c);
@@ -61,6 +69,7 @@ static const TypeInfo m68k_cpu_type_info = {
     .name = TYPE_M68K_CPU,
     .parent = TYPE_CPU,
     .instance_size = sizeof(M68kCPU),
+    .instance_init = m68k_cpu_initfn,
     .abstract = false,
     .class_size = sizeof(M68kCPUClass),
     .class_init = m68k_cpu_class_init,
index 69fb1475260b6a2cc1d09e0d80f58a96b3dc38bf..e850d53d409d4cf483d1d7efb10b025b8dcf4433 100644 (file)
@@ -156,7 +156,7 @@ CPUM68KState *cpu_m68k_init(const char *cpu_model)
 
     cpu = M68K_CPU(object_new(TYPE_M68K_CPU));
     env = &cpu->env;
-    cpu_exec_init(env);
+
     if (!inited) {
         inited = 1;
         m68k_tcg_init();