From 49ccefde303c84d291c70842922c37b6de6ef15a Mon Sep 17 00:00:00 2001 From: Daniel Henrique Barboza Date: Wed, 20 Dec 2017 08:23:04 -0200 Subject: [PATCH] qmp: remove qmp_cpu 'qmp_cpu' was implemented in commit 755f196898 ("qapi: Convert the cpu command") as a functional no-op, a QMP call that does nothing and return success. The idea, apparently, was to provide a counterpart for the HMP 'hmp_cpu' command, introduced in the same commit. After 6 years of its creation, qmp_cpu remains a functional no-op that does nothing, having no value for any caller/user. A proposal was sent to implement qmp_cpu like hmp_cpu works, but it was denied [1]. The reason is that QMP must be as stateless as possible and a function that changes its state (the current CPU monitor in the case of qmp_cpu) goes against it. Any QMP command that needs a specific monitor CPU setup must provide it in its arguments, instead of relying in the current QMP monitor state. After discussions that happened in [2] it was decided that a command that does nothing since its birth, no one uses for anything and will not be implemented, should be deprecated and erased. Given that we will *not* provide any replacement for qmp_cpu and we believe that there is no user relying on it, there is no point in adding a deprecation delay for it. So, this patch nukes qmp_cpu from QEMU code, removing both its blank implementation in qmp.c and its doc in qapi-schema.json. [1] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg02283.html [2] https://lists.gnu.org/archive/html/qemu-devel/2017-12/msg03696.html Signed-off-by: Daniel Henrique Barboza CC: Markus Armbruster CC: Eric Blake CC: Daniel P. Berrange Message-Id: <20171220102304.8288-1-danielhb@linux.vnet.ibm.com> Reviewed-by: Daniel P. Berrange Signed-off-by: Markus Armbruster --- qapi-schema.json | 11 ----------- qmp.c | 5 ----- 2 files changed, 16 deletions(-) diff --git a/qapi-schema.json b/qapi-schema.json index ea3723f903..5c06745c79 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -1045,17 +1045,6 @@ ## { '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'} } - ## # @cpu-add: # diff --git a/qmp.c b/qmp.c index e8c303116a..52cfd2d81c 100644 --- a/qmp.c +++ b/qmp.c @@ -113,11 +113,6 @@ void qmp_system_powerdown(Error **erp) qemu_system_powerdown_request(); } -void qmp_cpu(int64_t index, Error **errp) -{ - /* Just do nothing */ -} - void qmp_cpu_add(int64_t id, Error **errp) { MachineClass *mc;