[Qemu-devel] [PATCH 15/17] monitor: Clean up how monitor_disas() funnels output to monitor

Markus Armbruster posted 17 patches 6 years, 10 months ago
Maintainers: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Claudio Fontana <claudio.fontana@huawei.com>, Stefan Weil <sw@weilnetz.de>, Artyom Tarasenko <atar4qemu@gmail.com>, Stafford Horne <shorne@gmail.com>, Andrzej Zaborowski <balrogg@gmail.com>, Aurelien Jarno <aurelien@aurel32.net>, Peter Maydell <peter.maydell@linaro.org>, Michael Walle <michael@walle.cc>, Richard Henderson <rth@twiddle.net>, Riku Voipio <riku.voipio@iki.fi>, David Hildenbrand <david@redhat.com>, Marek Vasut <marex@denx.de>, Guan Xuetao <gxt@mprc.pku.edu.cn>, Aleksandar Rikalo <arikalo@wavecomp.com>, Cornelia Huck <cohuck@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Max Reitz <mreitz@redhat.com>, Aleksandar Markovic <amarkovic@wavecomp.com>, Palmer Dabbelt <palmer@sifive.com>, Sagar Karandikar <sagark@eecs.berkeley.edu>, Eduardo Habkost <ehabkost@redhat.com>, Laurent Vivier <laurent@vivier.eu>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Kevin Wolf <kwolf@redhat.com>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>, Markus Armbruster <armbru@redhat.com>, David Gibson <david@gibson.dropbear.id.au>, Bastian Koppelmann <kbastian@mail.uni-paderborn.de>, Max Filippov <jcmvbkbc@gmail.com>, Anthony Green <green@moxielogic.com>, Paolo Bonzini <pbonzini@redhat.com>, Alistair Francis <Alistair.Francis@wdc.com>, Chris Wulff <crwulff@gmail.com>
There is a newer version of this series
[Qemu-devel] [PATCH 15/17] monitor: Clean up how monitor_disas() funnels output to monitor
Posted by Markus Armbruster 6 years, 10 months ago
INIT_DISASSEMBLE_INFO() takes an fprintf()-like callback and a FILE *
to pass to it.  monitor_disas() passes monitor_fprintf() and the
current monitor cast to FILE *.  monitor_fprintf() casts it right
back, and is otherwise identical to monitor_printf().  The
type-pinning is ugly.

Pass qemu_fprintf() and NULL instead.

monitor_fprintf() is now unused; delete it.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 disas.c                   |  3 ++-
 include/monitor/monitor.h |  1 -
 monitor.c                 | 11 -----------
 3 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/disas.c b/disas.c
index d9aa713a40..d15cceb863 100644
--- a/disas.c
+++ b/disas.c
@@ -3,6 +3,7 @@
 #include "qemu-common.h"
 #include "disas/bfd.h"
 #include "elf.h"
+#include "qemu/qemu-print.h"
 
 #include "cpu.h"
 #include "disas/disas.h"
