Patchwork [v4,12/13] cpu: do not use object_delete

login
register
mail settings
Submitter Paolo Bonzini
Date Jan. 25, 2013, 1:12 p.m.
Message ID <1359119559-19075-13-git-send-email-pbonzini@redhat.com>
Download mbox | patch
Permalink /patch/215735/
State New
Headers show

Comments

Paolo Bonzini - Jan. 25, 2013, 1:12 p.m.
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>
---
 linux-user/syscall.c        | 2 +-
 target-i386/helper.c        | 4 ++--
 target-ppc/translate_init.c | 2 +-
 target-sparc/cpu.c          | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

Patch

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 693e66f..a148d9f 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -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);
       }
diff --git a/target-i386/helper.c b/target-i386/helper.c
index 547c25e..269549d 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -1276,14 +1276,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;
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index 2d78529..ee51419 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -10346,7 +10346,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;
     }
 
diff --git a/target-sparc/cpu.c b/target-sparc/cpu.c
index f404aa8..4bc1afc 100644
--- a/target-sparc/cpu.c
+++ b/target-sparc/cpu.c
@@ -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);