it will allow mgmt to query possible CPUs, which depends on
used machine(version)/-smp options, without restarting
QEMU and use results to configure numa mapping or adding
CPUs with device_add* later.
*) device_add is not allowed to run at preconfig in this series
but later it could be dealt with by injecting -device
in preconfig state and letting existing -device handling
to actually plug devices
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
---
qapi-schema.json | 6 +++++-
tests/qmp-test.c | 1 +
2 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/qapi-schema.json b/qapi-schema.json
index ee1053d..4365dfe 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -3167,7 +3167,11 @@
# ]}
#
##
-{ 'command': 'query-hotpluggable-cpus', 'returns': ['HotpluggableCPU'] }
+{ 'command': 'query-hotpluggable-cpus', 'returns': ['HotpluggableCPU'],
+ 'runstates': [ 'debug', 'inmigrate', 'internal-error', 'io-error', 'paused',
+ 'postmigrate', 'prelaunch', 'finish-migrate', 'restore-vm',
+ 'running', 'save-vm', 'shutdown', 'suspended', 'watchdog',
+ 'guest-panicked', 'colo', 'preconfig' ] }
##
# @GuidInfo:
diff --git a/tests/qmp-test.c b/tests/qmp-test.c
index 3adc485..4ab0b7c 100644
--- a/tests/qmp-test.c
+++ b/tests/qmp-test.c
@@ -323,6 +323,7 @@ static void test_qmp_preconfig(void)
/* preconfig state */
/* enabled commands, no error expected */
g_assert(!is_err(qtest_qmp(qs, "{ 'execute': 'query-commands' }")));
+ g_assert(!is_err(qtest_qmp(qs, "{ 'execute': 'query-hotpluggable-cpus'}")));
/* forbidden commands, expected error */
g_assert(is_err(qtest_qmp(qs, "{ 'execute': 'query-cpus' }")));
--
2.7.4