[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 12/12] hw/sysbus: Ensure device is realized before mapping it
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 12/12] hw/sysbus: Ensure device is realized before mapping it |
Date: |
Wed, 18 Oct 2023 16:11:50 +0200 |
sysbus_mmio_map() should not be called on unrealized device.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/core/sysbus.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c
index ce54e2c416..a46828a808 100644
--- a/hw/core/sysbus.c
+++ b/hw/core/sysbus.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "qapi/error.h"
#include "qemu/module.h"
+#include "qemu/error-report.h"
#include "hw/sysbus.h"
#include "monitor/monitor.h"
#include "exec/address-spaces.h"
@@ -132,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
- [PATCH 08/12] hw/isa: Realize ISA BUS sysbus device before accessing it, (continued)
- [PATCH 08/12] hw/isa: Realize ISA BUS sysbus device before accessing it, Philippe Mathieu-Daudé, 2023/10/18
- [PATCH 09/12] hw/s390x/css-bridge: Realize sysbus device before accessing it, Philippe Mathieu-Daudé, 2023/10/18
- [PATCH 10/12] hw/qdev: Ensure parent device is not realized before adding bus, Philippe Mathieu-Daudé, 2023/10/18
- [PATCH 11/12] hw/sysbus: Ensure device is not realized before adding MMIO region, Philippe Mathieu-Daudé, 2023/10/18
- [PATCH 12/12] hw/sysbus: Ensure device is realized before mapping it,
Philippe Mathieu-Daudé <=
- Re: [PATCH 00/12] hw: Strengthen SysBus & QBus API, Michael S. Tsirkin, 2023/10/18
- Re: [PATCH 00/12] hw: Strengthen SysBus & QBus API, Thomas Huth, 2023/10/18