* [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups
@ 2013-07-24 22:16 Andreas Färber
2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Andreas Färber @ 2013-07-24 22:16 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Hu Tao
Hello Peter,
This series eliminates FROM_SYSBUS() in hw/cpu/.
For QOM realize post-1.6 these devices will need cleanups similar to a9/a15;
it even instantiates arm11mpcore_priv from the realview_mpcore device, similar
to my Tegra2 SoC (although in the same file ;)).
Regards,
Andreas
Cc: Peter Maydell <peter.maydell@linaro.org>
Cc: Hu Tao <hutao@cn.fujitsu.com>
Andreas Färber (2):
arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
arm11mpcore: QOM cast cleanups for mpcore_rirq_state
hw/cpu/arm11mpcore.c | 42 +++++++++++++++++++++++++++---------------
1 file changed, 27 insertions(+), 15 deletions(-)
--
1.8.1.4
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
2013-07-24 22:16 [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
@ 2013-07-24 22:16 ` Andreas Färber
2013-07-26 2:22 ` Hu Tao
2013-07-24 22:17 ` [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state Andreas Färber
2013-07-26 22:21 ` [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
2 siblings, 1 reply; 6+ messages in thread
From: Andreas Färber @ 2013-07-24 22:16 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
hw/cpu/arm11mpcore.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
diff --git a/hw/cpu/arm11mpcore.c b/hw/cpu/arm11mpcore.c
index 8eeb53e..31c9d5a 100644
--- a/hw/cpu/arm11mpcore.c
+++ b/hw/cpu/arm11mpcore.c
@@ -12,8 +12,13 @@
/* MPCore private memory region. */
+#define TYPE_ARM11MPCORE_PRIV "arm11mpcore_priv"
+#define ARM11MPCORE_PRIV(obj) \
+ OBJECT_CHECK(ARM11MPCorePriveState, (obj), TYPE_ARM11MPCORE_PRIV)
+
typedef struct ARM11MPCorePriveState {
- SysBusDevice busdev;
+ SysBusDevice parent_obj;
+
uint32_t scu_control;
int iomemtype;
uint32_t old_timer_status[8];
@@ -125,9 +130,10 @@ static void mpcore_priv_map_setup(ARM11MPCorePriveState *s)
}
}
-static int mpcore_priv_init(SysBusDevice *dev)
+static int mpcore_priv_init(SysBusDevice *sbd)
{
- ARM11MPCorePriveState *s = FROM_SYSBUS(ARM11MPCorePriveState, dev);
+ DeviceState *dev = DEVICE(sbd);
+ ARM11MPCorePriveState *s = ARM11MPCORE_PRIV(dev);
s->gic = qdev_create(NULL, "arm_gic");
qdev_prop_set_uint32(s->gic, "num-cpu", s->num_cpu);
@@ -137,10 +143,10 @@ static int mpcore_priv_init(SysBusDevice *dev)
qdev_init_nofail(s->gic);
/* Pass through outbound IRQ lines from the GIC */
- sysbus_pass_irq(dev, SYS_BUS_DEVICE(s->gic));
+ sysbus_pass_irq(sbd, SYS_BUS_DEVICE(s->gic));
/* Pass through inbound GPIO lines to the GIC */
- qdev_init_gpio_in(&s->busdev.qdev, mpcore_priv_set_irq, s->num_irq - 32);
+ qdev_init_gpio_in(dev, mpcore_priv_set_irq, s->num_irq - 32);
s->mptimer = qdev_create(NULL, "arm_mptimer");
qdev_prop_set_uint32(s->mptimer, "num-cpu", s->num_cpu);
@@ -151,7 +157,7 @@ static int mpcore_priv_init(SysBusDevice *dev)
qdev_init_nofail(s->wdtimer);
mpcore_priv_map_setup(s);
- sysbus_init_mmio(dev, &s->container);
+ sysbus_init_mmio(sbd, &s->container);
return 0;
}
@@ -198,7 +204,7 @@ static int realview_mpcore_init(SysBusDevice *dev)
int n;
int i;
- priv = qdev_create(NULL, "arm11mpcore_priv");
+ priv = qdev_create(NULL, TYPE_ARM11MPCORE_PRIV);
qdev_prop_set_uint32(priv, "num-cpu", s->num_cpu);
qdev_init_nofail(priv);
s->priv = SYS_BUS_DEVICE(priv);
@@ -264,7 +270,7 @@ static void mpcore_priv_class_init(ObjectClass *klass, void *data)
}
static const TypeInfo mpcore_priv_info = {
- .name = "arm11mpcore_priv",
+ .name = TYPE_ARM11MPCORE_PRIV,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(ARM11MPCorePriveState),
.class_init = mpcore_priv_class_init,
--
1.8.1.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state
2013-07-24 22:16 [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
@ 2013-07-24 22:17 ` Andreas Färber
2013-07-26 2:22 ` Hu Tao
2013-07-26 22:21 ` [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
2 siblings, 1 reply; 6+ messages in thread
From: Andreas Färber @ 2013-07-24 22:17 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, Andreas Färber, Paul Brook
Signed-off-by: Andreas Färber <afaerber@suse.de>
---
hw/cpu/arm11mpcore.c | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/hw/cpu/arm11mpcore.c b/hw/cpu/arm11mpcore.c
index 31c9d5a..a786c62 100644
--- a/hw/cpu/arm11mpcore.c
+++ b/hw/cpu/arm11mpcore.c
@@ -161,11 +161,16 @@ static int mpcore_priv_init(SysBusDevice *sbd)
return 0;
}
+#define TYPE_REALVIEW_MPCORE_RIRQ "realview_mpcore"
+#define REALVIEW_MPCORE_RIRQ(obj) \
+ OBJECT_CHECK(mpcore_rirq_state, (obj), TYPE_REALVIEW_MPCORE_RIRQ)
+
/* Dummy PIC to route IRQ lines. The baseboard has 4 independent IRQ
controllers. The output of these, plus some of the raw input lines
are fed into a single SMP-aware interrupt controller on the CPU. */
typedef struct {
- SysBusDevice busdev;
+ SysBusDevice parent_obj;
+
SysBusDevice *priv;
qemu_irq cpuic[32];
qemu_irq rvic[4][64];
@@ -196,9 +201,10 @@ static void mpcore_rirq_set_irq(void *opaque, int irq, int level)
}
}
-static int realview_mpcore_init(SysBusDevice *dev)
+static int realview_mpcore_init(SysBusDevice *sbd)
{
- mpcore_rirq_state *s = FROM_SYSBUS(mpcore_rirq_state, dev);
+ DeviceState *dev = DEVICE(sbd);
+ mpcore_rirq_state *s = REALVIEW_MPCORE_RIRQ(dev);
DeviceState *gic;
DeviceState *priv;
int n;
@@ -208,7 +214,7 @@ static int realview_mpcore_init(SysBusDevice *dev)
qdev_prop_set_uint32(priv, "num-cpu", s->num_cpu);
qdev_init_nofail(priv);
s->priv = SYS_BUS_DEVICE(priv);
- sysbus_pass_irq(dev, s->priv);
+ sysbus_pass_irq(sbd, s->priv);
for (i = 0; i < 32; i++) {
s->cpuic[i] = qdev_get_gpio_in(priv, i);
}
@@ -220,8 +226,8 @@ static int realview_mpcore_init(SysBusDevice *dev)
s->rvic[n][i] = qdev_get_gpio_in(gic, i);
}
}
- qdev_init_gpio_in(&dev->qdev, mpcore_rirq_set_irq, 64);
- sysbus_init_mmio(dev, sysbus_mmio_get_region(s->priv, 0));
+ qdev_init_gpio_in(dev, mpcore_rirq_set_irq, 64);
+ sysbus_init_mmio(sbd, sysbus_mmio_get_region(s->priv, 0));
return 0;
}
@@ -240,7 +246,7 @@ static void mpcore_rirq_class_init(ObjectClass *klass, void *data)
}
static const TypeInfo mpcore_rirq_info = {
- .name = "realview_mpcore",
+ .name = TYPE_REALVIEW_MPCORE_RIRQ,
.parent = TYPE_SYS_BUS_DEVICE,
.instance_size = sizeof(mpcore_rirq_state),
.class_init = mpcore_rirq_class_init,
--
1.8.1.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
@ 2013-07-26 2:22 ` Hu Tao
0 siblings, 0 replies; 6+ messages in thread
From: Hu Tao @ 2013-07-26 2:22 UTC (permalink / raw)
To: Andreas Färber; +Cc: Peter Maydell, qemu-devel, Paul Brook
On Thu, Jul 25, 2013 at 12:16:59AM +0200, Andreas Färber wrote:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
> hw/cpu/arm11mpcore.c | 22 ++++++++++++++--------
> 1 file changed, 14 insertions(+), 8 deletions(-)
Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state
2013-07-24 22:17 ` [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state Andreas Färber
@ 2013-07-26 2:22 ` Hu Tao
0 siblings, 0 replies; 6+ messages in thread
From: Hu Tao @ 2013-07-26 2:22 UTC (permalink / raw)
To: Andreas Färber; +Cc: Peter Maydell, qemu-devel, Paul Brook
On Thu, Jul 25, 2013 at 12:17:00AM +0200, Andreas Färber wrote:
> Signed-off-by: Andreas Färber <afaerber@suse.de>
> ---
> hw/cpu/arm11mpcore.c | 20 +++++++++++++-------
> 1 file changed, 13 insertions(+), 7 deletions(-)
Reviewed-by: Hu Tao <hutao@cn.fujitsu.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups
2013-07-24 22:16 [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
2013-07-24 22:17 ` [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state Andreas Färber
@ 2013-07-26 22:21 ` Andreas Färber
2 siblings, 0 replies; 6+ messages in thread
From: Andreas Färber @ 2013-07-26 22:21 UTC (permalink / raw)
To: Hu Tao; +Cc: Peter Maydell, qemu-devel
Am 25.07.2013 00:16, schrieb Andreas Färber:
> Andreas Färber (2):
> arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState
> arm11mpcore: QOM cast cleanups for mpcore_rirq_state
>
> hw/cpu/arm11mpcore.c | 42 +++++++++++++++++++++++++++---------------
> 1 file changed, 27 insertions(+), 15 deletions(-)
Thanks, applied to qom-next:
https://github.com/afaerber/qemu-cpu/commits/qom-next
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-07-26 22:21 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-24 22:16 [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
2013-07-24 22:16 ` [Qemu-devel] [PATCH qom-next for-1.6 1/2] arm11mpcore: QOM cast cleanups for ARM11MPCorePriveState Andreas Färber
2013-07-26 2:22 ` Hu Tao
2013-07-24 22:17 ` [Qemu-devel] [PATCH qom-next for-1.6 2/2] arm11mpcore: QOM cast cleanups for mpcore_rirq_state Andreas Färber
2013-07-26 2:22 ` Hu Tao
2013-07-26 22:21 ` [Qemu-devel] [PATCH qom-next for-1.6 0/2] cpu: QOM cast cleanups Andreas Färber
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.