summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorBharata B Rao2016-05-12 05:48:14 +0200
committerDavid Gibson2016-05-30 06:17:05 +0200
commit2c579042e3be50bb40a233a6986348b4f40ed026 (patch)
treeb68443cb824ef6abdcb0ed70cb3b94bfe4672c77 /include
parentcpu: Reclaim vCPU objects (diff)
downloadqemu-2c579042e3be50bb40a233a6986348b4f40ed026.tar.gz
qemu-2c579042e3be50bb40a233a6986348b4f40ed026.tar.xz
qemu-2c579042e3be50bb40a233a6986348b4f40ed026.zip
cpu: Add a sync version of cpu_remove()
This sync API will be used by the CPU hotplug code to wait for the CPU to completely get removed before flagging the failure to the device_add command. Sync version of this call is needed to correctly recover from CPU realization failures when ->plug() handler fails. Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Acked-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Diffstat (limited to 'include')
-rw-r--r--include/qom/cpu.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 3b5775715b..32f3af3e1c 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -772,6 +772,14 @@ void cpu_resume(CPUState *cpu);
*/
void cpu_remove(CPUState *cpu);
+ /**
+ * cpu_remove_sync:
+ * @cpu: The CPU to remove.
+ *
+ * Requests the CPU to be removed and waits till it is removed.
+ */
+void cpu_remove_sync(CPUState *cpu);
+
/**
* qemu_init_vcpu:
* @cpu: The vCPU to initialize.