From patchwork Tue Mar 13 15:34:56 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Peter Maydell X-Patchwork-Id: 131480 Delivered-To: patches@linaro.org Received: by 10.46.84.17 with SMTP id i17csp884782ljb; Tue, 13 Mar 2018 08:35:06 -0700 (PDT) X-Google-Smtp-Source: AG47ELs4FGrUIKI+z4nI4cTr6qgEsOOAFrdZTtR6ck8WH6IapPWiBc3d1fxI68odiFbChmbBQ80/ X-Received: by 10.28.54.89 with SMTP id d86mr1221668wma.16.1520955306462; Tue, 13 Mar 2018 08:35:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520955306; cv=none; d=google.com; s=arc-20160816; b=shUQYHwHY/Q6VmJ5Nyd9Y8y1RuTF7lt6nOzsGPz3MOZeg7NTvbnf0p4zgtdUckViZR 007WYlB4poon/z7C5saNuzD9e0eKgqAOMfqLUv7sIFnNHwsJY9IhwMAFacM7bbELmzix 1GZKC36yzZ91IHc9PG3I/GBKryAAHqV0dJNrKUUd5S/qaOBmZnJnDJkX28QKWLWI9ljz DqpaMo5d5nZ1iENVPb3IIz2kBmC0eQpRHGX8bxAgIaG9QM65lhwEjd6OHHgkLyTT8oMb Qjyk7b30w849m9tlEM5Y7yQFTyYBrfhg+7Md6Fl4xYkSolF4hDkCrcGRAIatBTjdubw5 jeqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=9BteupbPsug9iUj+zZyvMYumndQ+T8rwze+rfs5/KPY=; b=gN5SUVjJARGX4osW8ScuwRnHUD7yXBAMHVHr3D9BAUHFXfMm8v/m3u0rrYA/KUgG32 Q7/s56ORm1jlVGsAdyPrLNAsqp4FF129S1GwnjcBCiMhJL5ZZE7NCs1eMO08pqUqvlc6 B/zXmy1NBSlX63d6Mk35/lPgHAIaTFtVGMGyAfk8b0HL85A0Z3JB7sdM2W/FPaq0aHpH aBUKFeBnWLDGv2D2TCe+zWnHXya+kJ2OUST05pDZfjkqLQmbxURi1gc89/q4VZljRUft 2zQK609OgJNz4zDX63I2GUhpPhuZj/r1gKsW172pE3JGFcb7jQ0e9+JPw+Kt4mLUPs+m QYzA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) smtp.mailfrom=pm215@archaic.org.uk; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from orth.archaic.org.uk (orth.archaic.org.uk. [2001:8b0:1d0::2]) by mx.google.com with ESMTPS id k2si119108wmf.153.2018.03.13.08.35.06 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 13 Mar 2018 08:35:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) client-ip=2001:8b0:1d0::2; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of pm215@archaic.org.uk designates 2001:8b0:1d0::2 as permitted sender) smtp.mailfrom=pm215@archaic.org.uk; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from pm215 by orth.archaic.org.uk with local (Exim 4.89) (envelope-from ) id 1evlxC-0003G0-0N; Tue, 13 Mar 2018 15:35:06 +0000 From: Peter Maydell To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: patches@linaro.org, Pekka Enberg , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Andrew Baumann Subject: [PATCH 7/9] hw/arm/bcm2836: Use correct affinity values for BCM2837 Date: Tue, 13 Mar 2018 15:34:56 +0000 Message-Id: <20180313153458.26822-8-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> The BCM2837 sets the Aff1 field of the MPIDR affinity values for the CPUs to 0, whereas the BCM2836 uses 0xf. Set this correctly, as it is required for Linux to boot. Signed-off-by: Peter Maydell --- hw/arm/bcm2836.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -- 2.16.2 Reviewed-by: Andrew Baumann Reviewed-by: Philippe Mathieu-Daudé diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 07d2705f96..7140257c98 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -25,14 +25,17 @@ struct BCM283XInfo { const char *name; + int clusterid; }; static const BCM283XInfo bcm283x_socs[] = { { .name = TYPE_BCM2836, + .clusterid = 0xf, }, { .name = TYPE_BCM2837, + .clusterid = 0x0, }, }; @@ -58,6 +61,8 @@ static void bcm2836_init(Object *obj) static void bcm2836_realize(DeviceState *dev, Error **errp) { BCM283XState *s = BCM283X(dev); + BCM283XClass *bc = BCM283X_GET_CLASS(dev); + const BCM283XInfo *info = bc->info; Object *obj; Error *err = NULL; int n; @@ -119,7 +124,7 @@ static void bcm2836_realize(DeviceState *dev, Error **errp) /* Mirror bcm2836, which has clusterid set to 0xf * TODO: this should be converted to a property of ARM_CPU */ - s->cpus[n].mp_affinity = 0xF00 | n; + s->cpus[n].mp_affinity = (info->clusterid << 8) | n; /* set periphbase/CBAR value for CPU-local registers */ object_property_set_int(OBJECT(&s->cpus[n]),