On Mon, Jan 21, 2019 at 03:22:15PM +0000, Peter Maydell wrote: > Currently the cluster implementation doesn't have any constraints > on the ordering of realizing the TYPE_CPU_CLUSTER and populating it > with child objects. We want to impose a constraint that realize > must happen only after all the child objects are added, so move > the realize of rpu_cluster. (The apu_cluster is already > realized after child population.) > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > Reviewed-by: Richard Henderson <richard.hender...@linaro.org> > Reviewed-by: Luc Michel <luc.mic...@greensocs.com> > Reviewed-by: Alistair Francis <alistair.fran...@wdc.com>
Reviewed-by: Edgar E. Iglesias <edgar.igles...@xilinx.com> > --- > hw/arm/xlnx-zynqmp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c > index c67ac2e64ac..370b0e44a38 100644 > --- a/hw/arm/xlnx-zynqmp.c > +++ b/hw/arm/xlnx-zynqmp.c > @@ -183,8 +183,6 @@ static void xlnx_zynqmp_create_rpu(XlnxZynqMPState *s, > const char *boot_cpu, > &error_abort, NULL); > qdev_prop_set_uint32(DEVICE(&s->rpu_cluster), "cluster-id", 1); > > - qdev_init_nofail(DEVICE(&s->rpu_cluster)); > - > for (i = 0; i < num_rpus; i++) { > char *name; > > @@ -212,6 +210,8 @@ static void xlnx_zynqmp_create_rpu(XlnxZynqMPState *s, > const char *boot_cpu, > return; > } > } > + > + qdev_init_nofail(DEVICE(&s->rpu_cluster)); > } > > static void xlnx_zynqmp_init(Object *obj) > -- > 2.20.1 >