ARM devboards: Set arm_sysctl properties before init, not after The ARM devboard models (vexpress-a9, realview, versatilepb, etc) were accidentally trying to set one of the arm_sysctl properties after device init. This has now become a fatal error; set the property before device init where it should be done instead. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
diff --git a/hw/realview.c b/hw/realview.c index 821e627..8b0b03d 100644 --- a/hw/realview.c +++ b/hw/realview.c
@@ -217,8 +217,8 @@ sys_id = is_pb ? 0x01780500 : 0xc1400400; sysctl = qdev_create(NULL, "realview_sysctl"); qdev_prop_set_uint32(sysctl, "sys_id", sys_id); - qdev_init_nofail(sysctl); qdev_prop_set_uint32(sysctl, "proc_id", proc_id); + qdev_init_nofail(sysctl); sysbus_mmio_map(sysbus_from_qdev(sysctl), 0, 0x10000000); if (is_mpcore) {
diff --git a/hw/versatilepb.c b/hw/versatilepb.c index 6e28e78..6ea0ce5 100644 --- a/hw/versatilepb.c +++ b/hw/versatilepb.c
@@ -198,8 +198,8 @@ sysctl = qdev_create(NULL, "realview_sysctl"); qdev_prop_set_uint32(sysctl, "sys_id", 0x41007004); - qdev_init_nofail(sysctl); qdev_prop_set_uint32(sysctl, "proc_id", 0x02000000); + qdev_init_nofail(sysctl); sysbus_mmio_map(sysbus_from_qdev(sysctl), 0, 0x10000000); cpu_pic = arm_pic_init_cpu(env);
diff --git a/hw/vexpress.c b/hw/vexpress.c index 64fab45..43f47a6 100644 --- a/hw/vexpress.c +++ b/hw/vexpress.c
@@ -123,8 +123,8 @@ /* 0x10000000 System registers */ sysctl = qdev_create(NULL, "realview_sysctl"); qdev_prop_set_uint32(sysctl, "sys_id", sys_id); - qdev_init_nofail(sysctl); qdev_prop_set_uint32(sysctl, "proc_id", proc_id); + qdev_init_nofail(sysctl); sysbus_mmio_map(sysbus_from_qdev(sysctl), 0, 0x10000000); /* 0x10001000 SP810 system control */