summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJason J. Herne <jjherne@us.ibm.com>2013-12-11 13:24:14 -0500
committerLuiz Capitulino <lcapitulino@redhat.com>2014-01-06 13:45:39 -0500
commitabf233294bc8a4d2c7d5f428f1408d7bdd0c02e0 (patch)
tree76a4ecdf2bca399a6cc6b8827d86621d5815f074
parenteca01d3a93be4041ac5858ef7676e60352e9c2ed (diff)
downloadfocaccia-qemu-abf233294bc8a4d2c7d5f428f1408d7bdd0c02e0.tar.gz
focaccia-qemu-abf233294bc8a4d2c7d5f428f1408d7bdd0c02e0.zip
qemu-monitor: HMP cpu-add wrapper
Add HMP cpu-add wrapper to allow cpu hot plugging via monitor.

Signed-off-by: Jason J. Herne <jjherne@us.ibm.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
-rw-r--r--hmp-commands.hx13
-rw-r--r--hmp.c10
-rw-r--r--hmp.h1
3 files changed, 24 insertions, 0 deletions
diff --git a/hmp-commands.hx b/hmp-commands.hx
index ebe8e78bb9..929550d66b 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1620,6 +1620,19 @@ Executes a qemu-io command on the given block device.
 ETEXI
 
     {
+        .name       = "cpu-add",
+        .args_type  = "id:i",
+        .params     = "id",
+        .help       = "add cpu",
+        .mhandler.cmd  = hmp_cpu_add,
+    },
+
+STEXI
+@item cpu-add @var{id}
+Add CPU with id @var{id}
+ETEXI
+
+    {
         .name       = "info",
         .args_type  = "item:s?",
         .params     = "[subcommand]",
diff --git a/hmp.c b/hmp.c
index 32ee285a1e..c513f9b685 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1525,6 +1525,16 @@ void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict)
     hmp_handle_error(mon, &errp);
 }
 
+void hmp_cpu_add(Monitor *mon, const QDict *qdict)
+{
+    int cpuid;
+    Error *err = NULL;
+
+    cpuid = qdict_get_int(qdict, "id");
+    qmp_cpu_add(cpuid, &err);
+    hmp_handle_error(mon, &err);
+}
+
 void hmp_chardev_add(Monitor *mon, const QDict *qdict)
 {
     const char *args = qdict_get_str(qdict, "args");
diff --git a/hmp.h b/hmp.h
index 54cf71fb94..f92fc8922d 100644
--- a/hmp.h
+++ b/hmp.h
@@ -89,5 +89,6 @@ void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict);
 void hmp_chardev_add(Monitor *mon, const QDict *qdict);
 void hmp_chardev_remove(Monitor *mon, const QDict *qdict);
 void hmp_qemu_io(Monitor *mon, const QDict *qdict);
+void hmp_cpu_add(Monitor *mon, const QDict *qdict);
 
 #endif