From patchwork Thu Feb 9 06:11:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: ARM devboards: Set arm_sysctl properties before init, not after From: Peter Maydell X-Patchwork-Id: 140317 Message-Id: <1328767876-357-1-git-send-email-peter.maydell@linaro.org> To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, Anthony Liguori , Dmitry Solodkiy , Evgeny Voevodin , patches@linaro.org Date: Thu, 9 Feb 2012 06:11:16 +0000 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 Reviewed-by: Paolo Bonzini --- If somebody would like to commit this simple patch quickly that would probably be a good idea since these models are otherwise totally broken... hw/realview.c | 2 +- hw/versatilepb.c | 2 +- hw/vexpress.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 @@ static void realview_init(ram_addr_t ram_size, 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 @@ static void versatile_init(ram_addr_t ram_size, 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 @@ static void vexpress_a9_init(ram_addr_t ram_size, /* 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 */