From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53310) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMrm3-000386-Dj for qemu-devel@nongnu.org; Thu, 28 Aug 2014 00:57:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XMrly-0003zM-IJ for qemu-devel@nongnu.org; Thu, 28 Aug 2014 00:57:27 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:45538) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XMrlx-0003xX-Ri for qemu-devel@nongnu.org; Thu, 28 Aug 2014 00:57:22 -0400 Message-ID: <53FEB68E.8060701@huawei.com> Date: Thu, 28 Aug 2014 12:56:46 +0800 From: zhanghailiang MIME-Version: 1.0 References: <1409131452-11064-1-git-send-email-zhang.zhanghailiang@huawei.com> <53FDAC3C.3030008@redhat.com> <53FE8962.4020109@huawei.com> In-Reply-To: Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] hmp: Add info machines List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Amos Kong Cc: luonengjun@huawei.com, qemu-devel , lcapitulino@redhat.com, hani@linux.com, Stefan Hajnoczi , Paolo Bonzini , peter.huangpeng@huawei.com On 2014/8/28 10:43, Amos Kong wrote: > On Thu, Aug 28, 2014 at 9:44 AM, zhanghailiang< > zhang.zhanghailiang@huawei.com> wrote: > >> On 2014/8/27 18:00, Paolo Bonzini wrote: >> >>> Il 27/08/2014 11:24, zhanghailiang ha scritto: >>> >>>> This is the hmp counterpart of qmp query_machines >>>> >>>> Signed-off-by: zhanghailiang >>>> --- >>>> 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, >>>> }, >>>> }; >>>> >>>> >>> What is this useful for? You can use "-machine help". >>> >>> >> Hmm, i just looked into the qmp commands and hmp commands, >> And found there is qmp_query_machines but no hmp_info_machines... >> >> Sorry for the noise;) >> >> > There exists some QMP commands that don't have corresponding HMP commands. > QMP is the latest and recommended interface for management tools. > HMP command is not always necessary, unless you have a good reason :-) > Got it, Thanks.:)