From: Luiz Capitulino <lcapitulino@redhat.com>
To: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
Cc: mst@redhat.com, hutao@cn.fujitsu.com, qemu-devel@nongnu.org,
tangchen@cn.fujitsu.com, isimatu.yasuaki@jp.fujitsu.com,
hani@linux.com, stefanha@redhat.com, imammedo@redhat.com
Subject: Re: [Qemu-devel] [PATCH v5] Add HMP command "info memory-devices"
Date: Fri, 26 Sep 2014 13:33:09 -0400 [thread overview]
Message-ID: <20140926133309.0e84fa1e@redhat.com> (raw)
In-Reply-To: <1411450519-29828-1-git-send-email-zhugh.fnst@cn.fujitsu.com>
On Tue, 23 Sep 2014 13:35:19 +0800
Zhu Guihua <zhugh.fnst@cn.fujitsu.com> wrote:
> Provides HMP equivalent of QMP query-memory-devices command.
>
> Signed-off-by: Zhu Guihua <zhugh.fnst@cn.fujitsu.com>
Applied to the qmp branch, thanks.
> ---
> Changes since v4:
> - enclose ID in double quotes.
>
> Changes since v3:
> - optimize the time to print memory devices' information.
> - change output format of di->addr and di->size.
>
> Changes since v2:
> - print address in hex.
> - change the loop control from while to for.
> - modify some variables' name.
> - optimize the time to print memory devices' kind.
>
> Changes since v1:
> - fix bug that accessing info->dimm when MemoryDeviceInfo is not PCDIMMDevice.
> - use enum to replace "dimm", and lookup typename in
> MemoryDeviceInfoKind_lookup[] instead of opencodding it.
> ---
> hmp-commands.hx | 2 ++
> hmp.c | 38 ++++++++++++++++++++++++++++++++++++++
> hmp.h | 1 +
> monitor.c | 7 +++++++
> 4 files changed, 48 insertions(+)
>
> diff --git a/hmp-commands.hx b/hmp-commands.hx
> index f859f8d..0b1a4f7 100644
> --- a/hmp-commands.hx
> +++ b/hmp-commands.hx
> @@ -1778,6 +1778,8 @@ show qdev device model list
> show roms
> @item info tpm
> show the TPM device
> +@item info memory-devices
> +show the memory devices
> @end table
> ETEXI
>
> diff --git a/hmp.c b/hmp.c
> index 40a90da..49238e9 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -1718,3 +1718,41 @@ void hmp_info_memdev(Monitor *mon, const QDict *qdict)
>
> qapi_free_MemdevList(memdev_list);
> }
> +
> +void hmp_info_memory_devices(Monitor *mon, const QDict *qdict)
> +{
> + Error *err = NULL;
> + MemoryDeviceInfoList *info_list = qmp_query_memory_devices(&err);
> + MemoryDeviceInfoList *info;
> + MemoryDeviceInfo *value;
> + PCDIMMDeviceInfo *di;
> +
> + for (info = info_list; info; info = info->next) {
> + value = info->value;
> +
> + if (value) {
> + switch (value->kind) {
> + case MEMORY_DEVICE_INFO_KIND_DIMM:
> + di = value->dimm;
> +
> + monitor_printf(mon, "Memory device [%s]: \"%s\"\n",
> + MemoryDeviceInfoKind_lookup[value->kind],
> + di->id ? di->id : "");
> + monitor_printf(mon, " addr: 0x%" PRIx64 "\n", di->addr);
> + monitor_printf(mon, " slot: %" PRId64 "\n", di->slot);
> + monitor_printf(mon, " node: %" PRId64 "\n", di->node);
> + monitor_printf(mon, " size: %" PRIu64 "\n", di->size);
> + monitor_printf(mon, " memdev: %s\n", di->memdev);
> + monitor_printf(mon, " hotplugged: %s\n",
> + di->hotplugged ? "true" : "false");
> + monitor_printf(mon, " hotpluggable: %s\n",
> + di->hotpluggable ? "true" : "false");
> + break;
> + default:
> + break;
> + }
> + }
> + }
> +
> + qapi_free_MemoryDeviceInfoList(info_list);
> +}
> diff --git a/hmp.h b/hmp.h
> index 4fd3c4a..4bb5dca 100644
> --- a/hmp.h
> +++ b/hmp.h
> @@ -94,6 +94,7 @@ void hmp_cpu_add(Monitor *mon, const QDict *qdict);
> void hmp_object_add(Monitor *mon, const QDict *qdict);
> void hmp_object_del(Monitor *mon, const QDict *qdict);
> void hmp_info_memdev(Monitor *mon, const QDict *qdict);
> +void hmp_info_memory_devices(Monitor *mon, const QDict *qdict);
> void object_add_completion(ReadLineState *rs, int nb_args, const char *str);
> void object_del_completion(ReadLineState *rs, int nb_args, const char *str);
> void device_add_completion(ReadLineState *rs, int nb_args, const char *str);
> diff --git a/monitor.c b/monitor.c
> index 667efb7..7467521 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -2921,6 +2921,13 @@ static mon_cmd_t info_cmds[] = {
> .mhandler.cmd = hmp_info_memdev,
> },
> {
> + .name = "memory-devices",
> + .args_type = "",
> + .params = "",
> + .help = "show memory devices",
> + .mhandler.cmd = hmp_info_memory_devices,
> + },
> + {
> .name = NULL,
> },
> };
prev parent reply other threads:[~2014-09-26 18:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-23 5:35 [Qemu-devel] [PATCH v5] Add HMP command "info memory-devices" Zhu Guihua
2014-09-23 9:19 ` Igor Mammedov
2014-09-26 17:33 ` Luiz Capitulino [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140926133309.0e84fa1e@redhat.com \
--to=lcapitulino@redhat.com \
--cc=hani@linux.com \
--cc=hutao@cn.fujitsu.com \
--cc=imammedo@redhat.com \
--cc=isimatu.yasuaki@jp.fujitsu.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
--cc=tangchen@cn.fujitsu.com \
--cc=zhugh.fnst@cn.fujitsu.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.