@@ -609,7 +610,7 @@ void monitor_disas(Monitor *mon, CPUState *cpu,
     int count, i;
     CPUDebug s;
 
-    INIT_DISASSEMBLE_INFO(s.info, (FILE *)mon, monitor_fprintf);
+    INIT_DISASSEMBLE_INFO(s.info, NULL, qemu_fprintf);
 
     s.cpu = cpu;
     s.info.read_memory_func
diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
index 316a168c41..86656297f1 100644
--- a/include/monitor/monitor.h
+++ b/include/monitor/monitor.h
@@ -31,7 +31,6 @@ int monitor_fd_param(Monitor *mon, const char *fdname, Error **errp);
 int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
     GCC_FMT_ATTR(2, 0);
 int monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
-int monitor_fprintf(FILE *stream, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
 void monitor_flush(Monitor *mon);
 int monitor_set_cpu(int cpu_index);
 int monitor_get_cpu_index(void);
diff --git a/monitor.c b/monitor.c
index ad6cec54a1..9b5f10b475 100644
--- a/monitor.c
+++ b/monitor.c
@@ -480,17 +480,6 @@ int monitor_printf(Monitor *mon, const char *fmt, ...)
     return ret;
 }
 
-int monitor_fprintf(FILE *stream, const char *fmt, ...)
-{
-    int ret;
-
-    va_list ap;
-    va_start(ap, fmt);
-    ret = monitor_vprintf((Monitor *)stream, fmt, ap);
-    va_end(ap);
-    return ret;
-}
-
 static void qmp_send_response(Monitor *mon, const QDict *rsp)
 {
     const QObject *data = QOBJECT(rsp);
-- 
2.17.2


Re: [Qemu-devel] [PATCH 15/17] monitor: Clean up how monitor_disas() funnels output to monitor
Posted by Dr. David Alan Gilbert 6 years, 10 months ago
* Markus Armbruster (armbru@redhat.com) wrote:
> INIT_DISASSEMBLE_INFO() takes an fprintf()-like callback and a FILE *
> to pass to it.  monitor_disas() passes monitor_fprintf() and the
> current monitor cast to FILE *.  monitor_fprintf() casts it right
> back, and is otherwise identical to monitor_printf().  The
> type-pinning is ugly.
> 
> Pass qemu_fprintf() and NULL instead.
> 
> monitor_fprintf() is now unused; delete it.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  disas.c                   |  3 ++-
>  include/monitor/monitor.h |  1 -
>  monitor.c                 | 11 -----------
>  3 files changed, 2 insertions(+), 13 deletions(-)
> 
> diff --git a/disas.c b/disas.c
> index d9aa713a40..d15cceb863 100644
> --- a/disas.c
> +++ b/disas.c
> @@ -3,6 +3,7 @@
>  #include "qemu-common.h"
>  #include "disas/bfd.h"
>  #include "elf.h"
> +#include "qemu/qemu-print.h"
>  
>  #include "cpu.h"
>  #include "disas/disas.h"
> @@ -609,7 +610,7 @@ void monitor_disas(Monitor *mon, CPUState *cpu,
>      int count, i;
>      CPUDebug s;
>  
> -    INIT_DISASSEMBLE_INFO(s.info, (FILE *)mon, monitor_fprintf);
> +    INIT_DISASSEMBLE_INFO(s.info, NULL, qemu_fprintf);
>  
>      s.cpu = cpu;
>      s.info.read_memory_func
> diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
> index 316a168c41..86656297f1 100644
> --- a/include/monitor/monitor.h
> +++ b/include/monitor/monitor.h
> @@ -31,7 +31,6 @@ int monitor_fd_param(Monitor *mon, const char *fdname, Error **errp);
>  int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap)
>      GCC_FMT_ATTR(2, 0);
>  int monitor_printf(Monitor *mon, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
> -int monitor_fprintf(FILE *stream, const char *fmt, ...) GCC_FMT_ATTR(2, 3);
>  void monitor_flush(Monitor *mon);
>  int monitor_set_cpu(int cpu_index);
>  int monitor_get_cpu_index(void);
> diff --git a/monitor.c b/monitor.c
> index ad6cec54a1..9b5f10b475 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -480,17 +480,6 @@ int monitor_printf(Monitor *mon, const char *fmt, ...)
>      return ret;
>  }
>  
> -int monitor_fprintf(FILE *stream, const char *fmt, ...)
> -{
> -    int ret;
> -
> -    va_list ap;
> -    va_start(ap, fmt);
> -    ret = monitor_vprintf((Monitor *)stream, fmt, ap);
> -    va_end(ap);
> -    return ret;
> -}
> -
>  static void qmp_send_response(Monitor *mon, const QDict *rsp)
>  {
>      const QObject *data = QOBJECT(rsp);
> -- 
> 2.17.2
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK