[PATCH v2] hw/display/cg3: Convert debug printf()s to trace events

Philippe Mathieu-Daudé posted 1 patch 3 years, 10 months ago
Test FreeBSD passed
Test docker-mingw@fedora passed
Test checkpatch passed
Test asan passed
Test docker-quick@centos7 passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200525112831.12697-1-f4bug@amsat.org
hw/display/cg3.c        | 14 ++++----------
hw/display/trace-events |  4 ++++
2 files changed, 8 insertions(+), 10 deletions(-)
[PATCH v2] hw/display/cg3: Convert debug printf()s to trace events
Posted by Philippe Mathieu-Daudé 3 years, 10 months ago
Convert DPRINTF() to trace events and remove ifdef'ry.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
v2: Order addr/val/size (Mark review)
---
 hw/display/cg3.c        | 14 ++++----------
 hw/display/trace-events |  4 ++++
 2 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/hw/display/cg3.c b/hw/display/cg3.c
index f7f1c199ce..7cbe6e56ff 100644
--- a/hw/display/cg3.c
+++ b/hw/display/cg3.c
@@ -35,6 +35,7 @@
 #include "hw/qdev-properties.h"
 #include "qemu/log.h"
 #include "qemu/module.h"
+#include "trace.h"
 
 /* Change to 1 to enable debugging */
 #define DEBUG_CG3 0
@@ -63,12 +64,6 @@
 #define CG3_VRAM_SIZE 0x100000
 #define CG3_VRAM_OFFSET 0x800000
 
-#define DPRINTF(fmt, ...) do { \
-    if (DEBUG_CG3) { \
-        printf("CG3: " fmt , ## __VA_ARGS__); \
-    } \
-} while (0)
-
 #define TYPE_CG3 "cgthree"
 #define CG3(obj) OBJECT_CHECK(CG3State, (obj), TYPE_CG3)
 
@@ -195,7 +190,8 @@ static uint64_t cg3_reg_read(void *opaque, hwaddr addr, unsigned size)
         val = 0;
         break;
     }
-    DPRINTF("read %02x from reg %" HWADDR_PRIx "\n", val, addr);
+    trace_cg3_read(addr, val, size);
+
     return val;
 }
 
