[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH RFC 02/15] cpu/a9mpcore: Split off instance_init
From: |
Andreas Färber |
Subject: |
[Qemu-devel] [PATCH RFC 02/15] cpu/a9mpcore: Split off instance_init |
Date: |
Sun, 30 Jun 2013 23:00:52 +0200 |
From: Andreas Färber <address@hidden>
Prepares for QOM realize.
Signed-off-by: Andreas Färber <address@hidden>
---
hw/cpu/a9mpcore.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/hw/cpu/a9mpcore.c b/hw/cpu/a9mpcore.c
index 36254e9..63a4eb1 100644
--- a/hw/cpu/a9mpcore.c
+++ b/hw/cpu/a9mpcore.c
@@ -34,6 +34,14 @@ static void a9mp_priv_set_irq(void *opaque, int irq, int
level)
qemu_set_irq(qdev_get_gpio_in(s->gic, irq), level);
}
+static void a9mp_priv_initfn(Object *obj)
+{
+ A9MPPrivState *s = A9MPCORE_PRIV(obj);
+
+ memory_region_init(&s->container, "a9mp-priv-container", 0x2000);
+ sysbus_init_mmio(SYS_BUS_DEVICE(obj), &s->container);
+}
+
static int a9mp_priv_init(SysBusDevice *dev)
{
A9MPPrivState *s = A9MPCORE_PRIV(dev);
@@ -78,7 +86,6 @@ static int a9mp_priv_init(SysBusDevice *dev)
*
* We should implement the global timer but don't currently do so.
*/
- memory_region_init(&s->container, "a9mp-priv-container", 0x2000);
memory_region_add_subregion(&s->container, 0,
sysbus_mmio_get_region(scubusdev, 0));
/* GIC CPU interface */
@@ -94,8 +101,6 @@ static int a9mp_priv_init(SysBusDevice *dev)
memory_region_add_subregion(&s->container, 0x1000,
sysbus_mmio_get_region(gicbusdev, 0));
- sysbus_init_mmio(dev, &s->container);
-
/* Wire up the interrupt from each watchdog and timer.
* For each core the timer is PPI 29 and the watchdog PPI 30.
*/
@@ -134,6 +139,7 @@ static const TypeInfo a9mp_priv_info = {
.name = TYPE_A9MPCORE_PRIV,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(A9MPPrivState),
+ .instance_init = a9mp_priv_initfn,
.class_init = a9mp_priv_class_init,
};
--
1.8.1.4
- [Qemu-devel] [PATCH RFC 00/15] arm: A9MPCore+A15MPCore QOM'ification, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 02/15] cpu/a9mpcore: Split off instance_init,
Andreas Färber <=
- [Qemu-devel] [PATCH RFC 03/15] cpu/a9mpcore: Embed GICState, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 01/15] cpu/a9mpcore: QOM casting cleanup, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 05/15] cpu/a9mpcore: Embed A9SCUState, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 04/15] misc/a9scu: QOM cleanups, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 07/15] timer/arm_mptimer: Convert to QOM realize, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 06/15] timer/arm_mptimer: QOM cast cleanup, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 10/15] cpu/a9mpcore: Prepare for QOM embedding, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 09/15] cpu/a9mpcore: Convert to QOM realize, Andreas Färber, 2013/06/30
- [Qemu-devel] [PATCH RFC 08/15] cpu/a9mpcore: Embed ARMMPTimerState, Andreas Färber, 2013/06/30