Commit a17740a1bc for qemu.org
commit a17740a1bc5ce461bfac6afb0b1a29d774cdaec6
Author: Bernhard Beschow <shentey@gmail.com>
Date: Mon Sep 21 23:47:10 2026 +0200
hw/watchdog/wdt_imx2: Trace with QOM path
SoCs such as the i.MX8M Plus have several of these watchdog devices.
Allow to distinguish the instances when tracing.
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Message-ID: <20260921214710.29422-43-shentey@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
diff --git a/hw/watchdog/trace-events b/hw/watchdog/trace-events
index b388f7b250..5963943d5d 100644
--- a/hw/watchdog/trace-events
+++ b/hw/watchdog/trace-events
@@ -18,10 +18,10 @@ aspeed_wdt_read(uint64_t addr, uint32_t size) "@0x%" PRIx64 " size=%d"
aspeed_wdt_write(uint64_t addr, uint32_t size, uint64_t data) "@0x%" PRIx64 " size=%d value=0x%"PRIx64
# wdt_imx2.c
-imx2_wdt_read(uint32_t addr, uint16_t data) "[0x%" PRIx32 "] -> 0x%" PRIx16
-imx2_wdt_write(uint32_t addr, uint16_t data) "[0x%" PRIx32 "] <- 0x%" PRIx16
-imx2_wdt_interrupt(void) ""
-imx2_wdt_expired(void) ""
+imx2_wdt_read(const char *qom_path, uint32_t addr, uint16_t data) "%s: [0x%" PRIx32 "] -> 0x%" PRIx16
+imx2_wdt_write(const char *qom_path, uint32_t addr, uint16_t data) "%s: [0x%" PRIx32 "] <- 0x%" PRIx16
+imx2_wdt_interrupt(const char *qom_path) "%s"
+imx2_wdt_expired(const char *qom_path) "%s"
# spapr_watchdog.c
spapr_watchdog_start(uint64_t flags, uint64_t num, uint64_t timeout) "Flags 0x%" PRIx64 " num=%" PRId64 " %" PRIu64 "ms"
diff --git a/hw/watchdog/wdt_imx2.c b/hw/watchdog/wdt_imx2.c
index c19f0383ad..f8129625e5 100644
--- a/hw/watchdog/wdt_imx2.c
+++ b/hw/watchdog/wdt_imx2.c
@@ -23,7 +23,7 @@ static void imx2_wdt_interrupt(void *opaque)
{
IMX2WdtState *s = IMX2_WDT(opaque);
- trace_imx2_wdt_interrupt();
+ trace_imx2_wdt_interrupt(DEVICE(s)->canonical_path);
s->wicr |= IMX2_WDT_WICR_WTIS;
qemu_set_irq(s->irq, 1);
@@ -33,7 +33,7 @@ static void imx2_wdt_expired(void *opaque)
{
IMX2WdtState *s = IMX2_WDT(opaque);
- trace_imx2_wdt_expired();
+ trace_imx2_wdt_expired(DEVICE(s)->canonical_path);
s->wrsr = IMX2_WDT_WRSR_TOUT;
@@ -90,7 +90,7 @@ static uint64_t imx2_wdt_read(void *opaque, hwaddr addr, unsigned int size)
break;
}
- trace_imx2_wdt_read(addr, value);
+ trace_imx2_wdt_read(DEVICE(s)->canonical_path, addr, value);
return value;
}
@@ -149,7 +149,7 @@ static void imx2_wdt_write(void *opaque, hwaddr addr,
{
IMX2WdtState *s = IMX2_WDT(opaque);
- trace_imx2_wdt_write(addr, value);
+ trace_imx2_wdt_write(DEVICE(s)->canonical_path, addr, value);
switch (addr) {
case IMX2_WDT_WCR: