From patchwork Thu Feb 9 06:11:16 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 6718 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 8A61823F8D for ; Thu, 9 Feb 2012 06:11:29 +0000 (UTC) Received: from mail-iy0-f180.google.com (mail-iy0-f180.google.com [209.85.210.180]) by fiordland.canonical.com (Postfix) with ESMTP id 459F3A185F5 for ; Thu, 9 Feb 2012 06:11:29 +0000 (UTC) Received: by iabz7 with SMTP id z7so2712344iab.11 for ; Wed, 08 Feb 2012 22:11:28 -0800 (PST) MIME-Version: 1.0 Received: by 10.50.156.133 with SMTP id we5mr25962966igb.12.1328767888589; Wed, 08 Feb 2012 22:11:28 -0800 (PST) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.231.12.131 with SMTP id x3cs29651ibx; Wed, 8 Feb 2012 22:11:27 -0800 (PST) Received: by 10.180.92.71 with SMTP id ck7mr847393wib.3.1328767886612; Wed, 08 Feb 2012 22:11:26 -0800 (PST) Received: from mnementh.archaic.org.uk (mnementh.archaic.org.uk. [81.2.115.146]) by mx.google.com with ESMTPS id k28si984829weq.29.2012.02.08.22.11.25 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 08 Feb 2012 22:11:26 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 81.2.115.146 as permitted sender) client-ip=81.2.115.146; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 81.2.115.146 as permitted sender) smtp.mail=pm215@archaic.org.uk Received: from pm215 by mnementh.archaic.org.uk with local (Exim 4.72) (envelope-from ) id 1RvNDw-00006C-Dc; Thu, 09 Feb 2012 06:11:16 +0000 From: Peter Maydell To: qemu-devel@nongnu.org Cc: patches@linaro.org, Evgeny Voevodin , Anthony Liguori , pbonzini@redhat.com, Dmitry Solodkiy Subject: [PATCH] ARM devboards: Set arm_sysctl properties before init, not after Date: Thu, 9 Feb 2012 06:11:16 +0000 Message-Id: <1328767876-357-1-git-send-email-peter.maydell@linaro.org> X-Mailer: git-send-email 1.7.2.5 X-Gm-Message-State: ALoCoQmwIivsY8AX5qn3veE9ecHtK+emodBC3LjmK7GUYVNxlAFyRO0hQYBNtFQjmtgqmCK25YCw 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 */