Patchwork ARM devboards: Set arm_sysctl properties before init, not after

login
register
mail settings
Submitter Peter Maydell
Date Feb. 9, 2012, 6:11 a.m.
Message ID <1328767876-357-1-git-send-email-peter.maydell@linaro.org>
Download mbox | patch
Permalink /patch/140317/
State New
Headers show

Comments

Peter Maydell - Feb. 9, 2012, 6:11 a.m.
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>
---
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(-)
Paolo Bonzini - Feb. 9, 2012, 9:23 a.m.
On 02/09/2012 07:11 AM, Peter Maydell wrote:
> 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>
> ---
> If somebody would like to commit this simple patch quickly that would
> probably be a good idea since these models are otherwise totally broken...

Thanks Peter!

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

Paolo
Paul Brook - Feb. 9, 2012, 12:15 p.m.
> 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>
> ---
> If somebody would like to commit this simple patch quickly that would
> probably be a good idea since these models are otherwise totally broken...

Done.

Paul
Andreas Färber - Feb. 9, 2012, 12:34 p.m.
Am 09.02.2012 13:15, schrieb Paul Brook:
>> 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>
>> ---
>> If somebody would like to commit this simple patch quickly that would
>> probably be a good idea since these models are otherwise totally broken...
> 
> Done.

Your commit should've contained Paolo's Reviewed-by tag after Peter's
SoB, and you as committer didn't sign it off either.

http://git.qemu.org/?p=qemu.git;a=commit;h=7a65c8cc315c76bde6d692845c12e7ba06f44f89

Andreas
Andreas Färber - Feb. 9, 2012, 12:37 p.m.
Am 09.02.2012 13:34, schrieb Andreas Färber:
> Am 09.02.2012 13:15, schrieb Paul Brook:
>>> 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>
>>> ---
>>> If somebody would like to commit this simple patch quickly that would
>>> probably be a good idea since these models are otherwise totally broken...
>>
>> Done.
> 
> Your commit should've contained Paolo's Reviewed-by tag after Peter's
> SoB, and you as committer didn't sign it off either.
> 
> http://git.qemu.org/?p=qemu.git;a=commit;h=7a65c8cc315c76bde6d692845c12e7ba06f44f89

...but it's nice that you aid in applying patches again. :)

> 
> Andreas
Paul Brook - Feb. 9, 2012, 1:18 p.m.
> Am 09.02.2012 13:15, schrieb Paul Brook:
> >> 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>
> >> ---
> >> If somebody would like to commit this simple patch quickly that would
> >> probably be a good idea since these models are otherwise totally
> >> broken...
> > 
> > Done.
> 
> Your commit should've contained Paolo's Reviewed-by tag after Peter's
> SoB,

Ok.

> and you as committer didn't sign it off either.

Ah, I thought SoB was only relevant if I'd actually touched the patch.

Paul

Patch

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 */