@@ -206,9 +202,7 @@ static void cg3_reg_write(void *opaque, hwaddr addr, uint64_t val,
     uint8_t regval;
     int i;
 
-    DPRINTF("write %" PRIx64 " to reg %" HWADDR_PRIx " size %d\n",
-            val, addr, size);
-
+    trace_cg3_write(addr, val, size);
     switch (addr) {
     case CG3_REG_BT458_ADDR:
         s->dac_index = val;
diff --git a/hw/display/trace-events b/hw/display/trace-events
index e6e22bef88..47b2b168ae 100644
--- a/hw/display/trace-events
+++ b/hw/display/trace-events
@@ -151,3 +151,7 @@ artist_vram_write(unsigned int size, uint64_t addr, uint64_t val) "%u 0x%"PRIx64
 artist_fill_window(unsigned int start_x, unsigned int start_y, unsigned int width, unsigned int height, uint32_t op, uint32_t ctlpln) "start=%ux%u length=%ux%u op=0x%08x ctlpln=0x%08x"
 artist_block_move(unsigned int start_x, unsigned int start_y, unsigned int dest_x, unsigned int dest_y, unsigned int width, unsigned int height) "source %ux%u -> dest %ux%u size %ux%u"
 artist_draw_line(unsigned int start_x, unsigned int start_y, unsigned int end_x, unsigned int end_y) "%ux%u %ux%u"
+
+# cg3.c
+cg3_read(uint32_t addr, uint32_t val, unsigned size) "read addr:0x%06"PRIx32" val:0x%08"PRIx32" size:%u"
+cg3_write(uint32_t addr, uint32_t val, unsigned size) "write addr:0x%06"PRIx32" val:0x%08"PRIx32" size:%u"
-- 
2.21.3


Re: [PATCH v2] hw/display/cg3: Convert debug printf()s to trace events
Posted by Mark Cave-Ayland 3 years, 10 months ago
On 25/05/2020 12:28, Philippe Mathieu-Daudé wrote:

> Convert DPRINTF() to trace events and remove ifdef'ry.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> v2: Order addr/val/size (Mark review)
> ---
>  hw/display/cg3.c        | 14 ++++----------
>  hw/display/trace-events |  4 ++++
>  2 files changed, 8 insertions(+), 10 deletions(-)
> 
> diff --git a/hw/display/cg3.c b/hw/display/cg3.c
> index f7f1c199ce..7cbe6e56ff 100644
> --- a/hw/display/cg3.c
> +++ b/hw/display/cg3.c
> @@ -35,6 +35,7 @@
>  #include "hw/qdev-properties.h"
>  #include "qemu/log.h"
>  #include "qemu/module.h"
> +#include "trace.h"
>  
>  /* Change to 1 to enable debugging */
>  #define DEBUG_CG3 0
> @@ -63,12 +64,6 @@
>  #define CG3_VRAM_SIZE 0x100000
>  #define CG3_VRAM_OFFSET 0x800000
>  
> -#define DPRINTF(fmt, ...) do { \
> -    if (DEBUG_CG3) { \
> -        printf("CG3: " fmt , ## __VA_ARGS__); \
> -    } \
> -} while (0)
> -
>  #define TYPE_CG3 "cgthree"
>  #define CG3(obj) OBJECT_CHECK(CG3State, (obj), TYPE_CG3)
>  
> @@ -195,7 +190,8 @@ static uint64_t cg3_reg_read(void *opaque, hwaddr addr, unsigned size)
>          val = 0;
>          break;
>      }
> -    DPRINTF("read %02x from reg %" HWADDR_PRIx "\n", val, addr);
> +    trace_cg3_read(addr, val, size);
> +
>      return val;
>  }
>  
> @@ -206,9 +202,7 @@ static void cg3_reg_write(void *opaque, hwaddr addr, uint64_t val,
>      uint8_t regval;
>      int i;
>  
> -    DPRINTF("write %" PRIx64 " to reg %" HWADDR_PRIx " size %d\n",
> -            val, addr, size);
> -
> +    trace_cg3_write(addr, val, size);
>      switch (addr) {
>      case CG3_REG_BT458_ADDR:
>          s->dac_index = val;
> diff --git a/hw/display/trace-events b/hw/display/trace-events
> index e6e22bef88..47b2b168ae 100644
> --- a/hw/display/trace-events
> +++ b/hw/display/trace-events
> @@ -151,3 +151,7 @@ artist_vram_write(unsigned int size, uint64_t addr, uint64_t val) "%u 0x%"PRIx64
>  artist_fill_window(unsigned int start_x, unsigned int start_y, unsigned int width, unsigned int height, uint32_t op, uint32_t ctlpln) "start=%ux%u length=%ux%u op=0x%08x ctlpln=0x%08x"
>  artist_block_move(unsigned int start_x, unsigned int start_y, unsigned int dest_x, unsigned int dest_y, unsigned int width, unsigned int height) "source %ux%u -> dest %ux%u size %ux%u"
>  artist_draw_line(unsigned int start_x, unsigned int start_y, unsigned int end_x, unsigned int end_y) "%ux%u %ux%u"
> +
> +# cg3.c
> +cg3_read(uint32_t addr, uint32_t val, unsigned size) "read addr:0x%06"PRIx32" val:0x%08"PRIx32" size:%u"
> +cg3_write(uint32_t addr, uint32_t val, unsigned size) "write addr:0x%06"PRIx32" val:0x%08"PRIx32" size:%u"

Thanks for managing to turn this around so quickly Philippe!

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.