[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3.2 31/31] hmp: add info memdev
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v3.2 31/31] hmp: add info memdev |
Date: |
Sun, 8 Jun 2014 13:10:37 +0300 |
On Wed, May 14, 2014 at 05:43:35PM +0800, Hu Tao wrote:
> This is the hmp counterpart of qmp query-memdev.
>
> Signed-off-by: Hu Tao <address@hidden>
> ---
> hmp.c | 36 ++++++++++++++++++++++++++++++++++++
> hmp.h | 1 +
> monitor.c | 7 +++++++
> 3 files changed, 44 insertions(+)
>
> diff --git a/hmp.c b/hmp.c
> index 5c4d612..1d5bf2d 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -22,6 +22,8 @@
> #include "qemu/sockets.h"
> #include "monitor/monitor.h"
> #include "qapi/opts-visitor.h"
> +#include "qapi/string-output-visitor.h"
> +#include "qapi-visit.h"
> #include "ui/console.h"
> #include "block/qapi.h"
> #include "qemu-io.h"
> @@ -1671,3 +1673,37 @@ void hmp_object_del(Monitor *mon, const QDict *qdict)
> qmp_object_del(id, &err);
> hmp_handle_error(mon, &err);
> }
> +
> +void hmp_info_memdev(Monitor *mon, const QDict *qdict)
> +{
> + Error *err = NULL;
> + MemdevList *memdev_list = qmp_query_memdev(&err);
> + MemdevList *m = memdev_list;
> + StringOutputVisitor *ov;
> + int i = 0;
> +
> +
> + while (m) {
> + ov = string_output_visitor_new(false);
> + visit_type_uint16List(string_output_get_visitor(ov),
> + &m->value->host_nodes, NULL, NULL);
> + monitor_printf(mon, "memory device %d\n", i);
> + monitor_printf(mon, " size: %ld\n", m->value->size);
Fails build on 32 bit:
hmp.c:1696:9: error: format ‘%ld’ expects argument of type ‘long int’,
but argument 3 has type ‘uint64_t’ [-Werror=format=]
monitor_printf(mon, " size: %ld\n", m->value->size);
this must use PRId64.
> + monitor_printf(mon, " merge: %s\n",
> + m->value->merge ? "true" : "false");
> + monitor_printf(mon, " dump: %s\n",
> + m->value->dump ? "true" : "false");
> + monitor_printf(mon, " prealloc: %s\n",
> + m->value->prealloc ? "true" : "false");
> + monitor_printf(mon, " policy: %s\n",
> + HostMemPolicy_lookup[m->value->policy]);
> + monitor_printf(mon, " host nodes: %s\n",
> + string_output_get_string(ov));
> +
> + string_output_visitor_cleanup(ov);
> + m = m->next;
> + i++;
> + }
> +
> + monitor_printf(mon, "\n");
> +}
> diff --git a/hmp.h b/hmp.h
> index 20ef454..bc13aae 100644
> --- a/hmp.h
> +++ b/hmp.h
> @@ -97,5 +97,6 @@ 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);
> void device_del_completion(ReadLineState *rs, int nb_args, const char *str);
> +void hmp_info_memdev(Monitor *mon, const QDict *qdict);
>
> #endif
> diff --git a/monitor.c b/monitor.c
> index 4a3d3dd..4c24696 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -2958,6 +2958,13 @@ static mon_cmd_t info_cmds[] = {
> .mhandler.cmd = hmp_info_tpm,
> },
> {
> + .name = "memdev",
> + .args_type = "",
> + .params = "",
> + .help = "show the memory device",
> + .mhandler.cmd = hmp_info_memdev,
> + },
> + {
> .name = NULL,
> },
> };
> --
> 1.8.5.2.229.g4448466
>
- Re: [Qemu-devel] [PATCH v3.2 31/31] hmp: add info memdev,
Michael S. Tsirkin <=