On 10/28/25 19:12, Philippe Mathieu-Daudé wrote:
MemoryRegion::addr is private data of MemoryRegion, use
memory_region_get_address() to access it.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
---
hw/core/sysbus.c | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
The patch description is incomplete for these changes, but the changes
themselves are good.
Reviewed-by: Richard Henderson <[email protected]>
r~
diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c
index d33be6b2b52..414b3f806d1 100644
--- a/hw/core/sysbus.c
+++ b/hw/core/sysbus.c
@@ -257,13 +257,14 @@ bool sysbus_realize_and_unref(SysBusDevice *dev, Error
**errp)
static void sysbus_dev_print(Monitor *mon, DeviceState *dev, int indent)
{
SysBusDevice *s = SYS_BUS_DEVICE(dev);
- hwaddr size;
- int i;
- for (i = 0; i < s->num_mmio; i++) {
- size = memory_region_size(s->mmio[i].memory);
- monitor_printf(mon, "%*smmio " HWADDR_FMT_plx "/" HWADDR_FMT_plx "\n",
- indent, "", s->mmio[i].addr, size);
+ for (int i = 0; i < s->num_mmio; i++) {
+ MemoryRegion *mr = sysbus_mmio_get_region(s, i);
+ hwaddr addr = memory_region_get_address(mr);
+ uint64_t size = memory_region_size(mr);
+
+ monitor_printf(mon, "%*smmio " HWADDR_FMT_plx "/%016" PRIx64 "\n",
+ indent, "", addr, size);
}
}
@@ -282,8 +283,10 @@ static char *sysbus_get_fw_dev_path(DeviceState *dev)
}
}
if (s->num_mmio) {
+ MemoryRegion *mr = sysbus_mmio_get_region(s, 0);
+
return g_strdup_printf("%s@" HWADDR_FMT_plx, qdev_fw_name(dev),
- s->mmio[0].addr);
+ memory_region_get_address(mr));
}
if (s->num_pio) {
return g_strdup_printf("%s@i%04x", qdev_fw_name(dev), s->pio[0]);