]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
ARM devboards: Set arm_sysctl properties before init, not after
authorPeter Maydell <peter.maydell@linaro.org>
Thu, 9 Feb 2012 06:11:16 +0000 (06:11 +0000)
committerPaul Brook <paul@codesourcery.com>
Thu, 9 Feb 2012 12:10:35 +0000 (12:10 +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 <peter.maydell@linaro.org>
hw/realview.c
hw/versatilepb.c
hw/vexpress.c

index 821e62756047f44dcea9f61e1299149a1304aea9..8b0b03d2d373de26cdb6e231333463a99ba450bb 100644 (file)
@@ -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) {
index 6e28e78f44d49fb2f44347fea1e5afe163cee3d4..6ea0ce5fb37a785eff0fe0474893a1b205feae19 100644 (file)
@@ -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);
index 64fab4574ced68399e2049f80a5085bc6af8e46d..43f47a65cee105f4213974563e99de81b53c25f1 100644 (file)
@@ -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 */