qapi: Convert query-kvm
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
This commit is contained in:
parent
b9c15f16d7
commit
292a26027c
16
hmp.c
16
hmp.c
@ -37,3 +37,19 @@ void hmp_info_version(Monitor *mon)
|
||||
|
||||
qapi_free_VersionInfo(info);
|
||||
}
|
||||
|
||||
void hmp_info_kvm(Monitor *mon)
|
||||
{
|
||||
KvmInfo *info;
|
||||
|
||||
info = qmp_query_kvm(NULL);
|
||||
monitor_printf(mon, "kvm support: ");
|
||||
if (info->present) {
|
||||
monitor_printf(mon, "%s\n", info->enabled ? "enabled" : "disabled");
|
||||
} else {
|
||||
monitor_printf(mon, "not compiled\n");
|
||||
}
|
||||
|
||||
qapi_free_KvmInfo(info);
|
||||
}
|
||||
|
||||
|
1
hmp.h
1
hmp.h
@ -19,5 +19,6 @@
|
||||
|
||||
void hmp_info_name(Monitor *mon);
|
||||
void hmp_info_version(Monitor *mon);
|
||||
void hmp_info_kvm(Monitor *mon);
|
||||
|
||||
#endif
|
||||
|
36
monitor.c
36
monitor.c
@ -2430,31 +2430,6 @@ static void do_info_mtree(Monitor *mon)
|
||||
mtree_info((fprintf_function)monitor_printf, mon);
|
||||
}
|
||||
|
||||
static void do_info_kvm_print(Monitor *mon, const QObject *data)
|
||||
{
|
||||
QDict *qdict;
|
||||
|
||||
qdict = qobject_to_qdict(data);
|
||||
|
||||
monitor_printf(mon, "kvm support: ");
|
||||
if (qdict_get_bool(qdict, "present")) {
|
||||
monitor_printf(mon, "%s\n", qdict_get_bool(qdict, "enabled") ?
|
||||
"enabled" : "disabled");
|
||||
} else {
|
||||
monitor_printf(mon, "not compiled\n");
|
||||
}
|
||||
}
|
||||
|
||||
static void do_info_kvm(Monitor *mon, QObject **ret_data)
|
||||
{
|
||||
#ifdef CONFIG_KVM
|
||||
*ret_data = qobject_from_jsonf("{ 'enabled': %i, 'present': true }",
|
||||
kvm_enabled());
|
||||
#else
|
||||
*ret_data = qobject_from_jsonf("{ 'enabled': false, 'present': false }");
|
||||
#endif
|
||||
}
|
||||
|
||||
static void do_info_numa(Monitor *mon)
|
||||
{
|
||||
int i;
|
||||
@ -2955,8 +2930,7 @@ static const mon_cmd_t info_cmds[] = {
|
||||
.args_type = "",
|
||||
.params = "",
|
||||
.help = "show KVM information",
|
||||
.user_print = do_info_kvm_print,
|
||||
.mhandler.info_new = do_info_kvm,
|
||||
.mhandler.info = hmp_info_kvm,
|
||||
},
|
||||
{
|
||||
.name = "numa",
|
||||
@ -3187,14 +3161,6 @@ static const mon_cmd_t qmp_query_cmds[] = {
|
||||
.user_print = do_pci_info_print,
|
||||
.mhandler.info_new = do_pci_info,
|
||||
},
|
||||
{
|
||||
.name = "kvm",
|
||||
.args_type = "",
|
||||
.params = "",
|
||||
.help = "show KVM information",
|
||||
.user_print = do_info_kvm_print,
|
||||
.mhandler.info_new = do_info_kvm,
|
||||
},
|
||||
{
|
||||
.name = "status",
|
||||
.args_type = "",
|
||||
|
@ -60,3 +60,28 @@
|
||||
# Since: 0.14.0
|
||||
##
|
||||
{ 'command': 'query-version', 'returns': 'VersionInfo' }
|
||||
|
||||
##
|
||||
# @KvmInfo:
|
||||
#
|
||||
# Information about support for KVM acceleration
|
||||
#
|
||||
# @enabled: true if KVM acceleration is active
|
||||
#
|
||||
# @present: true if KVM acceleration is built into this executable
|
||||
#
|
||||
# Since: 0.14.0
|
||||
##
|
||||
{ 'type': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} }
|
||||
|
||||
##
|
||||
# @query-kvm:
|
||||
#
|
||||
# Returns information about KVM acceleration
|
||||
#
|
||||
# Returns: @KvmInfo
|
||||
#
|
||||
# Since: 0.14.0
|
||||
##
|
||||
{ 'command': 'query-kvm', 'returns': 'KvmInfo' }
|
||||
|
||||
|
@ -1570,6 +1570,12 @@ Example:
|
||||
|
||||
EQMP
|
||||
|
||||
{
|
||||
.name = "query-kvm",
|
||||
.args_type = "",
|
||||
.mhandler.cmd_new = qmp_marshal_input_query_kvm,
|
||||
},
|
||||
|
||||
SQMP
|
||||
query-status
|
||||
------------
|
||||
|
13
qmp.c
13
qmp.c
@ -14,6 +14,8 @@
|
||||
#include "qemu-common.h"
|
||||
#include "sysemu.h"
|
||||
#include "qmp-commands.h"
|
||||
#include "kvm.h"
|
||||
#include "arch_init.h"
|
||||
|
||||
NameInfo *qmp_query_name(Error **errp)
|
||||
{
|
||||
@ -42,3 +44,14 @@ VersionInfo *qmp_query_version(Error **err)
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
KvmInfo *qmp_query_kvm(Error **errp)
|
||||
{
|
||||
KvmInfo *info = g_malloc0(sizeof(*info));
|
||||
|
||||
info->enabled = kvm_enabled();
|
||||
info->present = kvm_available();
|
||||
|
||||
return info;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user