From 7a65c8cc315c76bde6d692845c12e7ba06f44f89 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Thu, 9 Feb 2012 06:11:16 +0000 Subject: [PATCH] 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 --- 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 821e627560..8b0b03d2d3 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 6e28e78f44..6ea0ce5fb3 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 64fab4574c..43f47a65ce 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 */