aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hmp-commands.hx3
-rw-r--r--hmp.c12
-rw-r--r--hmp.h1
-rw-r--r--monitor.c11
-rw-r--r--qapi-schema.json11
-rw-r--r--qmp-commands.hx5
-rw-r--r--qmp.c5
7 files changed, 31 insertions, 17 deletions
diff --git a/hmp-commands.hx b/hmp-commands.hx
index ab08d583df..969ccf5edd 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -587,8 +587,7 @@ ETEXI
.args_type = "index:i",
.params = "index",
.help = "set the default CPU",
- .user_print = monitor_user_noop,
- .mhandler.cmd_new = do_cpu_set,
+ .mhandler.cmd = hmp_cpu,
},
STEXI
diff --git a/hmp.c b/hmp.c
index 619b8ba70e..35b0ca0bea 100644
--- a/hmp.c
+++ b/hmp.c
@@ -165,3 +165,15 @@ void hmp_system_powerdown(Monitor *mon, const QDict *qdict)
{
qmp_system_powerdown(NULL);
}
+
+void hmp_cpu(Monitor *mon, const QDict *qdict)
+{
+ int64_t cpu_index;
+
+ /* XXX: drop the monitor_set_cpu() usage when all HMP commands that
+ use it are converted to the QAPI */
+ cpu_index = qdict_get_int(qdict, "index");
+ if (monitor_set_cpu(cpu_index) < 0) {
+ monitor_printf(mon, "invalid CPU index\n");
+ }
+}
diff --git a/hmp.h b/hmp.h
index 49d9662626..9322b7f7f3 100644
--- a/hmp.h
+++ b/hmp.h
@@ -29,5 +29,6 @@ void hmp_quit(Monitor *mon, const QDict *qdict);
void hmp_stop(Monitor *mon, const QDict *qdict);
void hmp_system_reset(Monitor *mon, const QDict *qdict);
void hmp_system_powerdown(Monitor *mon, const QDict *qdict);
+void hmp_cpu(Monitor *mon, const QDict *qdict);
#endif
diff --git a/monitor.c b/monitor.c
index 3e1cd33942..1edb646b95 100644
--- a/monitor.c
+++ b/monitor.c
@@ -902,17 +902,6 @@ static void do_info_cpus(Monitor *mon, QObject **ret_data)
*ret_data = QOBJECT(cpu_list);
}
-static int do_cpu_set(Monitor *mon, const QDict *qdict, QObject **ret_data)
-{
- int index = qdict_get_int(qdict, "index");
- if (monitor_set_cpu(index) < 0) {
- qerror_report(QERR_INVALID_PARAMETER_VALUE, "index",
- "a CPU number");
- return -1;
- }
- return 0;
-}
-
static void do_info_jit(Monitor *mon)
{
dump_exec_info((FILE *)mon, monitor_fprintf);
diff --git a/qapi-schema.json b/qapi-schema.json
index eb155b4d54..e4cf6da4fb 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -351,3 +351,14 @@
# prompting the user in some way.
##
{ 'command': 'system_powerdown' }
+
+##
+# @cpu:
+#
+# This command is a nop that is only provided for the purposes of compatibility.
+#
+# Since: 0.14.0
+#
+# Notes: Do not use this command.
+##
+{ 'command': 'cpu', 'data': {'index': 'int'} }
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 8efdb25d0a..dcca53cb5a 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -331,10 +331,7 @@ EQMP
{
.name = "cpu",
.args_type = "index:i",
- .params = "index",
- .help = "set the default CPU",
- .user_print = monitor_user_noop,
- .mhandler.cmd_new = do_cpu_set,
+ .mhandler.cmd_new = qmp_marshal_input_cpu,
},
SQMP
diff --git a/qmp.c b/qmp.c
index bf58b05a9a..e84922bff0 100644
--- a/qmp.c
+++ b/qmp.c
@@ -90,3 +90,8 @@ void qmp_system_powerdown(Error **erp)
{
qemu_system_powerdown_request();
}
+
+void qmp_cpu(int64_t index, Error **errp)
+{
+ /* Just do nothing */
+}