This is the hmp counterpart of qmp query_machines Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com> --- hmp-commands.hx | 2 ++ hmp.c | 22 ++++++++++++++++++++++ hmp.h | 1 + monitor.c | 7 +++++++ 4 files changed, 32 insertions(+)
diff --git a/hmp-commands.hx b/hmp-commands.hx index d0943b1..1d04235 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -1780,6 +1780,8 @@ show qdev device model list show roms @item info tpm show the TPM device +@item info machines +show supported machines information @end table ETEXI diff --git a/hmp.c b/hmp.c index 4d1838e..603f2f5 100644 --- a/hmp.c +++ b/hmp.c @@ -725,6 +725,28 @@ void hmp_info_tpm(Monitor *mon, const QDict *qdict) qapi_free_TPMInfoList(info_list); } +void hmp_info_machines(Monitor *mon, const QDict *qdict) +{ + MachineInfoList *mach_list = NULL, *cur_item = NULL; + + mach_list = qmp_query_machines(NULL); + for (cur_item = mach_list; cur_item; cur_item = cur_item->next) { + MachineInfo *machine; + char default_chr = ' '; + + machine = cur_item->value; + if (machine->is_default) { + default_chr = '*'; + } + monitor_printf(mon, "%c %s:\n", default_chr, machine->name); + monitor_printf(mon, " max_cpus: %" PRId64 "\n", machine->cpu_max); + if (machine->has_alias) { + monitor_printf(mon, " alias: %s\n", machine->alias); + } + } + qapi_free_MachineInfoList(mach_list); +} + void hmp_quit(Monitor *mon, const QDict *qdict) { monitor_suspend(mon); diff --git a/hmp.h b/hmp.h index 4fd3c4a..374e841 100644 --- a/hmp.h +++ b/hmp.h @@ -38,6 +38,7 @@ void hmp_info_balloon(Monitor *mon, const QDict *qdict); void hmp_info_pci(Monitor *mon, const QDict *qdict); void hmp_info_block_jobs(Monitor *mon, const QDict *qdict); void hmp_info_tpm(Monitor *mon, const QDict *qdict); +void hmp_info_machines(Monitor *mon, const QDict *qdict); 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); diff --git a/monitor.c b/monitor.c index 34cee74..adc3645 100644 --- a/monitor.c +++ b/monitor.c @@ -2921,6 +2921,13 @@ static mon_cmd_t info_cmds[] = { .mhandler.cmd = hmp_info_memdev, }, { + .name = "machines", + .args_type = "", + .params = "", + .help = "show supported machines information", + .mhandler.cmd = hmp_info_machines, + }, + { .name = NULL, }, }; -- 1.7.12.4