[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 17/24] arm11mpcore: Create container MemoryRegion
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH v3 17/24] arm11mpcore: Create container MemoryRegion in instance_init |
Date: |
Tue, 20 Aug 2013 17:21:09 +0200 |
This allows to map the region directly after object initialization.
Signed-off-by: Andreas Färber <address@hidden>
---
hw/cpu/arm11mpcore.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/hw/cpu/arm11mpcore.c b/hw/cpu/arm11mpcore.c
index 8719634..5f80e7b 100644
--- a/hw/cpu/arm11mpcore.c
+++ b/hw/cpu/arm11mpcore.c
@@ -90,8 +90,6 @@ static void mpcore_priv_map_setup(ARM11MPCorePriveState *s)
SysBusDevice *gicbusdev = SYS_BUS_DEVICE(s->gic);
SysBusDevice *timerbusdev = SYS_BUS_DEVICE(s->mptimer);
SysBusDevice *wdtbusdev = SYS_BUS_DEVICE(s->wdtimer);
- memory_region_init(&s->container, OBJECT(s),
- "mpcore-priv-container", 0x2000);
memory_region_init_io(&s->iomem, OBJECT(s),
&mpcore_scu_ops, s, "mpcore-scu", 0x100);
memory_region_add_subregion(&s->container, 0, &s->iomem);
@@ -155,10 +153,19 @@ static int mpcore_priv_init(SysBusDevice *sbd)
qdev_init_nofail(s->wdtimer);
mpcore_priv_map_setup(s);
- sysbus_init_mmio(sbd, &s->container);
return 0;
}
+static void mpcore_priv_initfn(Object *obj)
+{
+ SysBusDevice *sbd = SYS_BUS_DEVICE(obj);
+ ARM11MPCorePriveState *s = ARM11MPCORE_PRIV(obj);
+
+ memory_region_init(&s->container, OBJECT(s),
+ "mpcore-priv-container", 0x2000);
+ sysbus_init_mmio(sbd, &s->container);
+}
+
#define TYPE_REALVIEW_MPCORE_RIRQ "realview_mpcore"
#define REALVIEW_MPCORE_RIRQ(obj) \
OBJECT_CHECK(mpcore_rirq_state, (obj), TYPE_REALVIEW_MPCORE_RIRQ)
@@ -277,6 +284,7 @@ static const TypeInfo mpcore_priv_info = {
.name = TYPE_ARM11MPCORE_PRIV,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(ARM11MPCorePriveState),
+ .instance_init = mpcore_priv_initfn,
.class_init = mpcore_priv_class_init,
};
--
1.8.1.4
- [Qemu-devel] [PATCH v3 01/24] cpu/a9mpcore: Split off instance_init, (continued)
- [Qemu-devel] [PATCH v3 01/24] cpu/a9mpcore: Split off instance_init, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 03/24] cpu/a9mpcore: Embed GICState, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 10/24] cpu/a15mpcore: Split off instance_init, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 08/24] cpu/a9mpcore: Convert to QOM realize, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 11/24] cpu/a15mpcore: Embed GICState, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 04/24] misc/a9scu: QOM cleanups, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 15/24] arm11mpcore: Fix typo in MemoryRegion name, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 05/24] cpu/a9mpcore: Embed A9SCUState, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 07/24] cpu/a9mpcore: Embed ARMMPTimerState, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 06/24] timer/arm_mptimer: Convert to QOM realize, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 17/24] arm11mpcore: Create container MemoryRegion in instance_init,
Andreas Färber <=
- [Qemu-devel] [PATCH v3 20/24] realview_gic: Convert to QOM realize, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 16/24] arm11mpcore: Drop unused fields, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 21/24] realview_gic: Prepare for QOM embedding, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 13/24] cpu/a15mpcore: Prepare for QOM embedding, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 22/24] arm11mpcore: Convert mpcore_rirq_state to QOM realize, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 09/24] cpu/a9mpcore: Prepare for QOM embedding, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 23/24] arm11mpcore: Prepare for QOM embedding, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 19/24] arm11mpcore: Convert ARM11MPCorePriveState to QOM realize, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 24/24] arm11mpcore: Split off RealView MPCore, Andreas Färber, 2013/08/20
- [Qemu-devel] [PATCH v3 18/24] arm11mpcore: Split off SCU device, Andreas Färber, 2013/08/20