Patchwork [PULL,13/13] qemu-monitor: HMP cpu-add wrapper

login
register
mail settings
Submitter Luiz Capitulino
Date Dec. 18, 2013, 5 p.m.
Message ID <1387386003-8949-14-git-send-email-lcapitulino@redhat.com>
Download mbox | patch
Permalink /patch/302982/
State New
Headers show

Comments

Luiz Capitulino - Dec. 18, 2013, 5 p.m.
From: "Jason J. Herne" <jjherne@us.ibm.com>

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>
---
 hmp-commands.hx | 13 +++++++++++++
 hmp.c           | 10 ++++++++++
 hmp.h           |  1 +
 3 files changed, 24 insertions(+)

Patch

diff --git a/hmp-commands.hx b/hmp-commands.hx
index 0ace14f..feca084 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1648,6 +1648,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 9f4c9b3..e86c237 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1583,6 +1583,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 94264d6..a91aed5 100644
--- a/hmp.h
+++ b/hmp.h
@@ -91,5 +91,6 @@  void hmp_chardev_remove(Monitor *mon, const QDict *qdict);
 void hmp_qemu_io(Monitor *mon, const QDict *qdict);
 void hmp_object_add(Monitor *mon, const QDict *qdict);
 void hmp_object_del(Monitor *mon, const QDict *qdict);
+void hmp_cpu_add(Monitor *mon, const QDict *qdict);
 
 #endif