From nobody Mon Feb 9 13:22:28 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1520955962430872.8772311020358; Tue, 13 Mar 2018 08:46:02 -0700 (PDT) Received: from localhost ([::1]:40620 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1evm7l-0006vz-Au for importer@patchew.org; Tue, 13 Mar 2018 11:46:01 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47064) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1evlxR-0005WF-QG for qemu-devel@nongnu.org; Tue, 13 Mar 2018 11:35:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1evlxQ-0005t7-CW for qemu-devel@nongnu.org; Tue, 13 Mar 2018 11:35:21 -0400 Received: from orth.archaic.org.uk ([2001:8b0:1d0::2]:47058) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1evlxI-0005j0-6K; Tue, 13 Mar 2018 11:35:12 -0400 Received: from pm215 by orth.archaic.org.uk with local (Exim 4.89) (envelope-from ) id 1evlxC-0003GI-Ne; Tue, 13 Mar 2018 15:35:06 +0000 From: Peter Maydell To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Date: Tue, 13 Mar 2018 15:34:57 +0000 Message-Id: <20180313153458.26822-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180313153458.26822-1-peter.maydell@linaro.org> References: <20180313153458.26822-1-peter.maydell@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2001:8b0:1d0::2 Subject: [Qemu-devel] [PATCH 8/9] hw/arm/bcm2836: Hardcode correct CPU type X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Pekka Enberg , Andrew Baumann , patches@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Now we have separate types for BCM2386 and BCM2387, we might as well just hard-code the CPU type they use rather than having it passed through as an object property. This then lets us put the initialization of the CPU object in init rather than realize. Signed-off-by: Peter Maydell Reviewed-by: Andrew Baumann Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2836.c | 22 +++++++++++++--------- hw/arm/raspi.c | 2 -- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 7140257c98..12f75b55a7 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -25,16 +25,19 @@ =20 struct BCM283XInfo { const char *name; + const char *cpu_type; int clusterid; }; =20 static const BCM283XInfo bcm283x_socs[] =3D { { .name =3D TYPE_BCM2836, + .cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a15"), .clusterid =3D 0xf, }, { .name =3D TYPE_BCM2837, + .cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a53"), .clusterid =3D 0x0, }, }; @@ -42,6 +45,16 @@ static const BCM283XInfo bcm283x_socs[] =3D { static void bcm2836_init(Object *obj) { BCM283XState *s =3D BCM283X(obj); + BCM283XClass *bc =3D BCM283X_GET_CLASS(obj); + const BCM283XInfo *info =3D bc->info; + int n; + + for (n =3D 0; n < BCM283X_NCPUS; n++) { + object_initialize(&s->cpus[n], sizeof(s->cpus[n]), + info->cpu_type); + object_property_add_child(obj, "cpu[*]", OBJECT(&s->cpus[n]), + &error_abort); + } =20 object_initialize(&s->control, sizeof(s->control), TYPE_BCM2836_CONTRO= L); object_property_add_child(obj, "control", OBJECT(&s->control), NULL); @@ -69,14 +82,6 @@ static void bcm2836_realize(DeviceState *dev, Error **er= rp) =20 /* common peripherals from bcm2835 */ =20 - obj =3D OBJECT(dev); - for (n =3D 0; n < BCM283X_NCPUS; n++) { - object_initialize(&s->cpus[n], sizeof(s->cpus[n]), - s->cpu_type); - object_property_add_child(obj, "cpu[*]", OBJECT(&s->cpus[n]), - &error_abort); - } - obj =3D object_property_get_link(OBJECT(dev), "ram", &err); if (obj =3D=3D NULL) { error_setg(errp, "%s: required ram link not found: %s", @@ -168,7 +173,6 @@ static void bcm2836_realize(DeviceState *dev, Error **e= rrp) } =20 static Property bcm2836_props[] =3D { - DEFINE_PROP_STRING("cpu-type", BCM283XState, cpu_type), DEFINE_PROP_UINT32("enabled-cpus", BCM283XState, enabled_cpus, BCM283X_NCPUS), DEFINE_PROP_END_OF_LIST() diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index f588720138..ae15997669 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -150,8 +150,6 @@ static void raspi_init(MachineState *machine, int versi= on) /* Setup the SOC */ object_property_add_const_link(OBJECT(&s->soc), "ram", OBJECT(&s->ram), &error_abort); - object_property_set_str(OBJECT(&s->soc), machine->cpu_type, "cpu-type", - &error_abort); object_property_set_int(OBJECT(&s->soc), smp_cpus, "enabled-cpus", &error_abort); int board_rev =3D version =3D=3D 3 ? 0xa02082 : 0xa21041; --=20 2.16.2