[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [Qemu-devel] [PATCH] virtio-mmio: Always compile debu
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-trivial] [Qemu-devel] [PATCH] virtio-mmio: Always compile debug prints |
Date: |
Tue, 30 Apr 2019 12:15:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 |
Hi Li,
On 4/28/19 1:02 PM, Boxuan Li wrote:
> Wrap printf calls inside debug macros (DPRINTF) in `if` statement, and
> change output to stderr as well. This will ensure that printf function
> will always compile and prevent bitrot of the format strings.
There is an effort in QEMU to replace the obsolete DPRINTF() macros by
trace events (which prevent format strings bitroting).
You can read more about tracing in docs/devel/tracing.txt,
and I recomment you to look at the following recent convertions in the
repository history:
commit 8d83cbf1015f547cd9336881e6b62ae2ca293849
Author: Greg Kurz <address@hidden>
Date: Fri Apr 5 10:05:24 2019 +0200
target/ppc/kvm: Convert DPRINTF to traces
commit dd849ef2c9d57a329c6001c58dbdf49de712349c
Author: Peter Maydell <address@hidden>
Date: Thu Feb 21 18:17:46 2019 +0000
hw/timer/pl031: Convert to using trace events
Convert the debug printing in the PL031 device to use trace events,
Regards,
Phil.
> Signed-off-by: Boxuan Li <address@hidden>
> ---
> hw/virtio/virtio-mmio.c | 17 ++++++++---------
> 1 file changed, 8 insertions(+), 9 deletions(-)
>
> diff --git a/hw/virtio/virtio-mmio.c b/hw/virtio/virtio-mmio.c
> index 5807aa87fe..693b3c9eb4 100644
> --- a/hw/virtio/virtio-mmio.c
> +++ b/hw/virtio/virtio-mmio.c
> @@ -28,15 +28,14 @@
> #include "hw/virtio/virtio-bus.h"
> #include "qemu/error-report.h"
>
> -/* #define DEBUG_VIRTIO_MMIO */
> -
> -#ifdef DEBUG_VIRTIO_MMIO
> -
> -#define DPRINTF(fmt, ...) \
> -do { printf("virtio_mmio: " fmt , ## __VA_ARGS__); } while (0)
> -#else
> -#define DPRINTF(fmt, ...) do {} while (0)
> -#endif
> +#define DEBUG_VIRTIO_MMIO 0
> +
> +#define DPRINTF(fmt, ...) \
> + do { \
> + if (DEBUG_VIRTIO_MMIO) { \
> + fprintf(stderr, "virtio_mmio: " fmt , ## __VA_ARGS__); \
> + } \
> + } while (0)
>
> /* QOM macros */
> /* virtio-mmio-bus */
>