sysbus_mmio_map() should not be called on unrealized device. Reviewed-by: Thomas Huth <th...@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- hw/core/sysbus.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c index 8f53cb926b..a46828a808 100644 --- a/hw/core/sysbus.c +++ b/hw/core/sysbus.c @@ -133,6 +133,13 @@ static void sysbus_mmio_map_common(SysBusDevice *dev, int n, hwaddr addr, { assert(n >= 0 && n < dev->num_mmio); + if (!DEVICE(dev)->realized) { + error_report("sysbus_mmio_map(type:%s, index:%d, addr:0x%"HWADDR_PRIx"," + " prio:%d) but object is not realized", + object_get_typename(OBJECT(dev)), n, addr, priority); + abort(); + } + if (dev->mmio[n].addr == addr) { /* ??? region already mapped here. */ return; -- 2.41.0