qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] ARM devboards: Set arm_sysctl properties before ini


From: Peter Maydell
Subject: [Qemu-devel] [PATCH] ARM devboards: Set arm_sysctl properties before init, not after
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 <address@hidden>
---
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 */
-- 
1.7.5.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]