summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2013-01-25 14:12:38 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2013-02-01 15:53:11 -0600
commit5c099537a646370d85f9a0f6bc18371ceeeb14dc (patch)
treebe230b98f690e3a3b4c8adb011a606669c2a3a7f
parentb09995aef1d4a5879000a196a82e37b0511c8e03 (diff)
downloadqemu-5c099537a646370d85f9a0f6bc18371ceeeb14dc.tar.gz
cpu: do not use object_delete
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>
-rw-r--r--linux-user/syscall.c2
-rw-r--r--target-i386/helper.c4
-rw-r--r--target-ppc/translate_init.c2
-rw-r--r--target-sparc/cpu.c2
4 files changed, 5 insertions, 5 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 693e66fc4f..a148d9f7f4 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 bdf83084ff..d1cb4e2445 100644
--- a/target-i386/helper.c
+++ b/target-i386/helper.c
@@ -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;
diff --git a/target-ppc/translate_init.c b/target-ppc/translate_init.c
index e2021c4a05..f0388508bc 100644
--- a/target-ppc/translate_init.c
+++ b/target-ppc/translate_init.c
@@ -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;
}
diff --git a/target-sparc/cpu.c b/target-sparc/cpu.c
index f404aa8b5f..4bc1afc755 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);