[PATCH-for-5.1 4/7] hw/misc/grlib_ahb_apb_pnp: Add trace events on read accesses

Philippe Mathieu-Daudé posted 7 patches 5 years, 10 months ago
[PATCH-for-5.1 4/7] hw/misc/grlib_ahb_apb_pnp: Add trace events on read accesses
Posted by Philippe Mathieu-Daudé 5 years, 10 months ago
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 hw/misc/grlib_ahb_apb_pnp.c | 13 +++++++++++--
 hw/misc/trace-events        |  4 ++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/hw/misc/grlib_ahb_apb_pnp.c b/hw/misc/grlib_ahb_apb_pnp.c
index d22ed00206..43e001c3c7 100644
--- a/hw/misc/grlib_ahb_apb_pnp.c
+++ b/hw/misc/grlib_ahb_apb_pnp.c
@@ -25,6 +25,7 @@
 #include "qemu/log.h"
 #include "hw/sysbus.h"
 #include "hw/misc/grlib_ahb_apb_pnp.h"
+#include "trace.h"
 
 #define GRLIB_PNP_VENDOR_SHIFT (24)
 #define GRLIB_PNP_VENDOR_SIZE   (8)
@@ -132,8 +133,12 @@ void grlib_ahb_pnp_add_entry(AHBPnp *dev, uint32_t address, uint32_t mask,
 static uint64_t grlib_ahb_pnp_read(void *opaque, hwaddr offset, unsigned size)
 {
     AHBPnp *ahb_pnp = GRLIB_AHB_PNP(opaque);
+    uint32_t val;
 
-    return ahb_pnp->regs[offset >> 2];
+    val = ahb_pnp->regs[offset >> 2];
+    trace_grlib_ahb_pnp_read(offset, val);
+
+    return val;
 }
 
 static void grlib_ahb_pnp_write(void *opaque, hwaddr addr,
@@ -239,8 +244,12 @@ void grlib_apb_pnp_add_entry(APBPnp *dev, uint32_t address, uint32_t mask,
 static uint64_t grlib_apb_pnp_read(void *opaque, hwaddr offset, unsigned size)
 {
     APBPnp *apb_pnp = GRLIB_APB_PNP(opaque);
+    uint32_t val;
 
-    return apb_pnp->regs[offset >> 2];
+    val = apb_pnp->regs[offset >> 2];
+    trace_grlib_apb_pnp_read(offset, val);
+
+    return val;
 }
 
 static void grlib_apb_pnp_write(void *opaque, hwaddr addr,
diff --git a/hw/misc/trace-events b/hw/misc/trace-events
index a5862b2bed..9387664823 100644
--- a/hw/misc/trace-events
+++ b/hw/misc/trace-events
@@ -198,3 +198,7 @@ via1_rtc_cmd_pram_read(int addr, int value) "addr=%u value=0x%02x"
 via1_rtc_cmd_pram_write(int addr, int value) "addr=%u value=0x%02x"
 via1_rtc_cmd_pram_sect_read(int sector, int offset, int addr, int value) "sector=%u offset=%u addr=%d value=0x%02x"
 via1_rtc_cmd_pram_sect_write(int sector, int offset, int addr, int value) "sector=%u offset=%u addr=%d value=0x%02x"
+
+# grlib_ahb_apb_pnp.c
+grlib_ahb_pnp_read(uint64_t addr, uint32_t value) "AHB PnP read addr:0x%03"PRIx64" data:0x%08x"
+grlib_apb_pnp_read(uint64_t addr, uint32_t value) "APB PnP read addr:0x%03"PRIx64" data:0x%08x"
-- 
2.21.1


Re: [PATCH-for-5.1 4/7] hw/misc/grlib_ahb_apb_pnp: Add trace events on read accesses
Posted by KONRAD Frederic 5 years, 10 months ago

Le 3/31/20 à 12:50 PM, Philippe Mathieu-Daudé a écrit :
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>   hw/misc/grlib_ahb_apb_pnp.c | 13 +++++++++++--
>   hw/misc/trace-events        |  4 ++++
>   2 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/misc/grlib_ahb_apb_pnp.c b/hw/misc/grlib_ahb_apb_pnp.c
> index d22ed00206..43e001c3c7 100644
> --- a/hw/misc/grlib_ahb_apb_pnp.c
> +++ b/hw/misc/grlib_ahb_apb_pnp.c
> @@ -25,6 +25,7 @@
>   #include "qemu/log.h"
>   #include "hw/sysbus.h"
>   #include "hw/misc/grlib_ahb_apb_pnp.h"
> +#include "trace.h"
>   
>   #define GRLIB_PNP_VENDOR_SHIFT (24)
>   #define GRLIB_PNP_VENDOR_SIZE   (8)
> @@ -132,8 +133,12 @@ void grlib_ahb_pnp_add_entry(AHBPnp *dev, uint32_t address, uint32_t mask,
>   static uint64_t grlib_ahb_pnp_read(void *opaque, hwaddr offset, unsigned size)
>   {
>       AHBPnp *ahb_pnp = GRLIB_AHB_PNP(opaque);
> +    uint32_t val;
>   
> -    return ahb_pnp->regs[offset >> 2];
> +    val = ahb_pnp->regs[offset >> 2];
> +    trace_grlib_ahb_pnp_read(offset, val);
> +
> +    return val;
>   }
>   
>   static void grlib_ahb_pnp_write(void *opaque, hwaddr addr,
> @@ -239,8 +244,12 @@ void grlib_apb_pnp_add_entry(APBPnp *dev, uint32_t address, uint32_t mask,
>   static uint64_t grlib_apb_pnp_read(void *opaque, hwaddr offset, unsigned size)
>   {
>       APBPnp *apb_pnp = GRLIB_APB_PNP(opaque);
> +    uint32_t val;
>   
> -    return apb_pnp->regs[offset >> 2];
> +    val = apb_pnp->regs[offset >> 2];
> +    trace_grlib_apb_pnp_read(offset, val);
> +
> +    return val;
>   }
>   
>   static void grlib_apb_pnp_write(void *opaque, hwaddr addr,
> diff --git a/hw/misc/trace-events b/hw/misc/trace-events
> index a5862b2bed..9387664823 100644
> --- a/hw/misc/trace-events
> +++ b/hw/misc/trace-events
> @@ -198,3 +198,7 @@ via1_rtc_cmd_pram_read(int addr, int value) "addr=%u value=0x%02x"
>   via1_rtc_cmd_pram_write(int addr, int value) "addr=%u value=0x%02x"
>   via1_rtc_cmd_pram_sect_read(int sector, int offset, int addr, int value) "sector=%u offset=%u addr=%d value=0x%02x"
>   via1_rtc_cmd_pram_sect_write(int sector, int offset, int addr, int value) "sector=%u offset=%u addr=%d value=0x%02x"
> +
> +# grlib_ahb_apb_pnp.c
> +grlib_ahb_pnp_read(uint64_t addr, uint32_t value) "AHB PnP read addr:0x%03"PRIx64" data:0x%08x"
> +grlib_apb_pnp_read(uint64_t addr, uint32_t value) "APB PnP read addr:0x%03"PRIx64" data:0x%08x"
> 

Reviewed-by: KONRAD Frederic <frederic.konrad@adacore.com>