cpu: do not use object_delete
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 25 Jan 2013 13:12:38 +0000 (14:12 +0100)
committerAnthony Liguori <aliguori@us.ibm.com>
Fri, 1 Feb 2013 21:53:11 +0000 (15:53 -0600)
CPUs are never added to the composition tree, so delete is achieved
simply by removing the last references to them.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
linux-user/syscall.c
target-i386/helper.c
target-ppc/translate_init.c
target-sparc/cpu.c

index 693e66fc4f31ffe4e171d3e039099cadbd0c2470..a148d9f7f45c692cd565f9a53167b04ab1690d65 100644 (file)
@@ -5202,7 +5202,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
                         NULL, NULL, 0);
           }
           thread_env = NULL;
-          object_delete(OBJECT(ENV_GET_CPU(cpu_env)));
+          object_unref(OBJECT(ENV_GET_CPU(cpu_env)));
           g_free(ts);
           pthread_exit(NULL);
       }
index bdf83084fffcaf6e21eebc6fab155226590629fc..d1cb4e2445f32479f06f02252d9635475cf7a784 100644 (file)
@@ -1278,14 +1278,14 @@ X86CPU *cpu_x86_init(const char *cpu_model)
     env->cpu_model_str = cpu_model;
 
     if (cpu_x86_register(cpu, cpu_model) < 0) {
-        object_delete(OBJECT(cpu));
+        object_unref(OBJECT(cpu));
         return NULL;
     }
 
     x86_cpu_realize(OBJECT(cpu), &error);
     if (error) {
         error_free(error);
-        object_delete(OBJECT(cpu));
+        object_unref(OBJECT(cpu));
         return NULL;
     }
     return cpu;
index e2021c4a054a0058bacda0eb2d5b38cc6546aa1d..f0388508bc6efaefcf531b782f88ea671e61f0c6 100644 (file)
@@ -10358,7 +10358,7 @@ PowerPCCPU *cpu_ppc_init(const char *cpu_model)
     if (err != NULL) {
         fprintf(stderr, "%s\n", error_get_pretty(err));
         error_free(err);
-        object_delete(OBJECT(cpu));
+        object_unref(OBJECT(cpu));
         return NULL;
     }
 
index f404aa8b5fb6922d578d76fad6d03b2a6a395d17..4bc1afc75533844516e5b6fc6db1f61067a53fb3 100644 (file)
@@ -119,7 +119,7 @@ SPARCCPU *cpu_sparc_init(const char *cpu_model)
     }
 
     if (cpu_sparc_register(env, cpu_model) < 0) {
-        object_delete(OBJECT(cpu));
+        object_unref(OBJECT(cpu));
         return NULL;
     }
     qemu_init_vcpu(env);