From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601567413; cv=none; d=zohomail.com; s=zohoarc; b=Sdgy+6FdINtv5yGpa5uTBHbX4QXOOjVPP+fSJ6zSoOPVQGSqOj6YAeFOK8QvJpkMPHzmVG5nntmK7j81YYHSgBuQrb50Q5HJMfpAI3ddNMMLSOhf1i+eVk+RW+75WSjpmTTc1mQh1o919ldNlNhaSSlKLabggjYUPnUPH6xH6Ow= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601567413; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=L8cGGYZF8QFptqVGM6K13/xYHxzFRTmMW7aqTuG9CB8=; b=A/kxTZRQJvpXWhnh07OXKZHBNXJn8Fwfnjh56WCc1tEkcOmb6bDGtlY57CtvI6pLW6R+L9F2ULE6w9f1fwNSbSY/zQLbHj7NkMkLGVobUdzffteOjLNeC0nwVvFueBiZ663RZ4fZLyw+TXwtruDwyHs8JCSeN8fD3pQ/eS2/U2A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601567412994801.6275390632459; Thu, 1 Oct 2020 08:50:12 -0700 (PDT) Received: from localhost ([::1]:33838 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO02J-0002EB-55 for importer@patchew.org; Thu, 01 Oct 2020 10:58:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42932) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsQ-0004hR-O4 for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:10 -0400 Received: from mail-wm1-x342.google.com ([2a00:1450:4864:20::342]:39081) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsO-0002wa-NF for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:10 -0400 Received: by mail-wm1-x342.google.com with SMTP id t17so3414216wmi.4 for ; Thu, 01 Oct 2020 07:48:08 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.05 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=L8cGGYZF8QFptqVGM6K13/xYHxzFRTmMW7aqTuG9CB8=; b=PaJdwcNRDTZL4DkPlBTuOoU6dLh+Kr4iEKH20Dalf9KMgLRiftXX+EzkZ9Dak94pjY 0eYMEtueNvpCxAY45zhNDBIUv08BSRTfpZgYK1xsaeGKVxQrGIKbef/2MKlpA7NzpbZU CdaULrvze5mltmlrimf75lMBnXRfNNq+ZsgG+XLHhuikK313a+seID6sQFSijOZCkpcW Ut79jDSESQPpGuG2KWDuGENF4lsDk6ql/TJcBuVfRZ01Wa2Uu5I7Doj4558gEERDo2Pl DqJiKAUKW9TmvNABPD59D2FrC1UWc7SbwD+vLyKbm4dFClk0/UUwg0hVtrvkFrSGE8AH zQ5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=L8cGGYZF8QFptqVGM6K13/xYHxzFRTmMW7aqTuG9CB8=; b=eIpefoQ2rTSm6/NQJXCBnFYQ8MUheji4y+KjvkEPgBx5u2qDieCtfXf9c7BvkGLTtp tdfdnMXHzGUlQJ/C250vqNtSAI8Jqxob5fNjtVt8h64f9eBzkX6ULBixKfiF7AKmfIlv ykSkMZQAGr5LkxcRhHqWAMlGeEeDtAiFSx8EmmIVqpmMyeQ2jEGqfCV6SwgpcO/Rvieg UgRz/mSdQ5A8bEVnUh93N2KtewYPXAp37wRh8xr+IaOmx+faY/+se1PlTGVtWhZrzfXe s+9HeNG5VQj459fu14zDOkjiu2jFtY89PrFCNGfspCv1Qwo4b2u6uFteS1Gbaj32CHem NUhw== X-Gm-Message-State: AOAM532LixeTb9dSZrLfC4Um3OIhuE3dBbKfu3zp4bVyHyAZEmAJBGQg lP77TAjbm5esX34+j1RdaSC6PU5WPPJi4qyj X-Google-Smtp-Source: ABdhPJzniNscK/jFGugqtKDPfzbyQWhQcCr0A/P3Hcw2fDy506rquwoaaMQqFDE/wPkZcmKGEVNV7Q== X-Received: by 2002:a1c:6055:: with SMTP id u82mr398835wmb.126.1601563686844; Thu, 01 Oct 2020 07:48:06 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 01/18] target/arm: Replace ARM_FEATURE_PXN with ID_MMFR0.VMSA check Date: Thu, 1 Oct 2020 15:47:42 +0100 Message-Id: <20201001144759.5964-2-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::342; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x342.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" The ARM_FEATURE_PXN bit indicates whether the CPU supports the PXN bit in short-descriptor translation table format descriptors. This is indicated by ID_MMFR0.VMSA being at least 0b0100. Replace the feature bit with an ID register check, in line with our preference for ID register checks over feature bits. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20200910173855.4068-2-peter.maydell@linaro.org --- target/arm/cpu.h | 15 ++++++++++++++- target/arm/cpu.c | 1 - target/arm/helper.c | 5 +++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 6036f61d60b..14a673d8e9d 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1772,6 +1772,15 @@ FIELD(ID_ISAR6, FHM, 8, 4) FIELD(ID_ISAR6, SB, 12, 4) FIELD(ID_ISAR6, SPECRES, 16, 4) =20 +FIELD(ID_MMFR0, VMSA, 0, 4) +FIELD(ID_MMFR0, PMSA, 4, 4) +FIELD(ID_MMFR0, OUTERSHR, 8, 4) +FIELD(ID_MMFR0, SHARELVL, 12, 4) +FIELD(ID_MMFR0, TCM, 16, 4) +FIELD(ID_MMFR0, AUXREG, 20, 4) +FIELD(ID_MMFR0, FCSE, 24, 4) +FIELD(ID_MMFR0, INNERSHR, 28, 4) + FIELD(ID_MMFR3, CMAINTVA, 0, 4) FIELD(ID_MMFR3, CMAINTSW, 4, 4) FIELD(ID_MMFR3, BPMAINT, 8, 4) @@ -1949,7 +1958,6 @@ enum arm_features { ARM_FEATURE_CACHE_DIRTY_REG, /* 1136/1176 cache dirty status register = */ ARM_FEATURE_CACHE_BLOCK_OPS, /* v6 optional cache block operations */ ARM_FEATURE_MPIDR, /* has cp15 MPIDR */ - ARM_FEATURE_PXN, /* has Privileged Execute Never bit */ ARM_FEATURE_LPAE, /* has Large Physical Address Extension */ ARM_FEATURE_V8, ARM_FEATURE_AARCH64, /* supports 64 bit mode */ @@ -3615,6 +3623,11 @@ static inline bool isar_feature_aa32_vminmaxnm(const= ARMISARegisters *id) return FIELD_EX32(id->mvfr2, MVFR2, FPMISC) >=3D 4; } =20 +static inline bool isar_feature_aa32_pxn(const ARMISARegisters *id) +{ + return FIELD_EX32(id->id_mmfr0, ID_MMFR0, VMSA) >=3D 4; +} + static inline bool isar_feature_aa32_pan(const ARMISARegisters *id) { return FIELD_EX32(id->id_mmfr3, ID_MMFR3, PAN) !=3D 0; diff --git a/target/arm/cpu.c b/target/arm/cpu.c index a7643deab41..d13a7b87175 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1588,7 +1588,6 @@ static void arm_cpu_realizefn(DeviceState *dev, Error= **errp) } if (arm_feature(env, ARM_FEATURE_LPAE)) { set_feature(env, ARM_FEATURE_V7MP); - set_feature(env, ARM_FEATURE_PXN); } if (arm_feature(env, ARM_FEATURE_CBAR_RO)) { set_feature(env, ARM_FEATURE_CBAR); diff --git a/target/arm/helper.c b/target/arm/helper.c index 88bd9dd35da..ab6ca23b64d 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -10537,6 +10537,7 @@ static bool get_phys_addr_v6(CPUARMState *env, uint= 32_t address, target_ulong *page_size, ARMMMUFaultInfo *fi) { CPUState *cs =3D env_cpu(env); + ARMCPU *cpu =3D env_archcpu(env); int level =3D 1; uint32_t table; uint32_t desc; @@ -10563,7 +10564,7 @@ static bool get_phys_addr_v6(CPUARMState *env, uint= 32_t address, goto do_fault; } type =3D (desc & 3); - if (type =3D=3D 0 || (type =3D=3D 3 && !arm_feature(env, ARM_FEATURE_P= XN))) { + if (type =3D=3D 0 || (type =3D=3D 3 && !cpu_isar_feature(aa32_pxn, cpu= ))) { /* Section translation fault, or attempt to use the encoding * which is Reserved on implementations without PXN. */ @@ -10605,7 +10606,7 @@ static bool get_phys_addr_v6(CPUARMState *env, uint= 32_t address, pxn =3D desc & 1; ns =3D extract32(desc, 19, 1); } else { - if (arm_feature(env, ARM_FEATURE_PXN)) { + if (cpu_isar_feature(aa32_pxn, cpu)) { pxn =3D (desc >> 2) & 1; } ns =3D extract32(desc, 3, 1); --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601563924; cv=none; d=zohomail.com; s=zohoarc; b=fZp64hPljvoAbHnJGGFAoWAvZLjMNe3RkkZp+E/6S5Tmp/POZlmhtF08V2dk0Phe9+J0L0OlK5C3Vz2zSzj+STN5tAYWXlLKc+Pk/OcqNKe/CtVT0S0Bz7l5662N23E6qxXJdFgGpfgWrdA5GqsERmFFS1udzKfoO5BfmSvwNi0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601563924; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=GyHTh9+WMiVIGUyIxg6PsRfnKOp8OFFMjhmpiFXoYd4=; b=ix4voa30TY/aNi14DT01/q4cngnWAAl/BrA7YdVTDgFVTnSFar+tb5+T1WH/FgEm7rIcnpegfbgOOt9U3mSUshYCeDMQDI4T3qKMdgYIPegMtTxc671qwypwORe42bBmeCeJOS7eXHV58eHBPgmbTYRrB9aUphk5d1xsvkfZio8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601563924785827.4245468600242; Thu, 1 Oct 2020 07:52:04 -0700 (PDT) Received: from localhost ([::1]:38700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNzwB-0000qN-FR for importer@patchew.org; Thu, 01 Oct 2020 10:52:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42962) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsS-0004mO-Ng for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:12 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:45145) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsQ-0002wk-AR for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:12 -0400 Received: by mail-wr1-x444.google.com with SMTP id x14so6104990wrl.12 for ; Thu, 01 Oct 2020 07:48:09 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=GyHTh9+WMiVIGUyIxg6PsRfnKOp8OFFMjhmpiFXoYd4=; b=Kpm9UTkf5xRdNXod0NbE6RC9/wKEKrEzBw+0qZkcjQqlBMT791wgIvcQzzODS2aFOC IUA3ASyegfrFh7hKSq0P+Dph9FzBUn/y0BQP2zj620qGvG+RsB8Ucgap/s4GQy94KSIr qSPYXY5ntC/8GX7LW4QGn0Cp7YweWzDCDClGUb0+Y0k0TKX2hEe+6Hck/ItatVS7gvAI Osg5qEzqVB8RNyKZ0ftvPcnl5p7gV29S2VFDxJ41pB1VpYZJgrmWD703vKw2H9khUPqZ IQ6dGYswxgRKJwEFBhB6rlo7HFzrrpim6GfplykQ7KN30xBbV0VcW6jClOmezGS4mTQm Xdew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GyHTh9+WMiVIGUyIxg6PsRfnKOp8OFFMjhmpiFXoYd4=; b=ADG1KH9AsoTYd4B5xfom3ph5hhkmfgInWKo+t99JzbfdnzgLfKDmNmX9ZalL/fE9IJ PIMkGNiEOnpm8q3JTyz8YM8oNBn1m9fph90+LZMbKr+Twbq3IpRmp8THsvlzM46ULsCt tmtHmi3fjHV4RUxycq3796eMn2dw3KgmlVDHhj3bBpZHNF269zU4ZSgA55ecXv/T+sal yQPT3EzSZZbUdh9QBqEx7VlEI7FTktNtGR1Qa+JY3Z58ZhYnmfZ2NUkcedWT1abK5gJF sfPi7A3NXzc8lH+/wv0T9z3Vxog68h+SSHGUFW+rMa+AEyfLEq2PWQBMRCCOpNxw9Xsg DEEA== X-Gm-Message-State: AOAM532tVDg1c6mzYPN/weBobKJSBZKQmPxvoVkdU0eVdh2+THxe3wcb IO9CDp7CUNyDOweYEpTroGB+kNRI9R9o3BLW X-Google-Smtp-Source: ABdhPJxKT43eUg7JIVKETSHRZp7YihjnUg8ahx3TuCdZpldgEbkIa3Y65XY3y4UT/+rmHm+Bo+K8DQ== X-Received: by 2002:a5d:51ce:: with SMTP id n14mr9317955wrv.8.1601563688450; Thu, 01 Oct 2020 07:48:08 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 02/18] target/arm: Move id_pfr0, id_pfr1 into ARMISARegisters Date: Thu, 1 Oct 2020 15:47:43 +0100 Message-Id: <20201001144759.5964-3-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x444.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Move the id_pfr0 and id_pfr1 fields into the ARMISARegisters sub-struct. We're going to want id_pfr1 for an isar_features check, and moving both at the same time avoids an odd inconsistency. Changes other than the ones to cpu.h and kvm64.c made automatically with: perl -p -i -e 's/cpu->id_pfr/cpu->isar.id_pfr/' target/arm/*.c hw/intc/ar= mv7m_nvic.c Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20200910173855.4068-3-peter.maydell@linaro.org --- target/arm/cpu.h | 4 ++-- hw/intc/armv7m_nvic.c | 4 ++-- target/arm/cpu.c | 20 ++++++++++---------- target/arm/cpu64.c | 12 ++++++------ target/arm/cpu_tcg.c | 36 ++++++++++++++++++------------------ target/arm/helper.c | 4 ++-- target/arm/kvm64.c | 4 ++++ 7 files changed, 44 insertions(+), 40 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index 14a673d8e9d..a36edd2dc3d 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -906,6 +906,8 @@ struct ARMCPU { uint32_t id_mmfr2; uint32_t id_mmfr3; uint32_t id_mmfr4; + uint32_t id_pfr0; + uint32_t id_pfr1; uint32_t mvfr0; uint32_t mvfr1; uint32_t mvfr2; @@ -926,8 +928,6 @@ struct ARMCPU { uint32_t reset_fpsid; uint32_t ctr; uint32_t reset_sctlr; - uint32_t id_pfr0; - uint32_t id_pfr1; uint64_t pmceid0; uint64_t pmceid1; uint32_t id_afr0; diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c index 7876c1ba07e..a28be49c1e9 100644 --- a/hw/intc/armv7m_nvic.c +++ b/hw/intc/armv7m_nvic.c @@ -1238,9 +1238,9 @@ static uint32_t nvic_readl(NVICState *s, uint32_t off= set, MemTxAttrs attrs) "Aux Fault status registers unimplemented\n"); return 0; case 0xd40: /* PFR0. */ - return cpu->id_pfr0; + return cpu->isar.id_pfr0; case 0xd44: /* PFR1. */ - return cpu->id_pfr1; + return cpu->isar.id_pfr1; case 0xd48: /* DFR0. */ return cpu->isar.id_dfr0; case 0xd4c: /* AFR0. */ diff --git a/target/arm/cpu.c b/target/arm/cpu.c index d13a7b87175..858c5a4bcb3 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -1659,7 +1659,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error= **errp) /* Disable the security extension feature bits in the processor fe= ature * registers as well. These are id_pfr1[7:4] and id_aa64pfr0[15:12= ]. */ - cpu->id_pfr1 &=3D ~0xf0; + cpu->isar.id_pfr1 &=3D ~0xf0; cpu->isar.id_aa64pfr0 &=3D ~0xf000; } =20 @@ -1696,7 +1696,7 @@ static void arm_cpu_realizefn(DeviceState *dev, Error= **errp) * id_aa64pfr0_el1[11:8]. */ cpu->isar.id_aa64pfr0 &=3D ~0xf00; - cpu->id_pfr1 &=3D ~0xf000; + cpu->isar.id_pfr1 &=3D ~0xf000; } =20 #ifndef CONFIG_USER_ONLY @@ -1894,8 +1894,8 @@ static void cortex_a8_initfn(Object *obj) cpu->isar.mvfr1 =3D 0x00011111; cpu->ctr =3D 0x82048004; cpu->reset_sctlr =3D 0x00c50078; - cpu->id_pfr0 =3D 0x1031; - cpu->id_pfr1 =3D 0x11; + cpu->isar.id_pfr0 =3D 0x1031; + cpu->isar.id_pfr1 =3D 0x11; cpu->isar.id_dfr0 =3D 0x400; cpu->id_afr0 =3D 0; cpu->isar.id_mmfr0 =3D 0x31100003; @@ -1966,8 +1966,8 @@ static void cortex_a9_initfn(Object *obj) cpu->isar.mvfr1 =3D 0x01111111; cpu->ctr =3D 0x80038003; cpu->reset_sctlr =3D 0x00c50078; - cpu->id_pfr0 =3D 0x1031; - cpu->id_pfr1 =3D 0x11; + cpu->isar.id_pfr0 =3D 0x1031; + cpu->isar.id_pfr1 =3D 0x11; cpu->isar.id_dfr0 =3D 0x000; cpu->id_afr0 =3D 0; cpu->isar.id_mmfr0 =3D 0x00100103; @@ -2030,8 +2030,8 @@ static void cortex_a7_initfn(Object *obj) cpu->isar.mvfr1 =3D 0x11111111; cpu->ctr =3D 0x84448003; cpu->reset_sctlr =3D 0x00c50078; - cpu->id_pfr0 =3D 0x00001131; - cpu->id_pfr1 =3D 0x00011011; + cpu->isar.id_pfr0 =3D 0x00001131; + cpu->isar.id_pfr1 =3D 0x00011011; cpu->isar.id_dfr0 =3D 0x02010555; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x10101105; @@ -2075,8 +2075,8 @@ static void cortex_a15_initfn(Object *obj) cpu->isar.mvfr1 =3D 0x11111111; cpu->ctr =3D 0x8444c004; cpu->reset_sctlr =3D 0x00c50078; - cpu->id_pfr0 =3D 0x00001131; - cpu->id_pfr1 =3D 0x00011011; + cpu->isar.id_pfr0 =3D 0x00001131; + cpu->isar.id_pfr1 =3D 0x00011011; cpu->isar.id_dfr0 =3D 0x02010555; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x10201105; diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 3c2b3d95993..e00271b932f 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -108,8 +108,8 @@ static void aarch64_a57_initfn(Object *obj) cpu->isar.mvfr2 =3D 0x00000043; cpu->ctr =3D 0x8444c004; cpu->reset_sctlr =3D 0x00c50838; - cpu->id_pfr0 =3D 0x00000131; - cpu->id_pfr1 =3D 0x00011011; + cpu->isar.id_pfr0 =3D 0x00000131; + cpu->isar.id_pfr1 =3D 0x00011011; cpu->isar.id_dfr0 =3D 0x03010066; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x10101105; @@ -161,8 +161,8 @@ static void aarch64_a53_initfn(Object *obj) cpu->isar.mvfr2 =3D 0x00000043; cpu->ctr =3D 0x84448004; /* L1Ip =3D VIPT */ cpu->reset_sctlr =3D 0x00c50838; - cpu->id_pfr0 =3D 0x00000131; - cpu->id_pfr1 =3D 0x00011011; + cpu->isar.id_pfr0 =3D 0x00000131; + cpu->isar.id_pfr1 =3D 0x00011011; cpu->isar.id_dfr0 =3D 0x03010066; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x10101105; @@ -213,8 +213,8 @@ static void aarch64_a72_initfn(Object *obj) cpu->isar.mvfr2 =3D 0x00000043; cpu->ctr =3D 0x8444c004; cpu->reset_sctlr =3D 0x00c50838; - cpu->id_pfr0 =3D 0x00000131; - cpu->id_pfr1 =3D 0x00011011; + cpu->isar.id_pfr0 =3D 0x00000131; + cpu->isar.id_pfr1 =3D 0x00011011; cpu->isar.id_dfr0 =3D 0x03010066; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x10201105; diff --git a/target/arm/cpu_tcg.c b/target/arm/cpu_tcg.c index 00b0e08f33e..a9b7cf52550 100644 --- a/target/arm/cpu_tcg.c +++ b/target/arm/cpu_tcg.c @@ -142,8 +142,8 @@ static void arm1136_r2_initfn(Object *obj) cpu->isar.mvfr1 =3D 0x00000000; cpu->ctr =3D 0x1dd20d2; cpu->reset_sctlr =3D 0x00050078; - cpu->id_pfr0 =3D 0x111; - cpu->id_pfr1 =3D 0x1; + cpu->isar.id_pfr0 =3D 0x111; + cpu->isar.id_pfr1 =3D 0x1; cpu->isar.id_dfr0 =3D 0x2; cpu->id_afr0 =3D 0x3; cpu->isar.id_mmfr0 =3D 0x01130003; @@ -173,8 +173,8 @@ static void arm1136_initfn(Object *obj) cpu->isar.mvfr1 =3D 0x00000000; cpu->ctr =3D 0x1dd20d2; cpu->reset_sctlr =3D 0x00050078; - cpu->id_pfr0 =3D 0x111; - cpu->id_pfr1 =3D 0x1; + cpu->isar.id_pfr0 =3D 0x111; + cpu->isar.id_pfr1 =3D 0x1; cpu->isar.id_dfr0 =3D 0x2; cpu->id_afr0 =3D 0x3; cpu->isar.id_mmfr0 =3D 0x01130003; @@ -205,8 +205,8 @@ static void arm1176_initfn(Object *obj) cpu->isar.mvfr1 =3D 0x00000000; cpu->ctr =3D 0x1dd20d2; cpu->reset_sctlr =3D 0x00050078; - cpu->id_pfr0 =3D 0x111; - cpu->id_pfr1 =3D 0x11; + cpu->isar.id_pfr0 =3D 0x111; + cpu->isar.id_pfr1 =3D 0x11; cpu->isar.id_dfr0 =3D 0x33; cpu->id_afr0 =3D 0; cpu->isar.id_mmfr0 =3D 0x01130003; @@ -234,8 +234,8 @@ static void arm11mpcore_initfn(Object *obj) cpu->isar.mvfr0 =3D 0x11111111; cpu->isar.mvfr1 =3D 0x00000000; cpu->ctr =3D 0x1d192992; /* 32K icache 32K dcache */ - cpu->id_pfr0 =3D 0x111; - cpu->id_pfr1 =3D 0x1; + cpu->isar.id_pfr0 =3D 0x111; + cpu->isar.id_pfr1 =3D 0x1; cpu->isar.id_dfr0 =3D 0; cpu->id_afr0 =3D 0x2; cpu->isar.id_mmfr0 =3D 0x01100103; @@ -266,8 +266,8 @@ static void cortex_m3_initfn(Object *obj) set_feature(&cpu->env, ARM_FEATURE_M_MAIN); cpu->midr =3D 0x410fc231; cpu->pmsav7_dregion =3D 8; - cpu->id_pfr0 =3D 0x00000030; - cpu->id_pfr1 =3D 0x00000200; + cpu->isar.id_pfr0 =3D 0x00000030; + cpu->isar.id_pfr1 =3D 0x00000200; cpu->isar.id_dfr0 =3D 0x00100000; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x00000030; @@ -296,8 +296,8 @@ static void cortex_m4_initfn(Object *obj) cpu->isar.mvfr0 =3D 0x10110021; cpu->isar.mvfr1 =3D 0x11000011; cpu->isar.mvfr2 =3D 0x00000000; - cpu->id_pfr0 =3D 0x00000030; - cpu->id_pfr1 =3D 0x00000200; + cpu->isar.id_pfr0 =3D 0x00000030; + cpu->isar.id_pfr1 =3D 0x00000200; cpu->isar.id_dfr0 =3D 0x00100000; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x00000030; @@ -326,8 +326,8 @@ static void cortex_m7_initfn(Object *obj) cpu->isar.mvfr0 =3D 0x10110221; cpu->isar.mvfr1 =3D 0x12000011; cpu->isar.mvfr2 =3D 0x00000040; - cpu->id_pfr0 =3D 0x00000030; - cpu->id_pfr1 =3D 0x00000200; + cpu->isar.id_pfr0 =3D 0x00000030; + cpu->isar.id_pfr1 =3D 0x00000200; cpu->isar.id_dfr0 =3D 0x00100000; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x00100030; @@ -358,8 +358,8 @@ static void cortex_m33_initfn(Object *obj) cpu->isar.mvfr0 =3D 0x10110021; cpu->isar.mvfr1 =3D 0x11000011; cpu->isar.mvfr2 =3D 0x00000040; - cpu->id_pfr0 =3D 0x00000030; - cpu->id_pfr1 =3D 0x00000210; + cpu->isar.id_pfr0 =3D 0x00000030; + cpu->isar.id_pfr1 =3D 0x00000210; cpu->isar.id_dfr0 =3D 0x00200000; cpu->id_afr0 =3D 0x00000000; cpu->isar.id_mmfr0 =3D 0x00101F40; @@ -397,8 +397,8 @@ static void cortex_r5_initfn(Object *obj) set_feature(&cpu->env, ARM_FEATURE_PMSA); set_feature(&cpu->env, ARM_FEATURE_PMU); cpu->midr =3D 0x411fc153; /* r1p3 */ - cpu->id_pfr0 =3D 0x0131; - cpu->id_pfr1 =3D 0x001; + cpu->isar.id_pfr0 =3D 0x0131; + cpu->isar.id_pfr1 =3D 0x001; cpu->isar.id_dfr0 =3D 0x010400; cpu->id_afr0 =3D 0x0; cpu->isar.id_mmfr0 =3D 0x0210030; diff --git a/target/arm/helper.c b/target/arm/helper.c index ab6ca23b64d..b394db394ae 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -6625,7 +6625,7 @@ static void define_pmu_regs(ARMCPU *cpu) static uint64_t id_pfr1_read(CPUARMState *env, const ARMCPRegInfo *ri) { ARMCPU *cpu =3D env_archcpu(env); - uint64_t pfr1 =3D cpu->id_pfr1; + uint64_t pfr1 =3D cpu->isar.id_pfr1; =20 if (env->gicv3state) { pfr1 |=3D 1 << 28; @@ -7258,7 +7258,7 @@ void register_cp_regs_for_features(ARMCPU *cpu) .opc0 =3D 3, .opc1 =3D 0, .crn =3D 0, .crm =3D 1, .opc2 =3D = 0, .access =3D PL1_R, .type =3D ARM_CP_CONST, .accessfn =3D access_aa32_tid3, - .resetvalue =3D cpu->id_pfr0 }, + .resetvalue =3D cpu->isar.id_pfr0 }, /* ID_PFR1 is not a plain ARM_CP_CONST because we don't know * the value of the GIC field until after we define these regs. */ diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c index 987b35e33fe..fae07c3f043 100644 --- a/target/arm/kvm64.c +++ b/target/arm/kvm64.c @@ -555,6 +555,10 @@ bool kvm_arm_get_host_cpu_features(ARMHostCPUFeatures = *ahcf) * than skipping the reads and leaving 0, as we must avoid * considering the values in every case. */ + err |=3D read_sys_reg32(fdarray[2], &ahcf->isar.id_pfr0, + ARM64_SYS_REG(3, 0, 0, 1, 0)); + err |=3D read_sys_reg32(fdarray[2], &ahcf->isar.id_pfr1, + ARM64_SYS_REG(3, 0, 0, 1, 1)); err |=3D read_sys_reg32(fdarray[2], &ahcf->isar.id_dfr0, ARM64_SYS_REG(3, 0, 0, 1, 2)); err |=3D read_sys_reg32(fdarray[2], &ahcf->isar.id_mmfr0, --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601568667; cv=none; d=zohomail.com; s=zohoarc; b=VGAM4bBlhoucMu3MmHOz1QjDgJngrk85wfceO4ug3/lUGl902Yo/ZcFFkJtoVpkuaRQ1T6FvZLiNwDmmEz5GJoPQjf1uNPOdR9rfApk5eRrmGuhnwtEHwc6ypc2xGdr1hWnejPbJ5eCj44+UVT415H3Q/YVe4dbc4/9x++7EHMY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601568667; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7IRmJR4QLq1yyKkeN0MLbFHRplQff2bZm6Ce52F5OFc=; b=T9udOLNJstKP4QvOm3YNym/IQnAHAjpDeju+eDiNqGkyTLGlcAq5fBNN1qKfWTkhL8SFJBWiAdceRX9s7XtCIrxFM/gEz/+q1kfL1mX9uVFHeadCFkCHN7+9cz+8bT3JrlPPMVqUyTiQxc77X3PduBCNTZE5k8TOhXzNkkMUvmw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601568667674791.2515101720807; Thu, 1 Oct 2020 09:11:07 -0700 (PDT) Received: from localhost ([::1]:42218 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO05u-0005h8-9T for importer@patchew.org; Thu, 01 Oct 2020 11:02:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42974) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsT-0004oR-MH for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:13 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]:39417) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsR-0002x4-Nv for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:13 -0400 Received: by mail-wr1-x432.google.com with SMTP id k10so6120356wru.6 for ; Thu, 01 Oct 2020 07:48:11 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=7IRmJR4QLq1yyKkeN0MLbFHRplQff2bZm6Ce52F5OFc=; b=K0wFdEMAOc+stAy/xWe+yZhe/qeJrWcAI6FXxTve7h6UUNibEs0StQhdGiheTC6xLt qSW9VrMhNbanDtzH1hbrKnA7a+GUSoPLbppFphN/2GcME/OlXO7PJwa0y8X2/6gSup6b nM/3Kv4jofGf/boWd5IKEfNANHuWlwE7PhFL57F/wzC1QJJVAfJMIxj3FYuGmXu63tBo 5efwdfvpqD/N4+fli7evo0loUFgW6aRg2+JBuO7kgnWFNdtjwWC1QRqgvBTnI4iLnHgt GRilFtx1vPk5IX66tkQ0Jd8+XnylOzPcHXGsP/Rf2CkrB+lv86ptiHAQQlGlnl0tZcKm 8kKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7IRmJR4QLq1yyKkeN0MLbFHRplQff2bZm6Ce52F5OFc=; b=dcpFULG6TGtsl5TQKC/JNZQ7BOpEJ7HGnYZL+cwJX1LyXDPztLhVt5tK4ct00V9N6S Rx31g2QMpugqEO8FelPpadfyvGNT7bnzYHAiW4ZnecwVkzGhCHJQmA1E7x9KYBXz+uxu VjrbulnrkFkpMYhjjeRzSbH1mUT4IDzCoZjyZCaqx8ZLb+gm9h/MmzMw8HO2fMqBuFLN usoY3VrTzprNA/XvaU3LDqrE8Fn0RXA7G+QfYz5J0kmeUFVxPpmEOwGSyKH6T4vz7S2W 70af1bBdOwB1sY3rF6ExFkJHo+WhFvrp3ECFR9rOn1K9AbwxBWoEfO7+UBBFzZ/X2SfO OCeg== X-Gm-Message-State: AOAM531ozUqWacADIv2/+UlpocXfriiPRGJyweRNrXPdav/hUQLjD+69 QUysO3CE+RDwUUAPKdXTvuaIqsizXcYEeue/ X-Google-Smtp-Source: ABdhPJy2D0tCtalSgxU8XAvJeJP54toi44akejCLNrejYTQqd+G/yPOOEpoJ4QYu2PoVx5OLqIMIeg== X-Received: by 2002:a5d:6551:: with SMTP id z17mr9450772wrv.200.1601563689663; Thu, 01 Oct 2020 07:48:09 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 03/18] hw/intc/armv7m_nvic: Only show ID register values for Main Extension CPUs Date: Thu, 1 Oct 2020 15:47:44 +0100 Message-Id: <20201001144759.5964-4-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x432.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" M-profile CPUs only implement the ID registers as guest-visible if the CPU implements the Main Extension (all our current CPUs except the Cortex-M0 do). Currently we handle this by having the Cortex-M0 leave the ID register values in the ARMCPU struct as zero, but this conflicts with our design decision to make QEMU behaviour be keyed off ID register fields wherever possible. Explicitly code the ID registers in the NVIC to return 0 if the Main Extension is not implemented, so we can make the M0 model set the ARMCPU struct fields to obtain the correct behaviour without those values becoming guest-visible. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20200910173855.4068-4-peter.maydell@linaro.org --- hw/intc/armv7m_nvic.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/hw/intc/armv7m_nvic.c b/hw/intc/armv7m_nvic.c index a28be49c1e9..42b1ad59e65 100644 --- a/hw/intc/armv7m_nvic.c +++ b/hw/intc/armv7m_nvic.c @@ -1238,32 +1238,74 @@ static uint32_t nvic_readl(NVICState *s, uint32_t o= ffset, MemTxAttrs attrs) "Aux Fault status registers unimplemented\n"); return 0; case 0xd40: /* PFR0. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_pfr0; case 0xd44: /* PFR1. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_pfr1; case 0xd48: /* DFR0. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_dfr0; case 0xd4c: /* AFR0. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->id_afr0; case 0xd50: /* MMFR0. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_mmfr0; case 0xd54: /* MMFR1. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_mmfr1; case 0xd58: /* MMFR2. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_mmfr2; case 0xd5c: /* MMFR3. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_mmfr3; case 0xd60: /* ISAR0. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_isar0; case 0xd64: /* ISAR1. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_isar1; case 0xd68: /* ISAR2. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_isar2; case 0xd6c: /* ISAR3. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_isar3; case 0xd70: /* ISAR4. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_isar4; case 0xd74: /* ISAR5. */ + if (!arm_feature(&cpu->env, ARM_FEATURE_M_MAIN)) { + goto bad_offset; + } return cpu->isar.id_isar5; case 0xd78: /* CLIDR */ return cpu->clidr; --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601567257; cv=none; d=zohomail.com; s=zohoarc; b=mW8jv2eW5IhAsj+DMkWgcqiQIl0wVqxdWWCrRgsYsSK2BFZmtRaP3GPH1F7YruRI7lAIoFnT/cVxAmCniHkqJTcYCxVBA/bFytjgcpVu+WezArRtMCbUFi/QxRjVcbZtnskOnpzGPYIUOGpOvUS8rqsO9oz76FrKUg37KFwus4k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601567257; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9fs8CDgZB0euLlKk3g1JwM1NPKjUQ8Bto5n+KMpexUU=; b=kaCoyXwqeBLpnrEW2AZ1Htb8izl6jYSfTdZARlYQZjZ4RP2M9mgSx7TE55QP5PXjUVmICBw/j4545dYdB1dWtkY3uHbJm5KBnC9HMtXk/0WsyVMUSssL/Ea4YRdnV5eIAml4ggq96PHf0sAS+3zNy52gaV3P62LLRwRcYEofjJY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601567257205228.89332734043137; Thu, 1 Oct 2020 08:47:37 -0700 (PDT) Received: from localhost ([::1]:47212 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNzyn-0004SQ-Jo for importer@patchew.org; Thu, 01 Oct 2020 10:54:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:42984) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsU-0004q9-9w for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:14 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:36219) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsS-0002xM-Gm for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:13 -0400 Received: by mail-wm1-x343.google.com with SMTP id e2so3432441wme.1 for ; Thu, 01 Oct 2020 07:48:12 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.09 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=9fs8CDgZB0euLlKk3g1JwM1NPKjUQ8Bto5n+KMpexUU=; b=n0Ayx3euAVxMQQfkyRHMVzOFpjnpFqvX4hb8t343zEar4Tn7MXmrHiP7OKzTsgJLX8 kajY2DmFFNsBp9UcK69192o5EvYe10MqOge0UMPvx0XZd3Hr/Sa4GAcMZsjmV014PIZM QXxfErvDl5vHaA7cpgtLvnBp+vQLLRbsxjJot6iSpnmipdGKSKgB6WHRsMY1PegjlkTx mITR5DxzsCE8dn4wNsL4Y2vbo3FaolcSrfCB6qTgDJv1jN+JiUJDkYYXuN+w4wxoJfHc BividLLDw7z2G34Fem7+mHEUd32zuORnXz8gp761FSWETYIybZp06sPAgAJGV3Rnu8Ej JDeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9fs8CDgZB0euLlKk3g1JwM1NPKjUQ8Bto5n+KMpexUU=; b=gbrpFQS6r2rCyS+x1ksw3vFfwDdcu/pOuSKX9G/LThj9k+lICNkVWsQdl6PQLdWGf3 WJWU1a5I+CnCQj0NQYixJ1ROp6NH1n4Q0LBFTxEV5c8zrlGMec8uKCaBrnx/ml830tbG GUy+PVbNoQPGhB37XVSzGanA2ibgiovrJ9jDGV17Gdu3zDCEbDlDetxRHiAipZskFoXJ eS2g7nkcCXhmivz6BApF+mzszs6zERGhpNLSXiLBui6hN5+NYc5NeSn8lvH/Q6urt4yX WYCBQu8DzbzgTcVRr7o15KCMVCJM2oqg8Z2+wJitq5YFlO4VYKDiTyS/Hq6LcqbxGBg1 RaAg== X-Gm-Message-State: AOAM532qTHwH4GGux8jJrZgZ+YD+Ooj1gThUVbJiqRbc3knyn6nfeQsR YqiTpeD/oXHNwCTSM2SH1Pixu9Gc7Ei+Joza X-Google-Smtp-Source: ABdhPJwsdUuqmOudMHbFjC/TmA7m9hAFqSoOA/ig/MQ8OqYvhic2XEYSeWm1OqquvVMGA+FySjQIUA== X-Received: by 2002:a1c:2403:: with SMTP id k3mr328238wmk.153.1601563690826; Thu, 01 Oct 2020 07:48:10 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 04/18] target/arm: Add ID register values for Cortex-M0 Date: Thu, 1 Oct 2020 15:47:45 +0100 Message-Id: <20201001144759.5964-5-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::343; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x343.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Give the Cortex-M0 ID register values corresponding to its implemented behaviour. These will not be guest-visible but will be used to govern the behaviour of QEMU's emulation. We use the same values that the Cortex-M3 does. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20200910173855.4068-5-peter.maydell@linaro.org --- target/arm/cpu_tcg.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/target/arm/cpu_tcg.c b/target/arm/cpu_tcg.c index a9b7cf52550..0013e25412f 100644 --- a/target/arm/cpu_tcg.c +++ b/target/arm/cpu_tcg.c @@ -256,6 +256,30 @@ static void cortex_m0_initfn(Object *obj) set_feature(&cpu->env, ARM_FEATURE_M); =20 cpu->midr =3D 0x410cc200; + + /* + * These ID register values are not guest visible, because + * we do not implement the Main Extension. They must be set + * to values corresponding to the Cortex-M0's implemented + * features, because QEMU generally controls its emulation + * by looking at ID register fields. We use the same values as + * for the M3. + */ + cpu->isar.id_pfr0 =3D 0x00000030; + cpu->isar.id_pfr1 =3D 0x00000200; + cpu->isar.id_dfr0 =3D 0x00100000; + cpu->id_afr0 =3D 0x00000000; + cpu->isar.id_mmfr0 =3D 0x00000030; + cpu->isar.id_mmfr1 =3D 0x00000000; + cpu->isar.id_mmfr2 =3D 0x00000000; + cpu->isar.id_mmfr3 =3D 0x00000000; + cpu->isar.id_isar0 =3D 0x01141110; + cpu->isar.id_isar1 =3D 0x02111000; + cpu->isar.id_isar2 =3D 0x21112231; + cpu->isar.id_isar3 =3D 0x01111110; + cpu->isar.id_isar4 =3D 0x01310102; + cpu->isar.id_isar5 =3D 0x00000000; + cpu->isar.id_isar6 =3D 0x00000000; } =20 static void cortex_m3_initfn(Object *obj) --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601563926; cv=none; d=zohomail.com; s=zohoarc; b=IAedJknZRNkkDRufQ+ZWGNopHKirAyZQcHiBMhaopPB9geBwTnt2sYwmsEu8NQbwt0iuUw2jA3dDcgi3Ou6jr9phwWl4/dwnJYkj2gJcUmgtpGU29hEDlPHnoq0rElas+rg6W8BDh03AoZSP+POTtoen2ZzEX6j+9r7vPg52Asg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601563926; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=hTO8btZSlaFpXoB+S1LGr70eAkhckSw0xm/svAQpL/0=; b=TmSguT0067ZRit/Zfzv8fQlRh8+7QLWT7O1kLYyq9tFPFLjNN0McJ+13KYKF0DbpOlk/x6gTXpExrIi0CG7KCJLEAzfdeDqrzVFms2HgRG50nVTsaCZ/EqAdiU4QPkVytSBGYpnh61YnomUV6CIozW4p2KlIbC40ZmzisNpm5WY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160156392619987.94267243292427; Thu, 1 Oct 2020 07:52:06 -0700 (PDT) Received: from localhost ([::1]:38818 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNzwC-0000uD-QS for importer@patchew.org; Thu, 01 Oct 2020 10:52:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43004) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsV-0004tC-JC for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:15 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]:38541) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsT-0002xW-KV for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:15 -0400 Received: by mail-wm1-x32e.google.com with SMTP id v12so3424182wmh.3 for ; Thu, 01 Oct 2020 07:48:13 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=hTO8btZSlaFpXoB+S1LGr70eAkhckSw0xm/svAQpL/0=; b=CpPoE5TKyiVyHonFVNtrXEsnMxnRJgrT/fEGqJwWCrLpMMhflBz7s3jerasJCuijiQ 8TSMO7dRoMtxjID5HAzD4xBj765lN4uTWRKaGFkVANEjWUmiSMIBD1hDaP0D5NshKaL4 BqXb6TP4R+w8D8EXjsI2BKSpHFJX5cDT4mD7s/2d2zwztefF5zgT7KP60y5MttOt+jiD F6VvTsTTqYPLuM+f5XEjncVcNh7EHDfGpHeZTbd1emjy1aTtiMxSkRCFdDb42vn2Lu/y 4D6x4GGhSr478LkjMs1Un18gBe6TmZ/DtLPjz6lutV0d/HiC4F/6teZa4UufALr2o/Zh isTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hTO8btZSlaFpXoB+S1LGr70eAkhckSw0xm/svAQpL/0=; b=m1hCe44YTKlCOQIckyKwY7eoycPSzCazeZxptYr1NTgwkFO7BfNhWKPRxqcEau4csb 1Zo95J5logpBj7nikYN5sNsGBxebLHATgkh7yytzD5sB9L1Yb0iC2Mu9eBu8jr6kqMgA GDKKpMvAbN/frRO2OzHWeBBjo1M3Me5RW1aF3shBoksEMxoECdX3ydp4OihwYBNmK4lr 40Sla2EqR4J+O/lEv1+V7udaVHhRLH4IKnESZ68La7H7FNecnVED9aoItToaFqImGh8k 4pSpuMbaFJ7KQPoleWuNY376LsStDZhMbokcFO3/Tg5mTzKD3iairyAMZUNkMKunw14/ tVdg== X-Gm-Message-State: AOAM530jT7vesJzJSKN0QvbPsh0ZVkUdI2reXnoPh6P7c/fac5AeBRYJ USg/Vz+rBWREOYca1I08Kc8RZEZoUiDI9dBw X-Google-Smtp-Source: ABdhPJxSEw7uHN4iCaReYC20971KvBjpAp/w4QH2zCJ0j7B0lo5lve1PtkvN+80xwTESdeeeSWrmDA== X-Received: by 2002:a05:600c:2103:: with SMTP id u3mr368022wml.132.1601563691871; Thu, 01 Oct 2020 07:48:11 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 05/18] target/arm: Make isar_feature_aa32_fp16_arith() handle M-profile Date: Thu, 1 Oct 2020 15:47:46 +0100 Message-Id: <20201001144759.5964-6-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x32e.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" The M-profile definition of the MVFR1 ID register differs slightly from the A-profile one, and in particular the check for "does the CPU support fp16 arithmetic" is not the same. We don't currently implement any M-profile CPUs with fp16 arithmetic, so this is not yet a visible bug, but correcting the logic now disarms this beartrap for when we eventually do. Signed-off-by: Peter Maydell Reviewed-by: Richard Henderson Message-id: 20200910173855.4068-6-peter.maydell@linaro.org --- target/arm/cpu.h | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/target/arm/cpu.h b/target/arm/cpu.h index a36edd2dc3d..e4549a8cc0c 100644 --- a/target/arm/cpu.h +++ b/target/arm/cpu.h @@ -1799,6 +1799,15 @@ FIELD(ID_MMFR4, LSM, 20, 4) FIELD(ID_MMFR4, CCIDX, 24, 4) FIELD(ID_MMFR4, EVT, 28, 4) =20 +FIELD(ID_PFR1, PROGMOD, 0, 4) +FIELD(ID_PFR1, SECURITY, 4, 4) +FIELD(ID_PFR1, MPROGMOD, 8, 4) +FIELD(ID_PFR1, VIRTUALIZATION, 12, 4) +FIELD(ID_PFR1, GENTIMER, 16, 4) +FIELD(ID_PFR1, SEC_FRAC, 20, 4) +FIELD(ID_PFR1, VIRT_FRAC, 24, 4) +FIELD(ID_PFR1, GIC, 28, 4) + FIELD(ID_AA64ISAR0, AES, 4, 4) FIELD(ID_AA64ISAR0, SHA1, 8, 4) FIELD(ID_AA64ISAR0, SHA2, 12, 4) @@ -1916,10 +1925,12 @@ FIELD(MVFR0, FPROUND, 28, 4) =20 FIELD(MVFR1, FPFTZ, 0, 4) FIELD(MVFR1, FPDNAN, 4, 4) -FIELD(MVFR1, SIMDLS, 8, 4) -FIELD(MVFR1, SIMDINT, 12, 4) -FIELD(MVFR1, SIMDSP, 16, 4) -FIELD(MVFR1, SIMDHP, 20, 4) +FIELD(MVFR1, SIMDLS, 8, 4) /* A-profile only */ +FIELD(MVFR1, SIMDINT, 12, 4) /* A-profile only */ +FIELD(MVFR1, SIMDSP, 16, 4) /* A-profile only */ +FIELD(MVFR1, SIMDHP, 20, 4) /* A-profile only */ +FIELD(MVFR1, MVE, 8, 4) /* M-profile only */ +FIELD(MVFR1, FP16, 20, 4) /* M-profile only */ FIELD(MVFR1, FPHP, 24, 4) FIELD(MVFR1, SIMDFMAC, 28, 4) =20 @@ -3522,9 +3533,19 @@ static inline bool isar_feature_aa32_predinv(const A= RMISARegisters *id) return FIELD_EX32(id->id_isar6, ID_ISAR6, SPECRES) !=3D 0; } =20 +static inline bool isar_feature_aa32_mprofile(const ARMISARegisters *id) +{ + return FIELD_EX32(id->id_pfr1, ID_PFR1, MPROGMOD) !=3D 0; +} + static inline bool isar_feature_aa32_fp16_arith(const ARMISARegisters *id) { - return FIELD_EX32(id->mvfr1, MVFR1, FPHP) >=3D 3; + /* Sadly this is encoded differently for A-profile and M-profile */ + if (isar_feature_aa32_mprofile(id)) { + return FIELD_EX32(id->mvfr1, MVFR1, FP16) > 0; + } else { + return FIELD_EX32(id->mvfr1, MVFR1, FPHP) >=3D 3; + } } =20 static inline bool isar_feature_aa32_vfp_simd(const ARMISARegisters *id) --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601566160; cv=none; d=zohomail.com; s=zohoarc; b=eF2feyNSiHMy/Q4YoYAqsgxfU8PU8ZldoyotFq4wJpSW2RE6nO3LrMOeXwKeELQpGVcZ44GQCSR1xAtezRjnErADot5GLzj9yFuVrTGWpjLG2F5rdDgpJte2bIaXhB0Rg3Y/XYHuE66vgkE9lA1zxsLzkD5EFB24Gy4cN72lWqU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601566160; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xJiJCZ6Kf1JVAV1tSNe0wywihXchNANfTnHnXrmJzNE=; b=kO2zG4ONMHnnyHIJfl8rUEbrvfgNuGwmtsn4ZRNVmKU/gqRjUapzSml8qR0TeLeKqkMxR6uXhyLpzT3OaN2EQI0RaNLYuex6tI+iF2Fh6epJlmfnF1heGDMTGnBdCYsn4Gt/EVmi7Menu4XJqHM9I2y7kxO1bNV3ocPr/hmV964= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601566160707539.6720042947808; Thu, 1 Oct 2020 08:29:20 -0700 (PDT) Received: from localhost ([::1]:45754 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNzyV-0003rW-L8 for importer@patchew.org; Thu, 01 Oct 2020 10:54:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43020) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsW-0004vR-Dn for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:16 -0400 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:43457) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsU-0002xl-LV for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:16 -0400 Received: by mail-wr1-x442.google.com with SMTP id k15so6104266wrn.10 for ; Thu, 01 Oct 2020 07:48:14 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=xJiJCZ6Kf1JVAV1tSNe0wywihXchNANfTnHnXrmJzNE=; b=wmW5cn7Mclc+G0aMQ0+gWIYFekQPm1cNJwPrqECtO96hXDdts8lBFE8QzD/Fu5SxbF 3hf0jzILdK4d01z9bY98GN6KVb9GqQjeqINyBpUzphkk9ISCP9a68+ynXr8F4smNlAx1 +JrZdgCFtrm0bCKnQoa8pSGIY0neHMdFq1fFyXl3rxMrdfp6dOZG4GXsES1GovvM0jUU igwTWpz1uVjv22aAIXNh2ZpjOlTVvjRsBKEHuMcA7uoeHCoaMH2tV27VeO/X+jwWFpad MxR40hn5AYPI9vVqkpWy8+B8Pyh3RuEzb8CXmXSFid3HxErxo1V/9Uv4MWayRzwPRk48 gLLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xJiJCZ6Kf1JVAV1tSNe0wywihXchNANfTnHnXrmJzNE=; b=N3SHam37QHc1b0K0cPJtHZao4UKWTx0vkaL1KHgdnXcoXyREN/0FnIm/PYwuJ8413o BmJnEAFTT/Cvsqg8oX4RQOEPe2nBW31/uT2GWw8B7MZbgQqNiqJ1+IekZL266+ZvMKOM nV1Ci08USWNKzjNcg7bsbx7CI1ExiU6RBuyHMIBy+hWZq4Yojj/OXgGHkPOV1h3RU5Er gNczLM4115mICMqdAsYw2A1fR6DPtMkPjLU+XkAp6/86xxnXWMkrAkGf4KW/aEJSChWK 5MX0G0WD2BSkuBAq4WsFXBZFMK/RYwCtmZz4I1+wQVJvpWjktYsXMwOdEfZlJx6JovRB j8Ww== X-Gm-Message-State: AOAM533Yz70tpiv0KTxCXsd1cAzN9HU2aFvO0xaCZSoedYNJrtIXnlv3 iYkT/Us70ZsCHeD2CVpxOhYOR/cto3V2Fhdx X-Google-Smtp-Source: ABdhPJwms7jYu2ZXDD4CW5n+YOxVn1J5U//kk5pKN2w9KBSjHQi+45+Z0ihe8d1P9op6b9BlBVXlsg== X-Received: by 2002:adf:dcc7:: with SMTP id x7mr9598833wrm.203.1601563693036; Thu, 01 Oct 2020 07:48:13 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 06/18] target/arm: Fix sve ldr/str Date: Thu, 1 Oct 2020 15:47:47 +0100 Message-Id: <20201001144759.5964-7-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::442; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x442.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" From: Richard Henderson The mte update missed a bit when producing clean addresses. Fixes: b2aa8879b88 Signed-off-by: Richard Henderson Message-id: 20200916014102.2446323-1-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index e4cd6b62517..c0d8a5863a2 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -4290,7 +4290,7 @@ static void do_ldr(DisasContext *s, uint32_t vofs, in= t len, int rn, int imm) for (i =3D 0; i < len_align; i +=3D 8) { tcg_gen_qemu_ld_i64(t0, clean_addr, midx, MO_LEQ); tcg_gen_st_i64(t0, cpu_env, vofs + i); - tcg_gen_addi_i64(clean_addr, cpu_reg_sp(s, rn), 8); + tcg_gen_addi_i64(clean_addr, clean_addr, 8); } tcg_temp_free_i64(t0); } else { @@ -4379,7 +4379,7 @@ static void do_str(DisasContext *s, uint32_t vofs, in= t len, int rn, int imm) for (i =3D 0; i < len_align; i +=3D 8) { tcg_gen_ld_i64(t0, cpu_env, vofs + i); tcg_gen_qemu_st_i64(t0, clean_addr, midx, MO_LEQ); - tcg_gen_addi_i64(clean_addr, cpu_reg_sp(s, rn), 8); + tcg_gen_addi_i64(clean_addr, clean_addr, 8); } tcg_temp_free_i64(t0); } else { --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601565096; cv=none; d=zohomail.com; s=zohoarc; b=ZHuH8iJmk3PVNJTWcsk1RrzOqr4JKmU8KJasN8vh8lDbRMr1YBJoJsW1PLeohuS9wBwj0f8/Sl3ULUC1kJYhiiAHir4AM6N9xrXyuqNPJiiuc0Wf3HvyKGFH2ur4gq/u3fylm8ojk9z+CN/WJYOAxpcJqKFphaRejT+ZYXHMSL0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601565096; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=y6I5QICCFwQmxXiOl7eP0bsK70GOlJj1SrtQFboL2uA=; b=f5AMYxHDdTGBNrPrqY6GiH7gq2EpUa5XQkx2KyFA0NYe1t63Me854FNWDTLa20UoBg30HLOrlS0jHHrzuKE74kDQ3pzBavVXPRw+/R5NDmsKG1oo8NCjBw4WczVxI0ObKdx51FmHauXYQIhf72Gg0h8XK66G/CaVlyK2uDnXpK0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601565096418657.1352719128881; Thu, 1 Oct 2020 08:11:36 -0700 (PDT) Received: from localhost ([::1]:58736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO01m-0000s5-4P for importer@patchew.org; Thu, 01 Oct 2020 10:57:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43038) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsX-0004xd-Au for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:17 -0400 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:39419) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsV-0002xx-Jz for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:16 -0400 Received: by mail-wr1-x433.google.com with SMTP id k10so6120653wru.6 for ; Thu, 01 Oct 2020 07:48:15 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=y6I5QICCFwQmxXiOl7eP0bsK70GOlJj1SrtQFboL2uA=; b=SxO4C52xk83epbAoQkGCOu+1ksTdDpdeBcLMC0SkSra0nvVtgLRNIYB1Ki1HhxDPYf xHoc+kpbRk6l0kZwiLkajkENLrmrpKJ6CW1TvNd0cX0rUaT8tmEEIN5fC+vdi9gzNgyW 4sEY2zqwkNG1xsbtpZhMT+apD+cFmZFpOUDLvhFalv/bDrSmRRqk41hFnJ/HctTF/zlL A8ty0VmXxINbFxpNHMWoD/ubh5tdsrK68EV27iwsr5gipPMnzVR7Z8RvZAUdb79Qxezv iGW9olo/97U/bjZW5RTHn6QO0TO0hwSmzUiTNjQ3O3Cod6KHWjmG9H6cgTyhNLsLL0wC mj3A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y6I5QICCFwQmxXiOl7eP0bsK70GOlJj1SrtQFboL2uA=; b=DbJfFO25Y2Ver8ngBuG3xnFbHqMWNyV/N1WOKudBt2ResahThXK48TYezUUqwSS+lR /H5SrlmUX4Cxj+FUBeDMc/q+1NQJeiobzpWQhz3AsBKPSRAx2HOyU1mjvf6jHuWnwAie xJAtumH35kqW0muaH1DBoakaWmWwDvzfcRRoffNSjB0LrSUuxDCa0tJYUvBBryLDC9I5 +IhJU9BN5szGSIQpVsOG+JQZSrRlQq5dbBWXWNWq16UjG2vrXRBL+k6OLANVCALTut7U gKG76Rvfd54UlW/9Wt1jIMdd1CKID1nDMxdXbLgA1YJHdy7ZS63B9ufk4bmbymz+scMF 7KXg== X-Gm-Message-State: AOAM530/lv3si3pa0HicrPVHFOt4rfDegfgK9l1DcsvrNitXkgzRnv8+ Kdlcu3Xhodg8WSy5pGha2Gp5dS9V5XB+2WSx X-Google-Smtp-Source: ABdhPJy+5wQgs0kvFVa92k4FTHKABvp87KoLSOLgt0SYcuMNvYMz24pa07WQmNKWqLpwFNWT+ygGBQ== X-Received: by 2002:a5d:4f82:: with SMTP id d2mr9371112wru.65.1601563693944; Thu, 01 Oct 2020 07:48:13 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 07/18] target/arm: Fix SVE splice Date: Thu, 1 Oct 2020 15:47:48 +0100 Message-Id: <20201001144759.5964-8-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::433; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x433.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" From: Richard Henderson While converting to gen_gvec_ool_zzzp, we lost passing a->esz as the data argument to the function. Fixes: 36cbb7a8e71 Cc: qemu-stable@nongnu.org Signed-off-by: Richard Henderson Message-id: 20200918000500.2690937-1-richard.henderson@linaro.org Reviewed-by: Peter Maydell Signed-off-by: Peter Maydell --- target/arm/translate-sve.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/translate-sve.c b/target/arm/translate-sve.c index c0d8a5863a2..9095586fc93 100644 --- a/target/arm/translate-sve.c +++ b/target/arm/translate-sve.c @@ -2689,7 +2689,7 @@ static bool trans_SPLICE(DisasContext *s, arg_rprr_es= z *a) { if (sve_access_check(s)) { gen_gvec_ool_zzzp(s, gen_helper_sve_splice, - a->rd, a->rn, a->rm, a->pg, 0); + a->rd, a->rn, a->rm, a->pg, a->esz); } return true; } --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601568500; cv=none; d=zohomail.com; s=zohoarc; b=QznIxp9eQD7KQa4V5j9BMhhse8fU2EHCl5mZycf0GUDFFRShqXzY3uqOxqnG7rOt6b5+IQaOhkaSgQK4Xjg8L/XJF0rR0axIA/Epvcd75jSYTGsRrRqyEaVzHJOnGLZcd/0f4vQ9ENTo4giZdHUKSP/K8RU4OAEV7QYuwmNcsx4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601568500; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EQ9bzBvmQ+5iN3kjFYcuQfzs+gLXhURXfJjK+aJw7Kg=; b=TVzu8BBYppdn0uuVy+9rkoxpScMEbwcvTbABrBrypBDG4JLDeY3RXzY/+F2pG/uqU7BgZN7VpSlesd6mBFgzomzIbBuue7rSlCIJAyZCZQW8CyuhbIwUk2H/CkwX069XsEhkh+3ArqoQxnrzYOUkXVWPr+Yb7tzzG8NWRmPcFLU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601568500452485.4263201882967; Thu, 1 Oct 2020 09:08:20 -0700 (PDT) Received: from localhost ([::1]:47370 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kNzyp-0004WU-1M for importer@patchew.org; Thu, 01 Oct 2020 10:54:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43082) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsZ-00051Q-6c for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:19 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:46658) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsW-0002yB-Mf for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:18 -0400 Received: by mail-wr1-x444.google.com with SMTP id o5so6099133wrn.13 for ; Thu, 01 Oct 2020 07:48:16 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=EQ9bzBvmQ+5iN3kjFYcuQfzs+gLXhURXfJjK+aJw7Kg=; b=aQghKDQILFuH1kS/vyzOVtdVkZZ2FUjKXmLg+VwzUinzGi4lRiyTsDg46iWxXl013P jqVMhWrmC/X/l8fzGa2xLCJV6f91sOQoYd+7oS9fqgc4t9lZItG2F+7cMBa7hgA67gfQ q7EAjWh5Dfo6DcXEqrAmKLRz/TbWOhmsOYx9XlPf7u03u8+9xDssKdv6YUFDuPIA+2KN +PigLHL0sLPZmBtgPkpiHhBJRmDs2SENILv15LMip0RCTVtJeB8zmLudyYqH7ZDbBnxN XRpwY9/89RynMtEXzzh+0nStI/TPTz11dQofpPhn+6vXzNtM0QPRGyiMCq24L4OBqeav 5+kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EQ9bzBvmQ+5iN3kjFYcuQfzs+gLXhURXfJjK+aJw7Kg=; b=nt1w3YYe3J//qnrSIE8p1uBTgLfc2LNCk8AUNZwrakry9cZgzgaMsZj5OEpnvB0V3n KEHrNmJ4OYItNVTUAQ9AQBgObA9uh+Hb78Mzmz6Zz+CShQ6SB+/vjJBklHidnt7S1kbz 3Acbj+5R9P1zMlVUHRhnMN5/c41CZXfxcBAyDqSF4XzqFZFjakPyEcHvAfry0Zdhv+nN 1CXEQTPqs3j09ExuWepeonbSW5VI+WxpTBCuBKFnw8Z+vutlx7UY+zZvJF5QZscVU0He 7K/u2uW+HY5nrzzpWe0gX9u97jGJx/269182COpNTMEWf3Uny/5T057tvnXmY75kKrll dVUA== X-Gm-Message-State: AOAM531dod7+2u891HbA7lQDBW+vBS0srLV6Xe53GN2jhdUYEh5yrote 654p5M6P6vbQXMEPFj9SHJuT4o4JHjqm1aIV X-Google-Smtp-Source: ABdhPJxaGu24szRug0JYP2C2HhQTGLxNDuFTD4HBPYl0WPXBWHCbgimyuYOdGbzmIF2+t2VxDQm3DA== X-Received: by 2002:a5d:4f12:: with SMTP id c18mr8913471wru.33.1601563694927; Thu, 01 Oct 2020 07:48:14 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 08/18] hw/arm/raspi: Define various blocks base addresses Date: Thu, 1 Oct 2020 15:47:49 +0100 Message-Id: <20201001144759.5964-9-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x444.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The Raspberry firmware is closed-source. While running it, it accesses various I/O registers. Logging these accesses as UNIMP (unimplemented) help to understand what the firmware is doing (ideally we want it able to boot a Linux kernel). Document various blocks we might use later. Reviewed-by: Alex Benn=C3=A9e Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Luc Michel Message-id: 20200921034729.432931-2-f4bug@amsat.org Signed-off-by: Peter Maydell --- include/hw/arm/raspi_platform.h | 51 +++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/include/hw/arm/raspi_platform.h b/include/hw/arm/raspi_platfor= m.h index 61b04a1bd4a..c7f50b260f6 100644 --- a/include/hw/arm/raspi_platform.h +++ b/include/hw/arm/raspi_platform.h @@ -20,20 +20,29 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 U= SA + * + * Various undocumented addresses and names come from Herman Hermitage's V= C4 + * documentation: + * https://github.com/hermanhermitage/videocoreiv/wiki/MMIO-Register-map */ =20 #ifndef HW_ARM_RASPI_PLATFORM_H #define HW_ARM_RASPI_PLATFORM_H =20 #define MSYNC_OFFSET 0x0000 /* Multicore Sync Block */ -#define IC0_OFFSET 0x2000 +#define CCPT_OFFSET 0x1000 /* Compact Camera Port 2 TX */ +#define INTE_OFFSET 0x2000 /* VC Interrupt controller */ #define ST_OFFSET 0x3000 /* System Timer */ +#define TXP_OFFSET 0x4000 /* Transposer */ +#define JPEG_OFFSET 0x5000 #define MPHI_OFFSET 0x6000 /* Message-based Parallel Host In= tf. */ #define DMA_OFFSET 0x7000 /* DMA controller, channels 0-14 = */ -#define ARM_OFFSET 0xB000 /* BCM2708 ARM control block */ +#define ARBA_OFFSET 0x9000 +#define BRDG_OFFSET 0xa000 +#define ARM_OFFSET 0xB000 /* ARM control block */ #define ARMCTRL_OFFSET (ARM_OFFSET + 0x000) #define ARMCTRL_IC_OFFSET (ARM_OFFSET + 0x200) /* Interrupt controll= er */ -#define ARMCTRL_TIMER0_1_OFFSET (ARM_OFFSET + 0x400) /* Timer 0 and 1 */ +#define ARMCTRL_TIMER0_1_OFFSET (ARM_OFFSET + 0x400) /* Timer 0 and 1 (SP8= 04) */ #define ARMCTRL_0_SBM_OFFSET (ARM_OFFSET + 0x800) /* User 0 (ARM) Semap= hores * Doorbells & Mailbo= xes */ #define CPRMAN_OFFSET 0x100000 /* Power Management, Watchdog */ @@ -42,24 +51,50 @@ #define AVS_OFFSET 0x103000 /* Audio Video Standard */ #define RNG_OFFSET 0x104000 #define GPIO_OFFSET 0x200000 -#define UART0_OFFSET 0x201000 -#define MMCI0_OFFSET 0x202000 -#define I2S_OFFSET 0x203000 -#define SPI0_OFFSET 0x204000 +#define UART0_OFFSET 0x201000 /* PL011 */ +#define MMCI0_OFFSET 0x202000 /* Legacy MMC */ +#define I2S_OFFSET 0x203000 /* PCM */ +#define SPI0_OFFSET 0x204000 /* SPI master */ #define BSC0_OFFSET 0x205000 /* BSC0 I2C/TWI */ +#define PIXV0_OFFSET 0x206000 +#define PIXV1_OFFSET 0x207000 +#define DPI_OFFSET 0x208000 +#define DSI0_OFFSET 0x209000 /* Display Serial Interface */ +#define PWM_OFFSET 0x20c000 +#define PERM_OFFSET 0x20d000 +#define TEC_OFFSET 0x20e000 #define OTP_OFFSET 0x20f000 +#define SLIM_OFFSET 0x210000 /* SLIMbus */ +#define CPG_OFFSET 0x211000 #define THERMAL_OFFSET 0x212000 -#define BSC_SL_OFFSET 0x214000 /* SPI slave */ +#define AVSP_OFFSET 0x213000 +#define BSC_SL_OFFSET 0x214000 /* SPI slave (bootrom) */ #define AUX_OFFSET 0x215000 /* AUX: UART1/SPI1/SPI2 */ #define EMMC1_OFFSET 0x300000 +#define EMMC2_OFFSET 0x340000 +#define HVS_OFFSET 0x400000 #define SMI_OFFSET 0x600000 +#define DSI1_OFFSET 0x700000 +#define UCAM_OFFSET 0x800000 +#define CMI_OFFSET 0x802000 #define BSC1_OFFSET 0x804000 /* BSC1 I2C/TWI */ #define BSC2_OFFSET 0x805000 /* BSC2 I2C/TWI */ +#define VECA_OFFSET 0x806000 +#define PIXV2_OFFSET 0x807000 +#define HDMI_OFFSET 0x808000 +#define HDCP_OFFSET 0x809000 +#define ARBR0_OFFSET 0x80a000 #define DBUS_OFFSET 0x900000 #define AVE0_OFFSET 0x910000 #define USB_OTG_OFFSET 0x980000 /* DTC_OTG USB controller */ +#define V3D_OFFSET 0xc00000 #define SDRAMC_OFFSET 0xe00000 +#define L2CC_OFFSET 0xe01000 /* Level 2 Cache controller */ +#define L1CC_OFFSET 0xe02000 /* Level 1 Cache controller */ +#define ARBR1_OFFSET 0xe04000 #define DMA15_OFFSET 0xE05000 /* DMA controller, channel 15 */ +#define DCRC_OFFSET 0xe07000 +#define AXIP_OFFSET 0xe08000 =20 /* GPU interrupts */ #define INTERRUPT_TIMER0 0 --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601567673; cv=none; d=zohomail.com; s=zohoarc; b=nKbx6xtWq1/lI3+IMrwkeirHWuReIaDkjJebOFLlJ8MsX8uN206dmUWW9iODHmpKpmHAZ8IjK9Xl0WXk9W4jHq3p/DosFaoLPE4ikNN4qXAFiNZvrce5slYQVCuAio/c+OfCKb2Xqh5Mngv5KLcSIpSV0+aSM0qmRAsbXCCi8Vw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601567673; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=LdsF1p8GE52TqGxdvPUfjvasVxUb/DF5uSL01W4m9MM=; b=cz79rl/k1Ls8SnmdN/mIGLcrRo6B+JO4//x4iDOJA15oxqLPaqxAitYLQHvY/gwK0aCEzST8/NR6DdBJIOWZ3EG43j0hF0UodEhiszt79hb/wEPNj1dHsW7tH717+LxRJ9oe503/t65rFVs2hwd3eOrJO4rQgLkg5EXiQ/K1SZU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601567672999262.4458372510983; Thu, 1 Oct 2020 08:54:32 -0700 (PDT) Received: from localhost ([::1]:38864 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO03i-0004Gp-Ox for importer@patchew.org; Thu, 01 Oct 2020 10:59:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43094) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsZ-00052Z-L7 for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:19 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:41194) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsX-0002yQ-Mz for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:19 -0400 Received: by mail-wr1-x444.google.com with SMTP id w5so6109220wrp.8 for ; Thu, 01 Oct 2020 07:48:17 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=LdsF1p8GE52TqGxdvPUfjvasVxUb/DF5uSL01W4m9MM=; b=FOBdWnudi47dMkUnjuejoP0+G6qqcjBeRrTioihauwB+Q0PQSBeiZW24X19kxEx9tr 8tOnfliLpwkkAV5e3C3UNgvHS3gIwIDegNC1yLOMpQ6pK1w7ky1yzttmHB9mhHda+F/q aVCWU8i36Z0CjbSM7pTCxtkpP1zYxH4OiIHMTo3S3o1j/JbOycc2IsbP+ICzXPsTKSsd bw8Qymti4439LMB43l7EuvTbDLCtmbFfZXPfVUMbMSMAOsvtnb+Sn9LL9Hjj4F2MZnYf eB1jRRdBmQgMWtsqvkLVEU2TSgTj1THOWIzJNaT8CP7E7l03RfP23+xWd7OGzqF9q/wK A3ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LdsF1p8GE52TqGxdvPUfjvasVxUb/DF5uSL01W4m9MM=; b=IHUgn28hcJuU6mzfo570nRWuAM7GE8ty3SsGwnRv3yIgILx5PyJ2lykTdhjY6kJDiF Zn7eGElvAE93/5THbOoxhnkkCye9HSiU3wCiyWO6AB2rreHjcYtoi/HeeDY7l6fbNAFc Flpfwkt3WOA4LGasNFQe4jhrGWhl/o+By8LxjFxKlyP8UiZTfwNJAcEbjygtymBhnC5u w7cvIMQGX/MxmX7pz/WGKa+JXOGgnrS4QjMFmsnhrushdIHL84U9jQ31gGMuqV7jH1GP sUBK/1GmTlFTnorym7t1ygkiSyv9d/mhuWp91+WbIfRn6hzEbBne6YOAbbugorq/WXni WoYQ== X-Gm-Message-State: AOAM5332E/ts6KXjuTAzZIFzNsNi0WgC9gAN9EwcvYNhBEkFFWLAkff7 iorr0+0fzG31a60zB1pndVAQDNIw17bEEaE2 X-Google-Smtp-Source: ABdhPJx0/az8hgbL8CnoO3ZZ36ui7Q/UWseEl3vSiegkhnPXrlAmVhgd5qBRqOtzynVXenD9m0LG/g== X-Received: by 2002:adf:e3cf:: with SMTP id k15mr8833337wrm.291.1601563696072; Thu, 01 Oct 2020 07:48:16 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 09/18] hw/arm/bcm2835: Add more unimplemented peripherals Date: Thu, 1 Oct 2020 15:47:50 +0100 Message-Id: <20201001144759.5964-10-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x444.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The bcm2835-v3d is used since Linux 4.7, see commit 49ac67e0c39c ("ARM: bcm2835: Add VC4 to the device tree"), and the bcm2835-txp since Linux 4.19, see commit b7dd29b401f5 ("ARM: dts: bcm283x: Add Transposer block"). Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Luc Michel Message-id: 20200921034729.432931-3-f4bug@amsat.org Signed-off-by: Peter Maydell --- include/hw/arm/bcm2835_peripherals.h | 2 ++ hw/arm/bcm2835_peripherals.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/include/hw/arm/bcm2835_peripherals.h b/include/hw/arm/bcm2835_= peripherals.h index 13d7c4c5531..c9ac941a82c 100644 --- a/include/hw/arm/bcm2835_peripherals.h +++ b/include/hw/arm/bcm2835_peripherals.h @@ -45,6 +45,7 @@ struct BCM2835PeripheralState { =20 BCM2835SystemTimerState systmr; BCM2835MphiState mphi; + UnimplementedDeviceState txp; UnimplementedDeviceState armtmr; UnimplementedDeviceState cprman; UnimplementedDeviceState a2w; @@ -66,6 +67,7 @@ struct BCM2835PeripheralState { UnimplementedDeviceState otp; UnimplementedDeviceState dbus; UnimplementedDeviceState ave0; + UnimplementedDeviceState v3d; UnimplementedDeviceState bscsl; UnimplementedDeviceState smi; DWC2State dwc2; diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index a9d7f53f6e9..15c5c72e465 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -343,6 +343,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) qdev_get_gpio_in_named(DEVICE(&s->ic), BCM2835_IC_GPU_IRQ, INTERRUPT_USB)); =20 + create_unimp(s, &s->txp, "bcm2835-txp", TXP_OFFSET, 0x1000); create_unimp(s, &s->armtmr, "bcm2835-sp804", ARMCTRL_TIMER0_1_OFFSET, = 0x40); create_unimp(s, &s->cprman, "bcm2835-cprman", CPRMAN_OFFSET, 0x1000); create_unimp(s, &s->a2w, "bcm2835-a2w", A2W_OFFSET, 0x1000); @@ -356,6 +357,7 @@ static void bcm2835_peripherals_realize(DeviceState *de= v, Error **errp) create_unimp(s, &s->otp, "bcm2835-otp", OTP_OFFSET, 0x80); create_unimp(s, &s->dbus, "bcm2835-dbus", DBUS_OFFSET, 0x8000); create_unimp(s, &s->ave0, "bcm2835-ave0", AVE0_OFFSET, 0x8000); + create_unimp(s, &s->v3d, "bcm2835-v3d", V3D_OFFSET, 0x1000); create_unimp(s, &s->sdramc, "bcm2835-sdramc", SDRAMC_OFFSET, 0x100); } =20 --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601567826; cv=none; d=zohomail.com; s=zohoarc; b=kPH2HPt0K49md6fotpGXOMxOLmrCWWFCHPh1PM9FWy7hqKnSrh4Bok1K7wtyCRHGHqjTgACUYyAH79g+QFPE87ujnjTdrS62AfYEQ7gaIEpp7Fw1Otqkm44SZCAlqd2M98cSYVoG8vSzsQ/nmer7BdNSbxpiESe52PAfKv/RAuI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601567826; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=yp/YjDj5QeuPSc08DCe+GT6Bj66xcIoVhoaUCUMskJk=; b=SzuUzjx2eU5/lK+ZbBd0ChoPVf/qtZ17jrUkZ6S7Ff7Mt1tjFpDxewn4IGA4OPCReJjq9sHcEMdfrlnIv23zocbwvKQdgL0XIPZqRRzCcK7exazURVb6DS6DsZZcHChO26czfnIyRfGHVWmm9ZfUJey6NHZQHCTLXNikx6ex5zA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601567826747265.9391706230972; Thu, 1 Oct 2020 08:57:06 -0700 (PDT) Received: from localhost ([::1]:55832 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO00z-00085T-Td for importer@patchew.org; Thu, 01 Oct 2020 10:57:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43126) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsa-000552-Ql for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:20 -0400 Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]:36220) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsY-0002yg-Px for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:20 -0400 Received: by mail-wm1-x343.google.com with SMTP id e2so3432888wme.1 for ; Thu, 01 Oct 2020 07:48:18 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.16 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=yp/YjDj5QeuPSc08DCe+GT6Bj66xcIoVhoaUCUMskJk=; b=A8xotYvCTaKUGYSwxBadJsY2MyxpU/HtDYqnsz4MvOK229Rt7Q8tPw0+5AB74Jo4ZM O+4WgY9wa4toQvj6MQPrmViT4KTC97KcmT6DQ67MFQSPZCp7S32MppZSmQ+faMIVdo7N /BpPIQqEcPHltok0WiQbR4IbdsOPyv/Mhu5Re7rjgpzfodizoLbdVPt+yTo6sC3RPEYl UxWS4aF4pmv/Xo+hPDzSgqItYxEeixXi88YRh22FGR92vh02bs0W4xsn49PKtdQCAvv9 bQZ5UZNKO2kU2djiD6uo5SaT9IzNBS74prXbKml6cfW8SXwjZtCB2Ml23VQIHbfWNmr2 XjYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=yp/YjDj5QeuPSc08DCe+GT6Bj66xcIoVhoaUCUMskJk=; b=Y5nkaYiJMKWzCFY0yL5mz42QZg0D+9cU7TBNcFg3nzQQWPOKF0MWt5m/RjuNZst5fa n3qUsg8TAOj23MWkg86/fklVnsU7Ze00i02YF/mmFytjgQR8fotSAckrCJZOn/zYAmCz sJJp6Dol2w7iiSDBTg37+PzZsFK5w+gBD8h1+oOksz1LkBCbho6Dl15aFCpo2458Vvf0 RBnWgIAVet3ecTww8W5LBamQPBZ0HQTW3TP7HT5BRV7FXLDE5h6MJX05PdF5gwmFciNf o55Hk0Z/D0V7NP+PVZbCrrr0qPwArRzYz5OvMLYILdeGeuwPoBmqXVuyeZLg9kEgJ2LG /xyw== X-Gm-Message-State: AOAM5302pDQxxaG65k1ZSeyAfdugHYYWm/BvzcXZ3T0sgDa6v2RBu2lW Td2J5x8RdVKVdA7vbgu2RDJFHqVeDW8PhSgO X-Google-Smtp-Source: ABdhPJyo/faLOSk98d4VPownqniU+ZzeyFFg430HD9v+K2YBrlMGwdoUCY0b7h7BYlZqL1PxYbfdpQ== X-Received: by 2002:a1c:9893:: with SMTP id a141mr375610wme.188.1601563697182; Thu, 01 Oct 2020 07:48:17 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 10/18] hw/arm/raspi: Remove ignore_memory_transaction_failures on the raspi2 Date: Thu, 1 Oct 2020 15:47:51 +0100 Message-Id: <20201001144759.5964-11-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::343; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x343.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 Commit 1c3db49d39 added the raspi3, which uses the same peripherals than the raspi2 (but with different ARM cores). The raspi3 was introduced without the ignore_memory_transaction_failures flag. Almost 2 years later, the machine is usable running U-Boot and Linux. In commit 00cbd5bd74 we mapped a lot of unimplemented devices, commit d442d95f added thermal block and commit 0e5bbd7406 the system timer. As we are happy with the raspi3, let's remove this flag on the raspi2. Reviewed-by: Richard Henderson Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200921034729.432931-4-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index d2f674587d3..811eaf52ff5 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -321,9 +321,6 @@ static void raspi_machine_class_init(ObjectClass *oc, v= oid *data) mc->default_cpus =3D mc->min_cpus =3D mc->max_cpus =3D cores_count(boa= rd_rev); mc->default_ram_size =3D board_ram_size(board_rev); mc->default_ram_id =3D "ram"; - if (board_version(board_rev) =3D=3D 2) { - mc->ignore_memory_transaction_failures =3D true; - } }; =20 static const TypeInfo raspi_machine_types[] =3D { --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601566661; cv=none; d=zohomail.com; s=zohoarc; b=QrUsDQeON4WgnZr+Pf32k6VGkrm6zD27tU7JsZIIEAvFpSrXk6NL8bV8i2jZCbB7CEHJNfz9YBDFnBuJXggUiOMgYw0S15DK3EzgaE7UJv3x1fhzP18InaFH5RvH8V1S/tQa0DYRXOS0kyfOH/R2zAXDOhbhsI2OH1PFmYzmbL4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601566661; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dzYxyPNSak4m4BxdikZP28jEW5s35X251fWvyhySyCU=; b=igKoVWJGAxMVbekzdc9VXBegIll3p3MSJ/MLblzzXsooEX8kdlJQ8t8IfYL8x+43NNHHfEXDIfjg8acx4go6guElzWwBvsAEIAdl3uaEnCuAFFGkAvKN7Pr0mIPypSIcISdVs6B+LL6g9dR0+HvdLuLU8LvqKgF9L7kcMYIkbro= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601566661267603.9080877149655; Thu, 1 Oct 2020 08:37:41 -0700 (PDT) Received: from localhost ([::1]:54236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO00U-0007SH-J1 for importer@patchew.org; Thu, 01 Oct 2020 10:56:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43144) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsb-00057G-Ms for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:21 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:45785) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsZ-0002yx-Pt for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:21 -0400 Received: by mail-wr1-x42b.google.com with SMTP id x14so6105681wrl.12 for ; Thu, 01 Oct 2020 07:48:19 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=dzYxyPNSak4m4BxdikZP28jEW5s35X251fWvyhySyCU=; b=uxdb85razJFm9v0stQ1btcmy80mZRsjx/8222hiFejATPkoAmRYyDHjhxQyOzQI46a gxlcKMBNgTIQY7QOYYFH/VG7WjzygTsTr0hGYNo0EkvZB/GXbQFYo1t5CDE6tenf1lYI xqQD7ubWMlg5VbVwy3S/movb6nBQBLPSKAfiHF+GEd+fizGHptIWAOiBTaAu7U4JHcA1 reK9VuR8vaaU4Wp32VNim+C+8mmpqn9QUgMnnEsViDsQr2MOgXwsbp+nPWckNX7po738 mb15X2St07YVB2lke7AV6+nbojC6yPUxijzinK+1NIUp76tdqhtwDsKXW1s/WR9hegUv VXlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dzYxyPNSak4m4BxdikZP28jEW5s35X251fWvyhySyCU=; b=CCytavYqglOQOU4jsf2/uUV/ZKg6O5Eh8Rs4jnnxmIWDNT+Zn0pZ9PCGqoxyHTT1oN PxStelSv1yLirdSfO3oMgJb4lD2yjeKfp4dzcwWP2n9jPDFNLKOD4x5uvDk/CoVMxPJ4 Pbj4yw+re777a0vUwjN7nDR08V6Oddd/ws+jN+VxQZlD+6t8Of6cUSkjQwc6xz+Gzllj sg9V3gcm/ZXoN53rNTjivaqrKOloDSuSv2bt1zfLqAGCOaU4JwUgm0ccWxChu0/DJHKt bOUUI7GPYiu5hwXTNzCVkZflQYStj6ny+8+UqpSnqfyht1jd/vJyE2s/KFfQFsrprLW8 h3Ug== X-Gm-Message-State: AOAM530cUTSUY5GKcnJg+01nwctlqvg9VXCSQZjGU3FRb0BPz1SzHQhG dnTWn7nJOFOftDOm9v54Ru2hwxT4+rpEXdzU X-Google-Smtp-Source: ABdhPJzMuqNUaVSKWXCG5hPs+wPqQnjWujHKL6JGIgOOHXjGRm20hfyUQyeWT1OzfRnAk0tLeGN5aw== X-Received: by 2002:adf:f34a:: with SMTP id e10mr9364940wrp.91.1601563698148; Thu, 01 Oct 2020 07:48:18 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 11/18] hw/arm/raspi: Display the board revision in the machine description Date: Thu, 1 Oct 2020 15:47:52 +0100 Message-Id: <20201001144759.5964-12-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42b.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 Display the board revision in the machine description. Before: $ qemu-system-aarch64 -M help | fgrep raspi raspi2 Raspberry Pi 2B raspi3 Raspberry Pi 3B After: raspi2 Raspberry Pi 2B (revision 1.1) raspi3 Raspberry Pi 3B (revision 1.2) Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200924111808.77168-2-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 811eaf52ff5..46d9ed7f054 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -312,7 +312,9 @@ static void raspi_machine_class_init(ObjectClass *oc, v= oid *data) uint32_t board_rev =3D (uint32_t)(uintptr_t)data; =20 rmc->board_rev =3D board_rev; - mc->desc =3D g_strdup_printf("Raspberry Pi %s", board_type(board_rev)); + mc->desc =3D g_strdup_printf("Raspberry Pi %s (revision 1.%u)", + board_type(board_rev), + FIELD_EX32(board_rev, REV_CODE, REVISION)); mc->init =3D raspi_machine_init; mc->block_default_type =3D IF_SD; mc->no_parallel =3D 1; --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601566919; cv=none; d=zohomail.com; s=zohoarc; b=dNHo+2xJlctlFr2uZFsVuL34Vi5HSF2lYNdrdlWzTCYuoEnRgpI4tqgmde+KD/H5w66/x2FMT+cNDXIuxumpywvRsj5V6bKtVTrC5fQF3pOWCIEivQARw6fKwJkFH0r3Ea+cm2QBwLM6aqhN5LSA4qC5Fj+XWHB8tIKvGT8rBW8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601566919; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Y9QAXyCiJEecHCo6d8W/TvowXPNACal12JRPHiqZM5o=; b=WX0H8ogbsT10FeonZTjXjR7eq4C+aN4rLnq3WZLOWV6HbeT2rcGEgcRudKo1HSt7hwDEuU94J5WBbmLssVdONSd/rO9DfeTPH4QXmuwL3esny1sHVaSQP4UfXgh3H1H7wIibZ8SoMoWBwj/QHgAAl58abUIrjj9IKLyp1jLHqDc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601566919828819.338831974084; Thu, 1 Oct 2020 08:41:59 -0700 (PDT) Received: from localhost ([::1]:50732 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO08t-0001Lm-N6 for importer@patchew.org; Thu, 01 Oct 2020 11:05:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43158) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsc-00059b-Mx for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:22 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:53391) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsa-0002zD-U5 for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:22 -0400 Received: by mail-wm1-x344.google.com with SMTP id x23so3210493wmi.3 for ; Thu, 01 Oct 2020 07:48:20 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Y9QAXyCiJEecHCo6d8W/TvowXPNACal12JRPHiqZM5o=; b=gkLiE5rvgZITNQ4D3ztfYmUIMxNWVbDr9JPjXZqX+wDzn0Wo3iSuXpv1nCYitE5UL3 c2KKPCR7Zjzcj0y5V+983kfUBbKHPO6rFV48RrSf9qzx9ndkk6FoAoZqGWtcfh6YlVWq X2B6o/bc8R/J/ekkxlOTeos0Di5cT6tIXcejOGc3NtadlgmCABBMz/6K3ya4JmIZncSO tfq/CCPAmaZ9SBInKoq1gwGusPUNEBkPjdYq7SeJvHF9n2/Bwrm3aZ1yeURVWQ67aj96 YvWQ6+9bboYEadf4pp4D/AKT5N0+2WnykLcO+6LNPR9/51UlVfqBvW8Sb+cEBPBfW+0y VgxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Y9QAXyCiJEecHCo6d8W/TvowXPNACal12JRPHiqZM5o=; b=ERNs1zn8qV8aJaefpTyPlKYYPGRiV2PbYutqUP3Lkc0aV9T8Cx2GTVJGDSkUG/HgyO urJfh32DM3XLcfV+rAgwijjidgJjbg6/OE7O6KzrDS0eww+uWdg/l+zThzJZ8YIc+Pjj ITqYZaP8Nfyu6Lj+ObRtV1CI/cXRZlTu/DjhUZiQpb+AowgW+fxeo4ltdvI9S6QCWwMH 0zwxvJ4jpOY6MyUxZZQx6EJEHRJe2wIsXyek4LxaC6sSWwlHVFfk0qPM1Zx411GMDybF 4rQlmZW8SLoTIG8D+bkHWp/GEz8W5z/e86kdco6kWOSj+y4iWQpB5HvF8EBFs4rPTpj+ QjBA== X-Gm-Message-State: AOAM5325kbgXNbGQvPID26h7Ps8WMM75/9VZJdjdtht4nl8c9e4tKfaF bVkRVMrdAUO22/zgLXtQtQcNp0gdv43rSL6F X-Google-Smtp-Source: ABdhPJzE3ZWm8fl575N6gh2T77sJF+IGK577O3lT7Bjvfxk8XwH0M3Os8/55JRELsLlsQgUWoWdUhQ== X-Received: by 2002:a7b:c0ca:: with SMTP id s10mr345967wmh.103.1601563699175; Thu, 01 Oct 2020 07:48:19 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 12/18] hw/arm/raspi: Load the firmware on the first core Date: Thu, 1 Oct 2020 15:47:53 +0100 Message-Id: <20201001144759.5964-13-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=peter.maydell@linaro.org; helo=mail-wm1-x344.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The 'first_cpu' is more a QEMU accelerator-related concept than a variable the machine requires to use. Since the machine is aware of its CPUs, directly use the first one to load the firmware. Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200924111808.77168-3-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 46d9ed7f054..8716a80a75e 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -205,6 +205,7 @@ static void reset_secondary(ARMCPU *cpu, const struct a= rm_boot_info *info) =20 static void setup_boot(MachineState *machine, int version, size_t ram_size) { + RaspiMachineState *s =3D RASPI_MACHINE(machine); static struct arm_boot_info binfo; int r; =20 @@ -253,7 +254,7 @@ static void setup_boot(MachineState *machine, int versi= on, size_t ram_size) binfo.firmware_loaded =3D true; } =20 - arm_load_kernel(ARM_CPU(first_cpu), machine, &binfo); + arm_load_kernel(&s->soc.cpu[0].core, machine, &binfo); } =20 static void raspi_machine_init(MachineState *machine) --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601570225; cv=none; d=zohomail.com; s=zohoarc; b=HrLiEPUhKJ7BdkTZbj7ZmZX4KTafdZoPNNn5pD8VkZvoigqSBfJoEVWIJ1tBDgQLQNw+zaYRf27A8zelpcazRcjx+AnbfrKuxWv1nFvakm5ix3NzvvFf/fEskADVtG82szsanaKmF/kTnPAdCYLsAVYlw4M0mJsl8YDIJ+GEERE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601570225; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=29OqS31hrytI/JoxBJLw6VhtEjpyT0FqbJQ+mpvhcW8=; b=cKtc67ZORgRhdn9BjZN5uGV/FOXPnKEqkrhzxGP5rned8Zr66zPOz8SyEaeufwfyLuw8DuaebnafLe+t6yeL9tCXqemySI5acC8c138QlhgWfksdjbaCt82nKEJslLlTdAT+HdQpusQXbes1O1Kb4DJPuZ+iqlADN7gEhCCzwiQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601570225389549.5604987218347; Thu, 1 Oct 2020 09:37:05 -0700 (PDT) Received: from localhost ([::1]:47320 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO07r-0008Fs-Hy for importer@patchew.org; Thu, 01 Oct 2020 11:04:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43180) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsd-0005CP-Ue for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:23 -0400 Received: from mail-wr1-x429.google.com ([2a00:1450:4864:20::429]:33596) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsb-0002zc-Qw for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:23 -0400 Received: by mail-wr1-x429.google.com with SMTP id m6so6131625wrn.0 for ; Thu, 01 Oct 2020 07:48:21 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=29OqS31hrytI/JoxBJLw6VhtEjpyT0FqbJQ+mpvhcW8=; b=fuUMG1omCrZ2z7BoCou5UQVfi4XoT29zKFz5Sf0WsLddKjB6i1xtyY3Lal2PNvCqmO 2Q2F4P+0DydOEsjs2P54BFzga4EUpivdSDO94sg1WL4XLSg199kAY7N8wvfZ7r50sNZE ZJSEjsSWlAZ9XOafGBkAXaABN9hZXXTUTrRGlf4NFvk7rmjBd2R2Eoos5w5d7iVMrutc Y5b+KMGT4+gqs1Cm+KBXs7Yt6ZjoBKbrct99DtR1E1fWWYp0WHOVqCt0TsPdrIWMJX+1 j2u9lOjsmFR7infkBnZH9lTIneOmx31uxlj23wMRcNax8AoDVDpuWDJTn8Re1uctJFiA V0Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=29OqS31hrytI/JoxBJLw6VhtEjpyT0FqbJQ+mpvhcW8=; b=abXhNNoIVOWQYbhz3eTk8OE+uKKs+CjeErAxfLmz/rNHTbbeIvs+MgfyzSmuTTuUS2 Kh2pvfcBCQW2nU0i8pgRI422pTcQIRYBfeJkXg2Xlb4g+E1EuB+f0JURHs4gmE+fhNFl SUjbrehBlN+PMrX+JTMkJILTFM5PDIWP7fgnrl4P53LyKBXLGAAPyUXr+XnRApe/7kMC 3nQHAObWkxQvg9RNkeViLComElWYy/RfY8rWcjBlGD2SGF3nslGF27JSL77OOepMB1nF AVTnFMZQIqDPXXqpl1nNWBCbnnfXuJj/M+pKvb42hOEQAU11842utgqevhrqVv+sz1Gk 5lBg== X-Gm-Message-State: AOAM530dL7LPztdIh2fJI8Z1wrAi1eaSOSwGYRCH7DXIvMUdNCynrwso IDWLfB7BMKx/+jia6rBLRyLAaxK1uDYQkoHA X-Google-Smtp-Source: ABdhPJyAoN1XhlAfzD/6woo2ds1XezDQr7qUd0KLBDHdOyYrm0f8PAKUkWVkjsrEouOlly7iqBqWaQ== X-Received: by 2002:a5d:4081:: with SMTP id o1mr9764539wrp.338.1601563700166; Thu, 01 Oct 2020 07:48:20 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 13/18] hw/arm/raspi: Move arm_boot_info structure to RaspiMachineState Date: Thu, 1 Oct 2020 15:47:54 +0100 Message-Id: <20201001144759.5964-14-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::429; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x429.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The arm_boot_info structure belong to the machine, move it to RaspiMachineState. Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200924111808.77168-4-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 8716a80a75e..16e6c83c925 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -41,6 +41,7 @@ struct RaspiMachineState { MachineState parent_obj; /*< public >*/ BCM283XState soc; + struct arm_boot_info binfo; }; typedef struct RaspiMachineState RaspiMachineState; =20 @@ -206,12 +207,11 @@ static void reset_secondary(ARMCPU *cpu, const struct= arm_boot_info *info) static void setup_boot(MachineState *machine, int version, size_t ram_size) { RaspiMachineState *s =3D RASPI_MACHINE(machine); - static struct arm_boot_info binfo; int r; =20 - binfo.board_id =3D MACH_TYPE_BCM2708; - binfo.ram_size =3D ram_size; - binfo.nb_cpus =3D machine->smp.cpus; + s->binfo.board_id =3D MACH_TYPE_BCM2708; + s->binfo.ram_size =3D ram_size; + s->binfo.nb_cpus =3D machine->smp.cpus; =20 if (version <=3D 2) { /* The rpi1 and 2 require some custom setup code to run in Secure @@ -220,21 +220,21 @@ static void setup_boot(MachineState *machine, int ver= sion, size_t ram_size) * firmware for some cache maintenance operations. * The rpi3 doesn't need this. */ - binfo.board_setup_addr =3D BOARDSETUP_ADDR; - binfo.write_board_setup =3D write_board_setup; - binfo.secure_board_setup =3D true; - binfo.secure_boot =3D true; + s->binfo.board_setup_addr =3D BOARDSETUP_ADDR; + s->binfo.write_board_setup =3D write_board_setup; + s->binfo.secure_board_setup =3D true; + s->binfo.secure_boot =3D true; } =20 /* Pi2 and Pi3 requires SMP setup */ if (version >=3D 2) { - binfo.smp_loader_start =3D SMPBOOT_ADDR; + s->binfo.smp_loader_start =3D SMPBOOT_ADDR; if (version =3D=3D 2) { - binfo.write_secondary_boot =3D write_smpboot; + s->binfo.write_secondary_boot =3D write_smpboot; } else { - binfo.write_secondary_boot =3D write_smpboot64; + s->binfo.write_secondary_boot =3D write_smpboot64; } - binfo.secondary_cpu_reset_hook =3D reset_secondary; + s->binfo.secondary_cpu_reset_hook =3D reset_secondary; } =20 /* If the user specified a "firmware" image (e.g. UEFI), we bypass @@ -250,11 +250,11 @@ static void setup_boot(MachineState *machine, int ver= sion, size_t ram_size) exit(1); } =20 - binfo.entry =3D firmware_addr; - binfo.firmware_loaded =3D true; + s->binfo.entry =3D firmware_addr; + s->binfo.firmware_loaded =3D true; } =20 - arm_load_kernel(&s->soc.cpu[0].core, machine, &binfo); + arm_load_kernel(&s->soc.cpu[0].core, machine, &s->binfo); } =20 static void raspi_machine_init(MachineState *machine) --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601566902; cv=none; d=zohomail.com; s=zohoarc; b=n38hKqlY8F/Q/iW+DObCbU+hyok2XaSZLqd0ymNU47tst88JDNJWo/74rVWjcWfDrxIIof+3a5pUIqLorkakqdWI01qDTk5jEuBPo+Nsa9O/OnJRglaIB8S0La4j389vlNnF7vO3wZsD9sssZVE6YYmzZqoDErJmqOewVEpHtGY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601566902; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=cvsmXOGHcKXV23YMgllN9zrk0dtzY5vA/uGDuKWBck8=; b=X9V70vmGuOuezWf/aqzpbPywKSYv3ecPnNzd/zI0pBNhVCbh5s9j9vJo144ZOgp4CC7dfEH9qFipnDw0d2iBebK41pLaO0p7fJpBYQ+Ut9BgFxJcGL/k7O+tP80L/ag6uYKvtrQf51xXYu0Xpa8sFZHpbJESqAWGyQ16Tcq9How= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 160156690219959.160794938864; Thu, 1 Oct 2020 08:41:42 -0700 (PDT) Received: from localhost ([::1]:35934 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO02t-00034H-9I for importer@patchew.org; Thu, 01 Oct 2020 10:58:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43198) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzse-0005EW-Qf for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:24 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:44852) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsc-0002zr-S3 for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:24 -0400 Received: by mail-wr1-x443.google.com with SMTP id s12so6113675wrw.11 for ; Thu, 01 Oct 2020 07:48:22 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.20 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=cvsmXOGHcKXV23YMgllN9zrk0dtzY5vA/uGDuKWBck8=; b=TJm5QYdNe3lXkg6MpbgWYTioDHbyP06pyn8G1twFFoBqi2d0jXjwRKeMTuTqc5oZdO tabtPc/vSqEnDkuuMgEevfXJdgLjwoQWbJdc1VnikwIZXO2jlGPVzTsQb4zHazbQe6HQ WUMrnPn2kGLXBcMAfDK7O5KceU3RmvFCBIqEU3ukBvZa0xNsaU10Kv0rNto4o/hJ9gTe PxUVgR4gynmYnivdF9HsdZblOry5UjjiHIrJk+jyqWJk/Pa6uyeEVIGGJ9+sr/FyX4Ii G2jyXNAUFFR7kf3Pgntc4W3+3d8jL6lyYN+fnFP7MaU2VcqB8JcEOgBuivwv9t+RaJCp Bt8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cvsmXOGHcKXV23YMgllN9zrk0dtzY5vA/uGDuKWBck8=; b=jiCNrOrugtAJL3iw4vCv/ZS7p0cMgyKaZuVR0sBw/r7lBOwUxg1GOtYFgdcVz0pjfd byEadiBOAZUgV/l86kJuiBq43xS8s/wuSqdJlAWpSChd2PChDlFhB3dV0JgsAXL5h9tT jgz/OktylwcwoRKmvWcfB+P8RDu15f9Bgm4uNa9mymPZUqYtM0z1/LYMiUMM1+ajqnMv hnKgRLP47IVGaF6lm77in6AA884+VIGdzpp44ttwWeQgRIZPaKfeMHyDR6SBLs/DKiIF YSevYMCeg0rQzrKJvkIBfLZVdznL5sdUm1bEucahq3NCnK2NwrNW6uUnjE14qQ9fT7lQ 1KUQ== X-Gm-Message-State: AOAM532MhlKUmmlwzvtNJmL3ubCQ5/pwH1tWSVhRq0lQIuJlr1uc4qGA 1ENNNJuumI7QqFsZ1Q25F3/8LW1DNvzZSh4h X-Google-Smtp-Source: ABdhPJwVMoKJ1IVjhoDzyTolI04T8O66N3oMED+KNcJD381YwcRYGZDbWeNq8N0B+gIAktS1Fgbs0w== X-Received: by 2002:adf:dcc7:: with SMTP id x7mr9599452wrm.203.1601563701171; Thu, 01 Oct 2020 07:48:21 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 14/18] hw/arm/raspi: Avoid using TypeInfo::class_data pointer Date: Thu, 1 Oct 2020 15:47:55 +0100 Message-Id: <20201001144759.5964-15-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x443.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 Using class_data pointer to create a MachineClass is not the recommended way anymore. The correct way is to open-code the MachineClass::fields in the class_init() method. We can not use TYPE_RASPI_MACHINE::class_base_init() because it is called *before* each machine class_init(), therefore the board_rev field is not populated. We have to manually call raspi_machine_class_common_init() for each machine. This partly reverts commit a03bde3674e. Suggested-by: Igor Mammedov Reviewed-by: Richard Henderson Reviewed-by: Igor Mammedov Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200924111808.77168-5-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 34 ++++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 16e6c83c925..3000e6d57e6 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -306,13 +306,9 @@ static void raspi_machine_init(MachineState *machine) setup_boot(machine, version, machine->ram_size - vcram_size); } =20 -static void raspi_machine_class_init(ObjectClass *oc, void *data) +static void raspi_machine_class_common_init(MachineClass *mc, + uint32_t board_rev) { - MachineClass *mc =3D MACHINE_CLASS(oc); - RaspiMachineClass *rmc =3D RASPI_MACHINE_CLASS(oc); - uint32_t board_rev =3D (uint32_t)(uintptr_t)data; - - rmc->board_rev =3D board_rev; mc->desc =3D g_strdup_printf("Raspberry Pi %s (revision 1.%u)", board_type(board_rev), FIELD_EX32(board_rev, REV_CODE, REVISION)); @@ -326,18 +322,36 @@ static void raspi_machine_class_init(ObjectClass *oc,= void *data) mc->default_ram_id =3D "ram"; }; =20 +static void raspi2b_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + RaspiMachineClass *rmc =3D RASPI_MACHINE_CLASS(oc); + + rmc->board_rev =3D 0xa21041; + raspi_machine_class_common_init(mc, rmc->board_rev); +}; + +#ifdef TARGET_AARCH64 +static void raspi3b_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + RaspiMachineClass *rmc =3D RASPI_MACHINE_CLASS(oc); + + rmc->board_rev =3D 0xa02082; + raspi_machine_class_common_init(mc, rmc->board_rev); +}; +#endif /* TARGET_AARCH64 */ + static const TypeInfo raspi_machine_types[] =3D { { .name =3D MACHINE_TYPE_NAME("raspi2"), .parent =3D TYPE_RASPI_MACHINE, - .class_init =3D raspi_machine_class_init, - .class_data =3D (void *)0xa21041, + .class_init =3D raspi2b_machine_class_init, #ifdef TARGET_AARCH64 }, { .name =3D MACHINE_TYPE_NAME("raspi3"), .parent =3D TYPE_RASPI_MACHINE, - .class_init =3D raspi_machine_class_init, - .class_data =3D (void *)0xa02082, + .class_init =3D raspi3b_machine_class_init, #endif }, { .name =3D TYPE_RASPI_MACHINE, --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601567501; cv=none; d=zohomail.com; s=zohoarc; b=OTSvnKkxS94GmyaNB2A7T9jvllke93w+hDUy2bYupiHvCNi3tVdwx4b8NHsOOgoP49d34CRD64fPf9Db97GOHiEetw6w3qJ9AfKRLber+swAD/vwPbuH0lvTchMjmpRX8qkLpSJYxDX0Qe5NRAg1bTFh86yAEXJjFbL407NSv80= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601567501; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1TKuqdKYSMqANiZvdGq2s6JBaVSnghGWY2T9WlsB/o0=; b=h60f9Gfs1vx6yldWYoJweUx0r5eF4+ubv73m+u15sg3AdcJEu1+gfjN+jVQ1uhiQL1vke6ABVNktM04n3UvrLuQundoFNVCYpnoxL59aNW6PectQZ8VnZ4kJc3MHwQ9JeybrN7xxFKkesn8s3yCMx++6pAjUbZxXHNOvUnRSbY4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601567501499985.6076622044607; Thu, 1 Oct 2020 08:51:41 -0700 (PDT) Received: from localhost ([::1]:59210 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO0CA-0005aU-Fs for importer@patchew.org; Thu, 01 Oct 2020 11:08:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43212) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsf-0005GU-M1 for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:25 -0400 Received: from mail-wr1-x443.google.com ([2a00:1450:4864:20::443]:34689) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsd-000309-Pv for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:25 -0400 Received: by mail-wr1-x443.google.com with SMTP id t10so6134951wrv.1 for ; Thu, 01 Oct 2020 07:48:23 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=1TKuqdKYSMqANiZvdGq2s6JBaVSnghGWY2T9WlsB/o0=; b=tGRiWZ4DG87JRyfWPN2OhkeTFYrZy09ZvFLNp/E5M78BzuVRoGIact4AmW+aogE4Wx n+hOS7nSSM6sc4wpaJsU/iRdVZq24BxNUV/SdRgDA81Wuf3L8dts6L7aehWZGnglHOHl QNdhHlACIsBgkAwtygFeaKMt/QgNFIGu8Jho6fAVC1plFLQQ7OD4/Ke9tPaCyfM+1JK+ lP5YHbEQ3fF5+px7OjxvICEIur3wkgTYMMM+HmB+wkWikXKnrKLqh/27E2CxGTywUbPw gl5aYlrskTealvAP46yQJ72SZo33e6Kw0DsMpqEB6SKnskxbqeG0OZaa8M4gjXOXmpl4 HOMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1TKuqdKYSMqANiZvdGq2s6JBaVSnghGWY2T9WlsB/o0=; b=VHurTw87nRD0JXd9EcuvqfT3DYSf2TSkeGuRlfGmPs4dw+4JsTfXaVO/dgtJp2TRjt 7DkaVAuiFtSk/1Qgw82aVVqvRQepaBwu6EAs+iV9aEwXvXIEv/qJggUF/M+CGa06H6Vo Uux4X0xbZCdbLEVP3+nwwgQ6XSSDKnwuXGFH3fQT/njZ0It7LEfhg6zdMJQUJ72NyyPF x4SeWT4Lh1PRgdkutN5tAaaTYBBr0P3j0JMrZfGCI1CjiO4qmGHZEYcv5y3TzIZQ75Xe Rq4NXh3k1dK2galnKZHulDS9xP6NgMBsdY8zBjYVw3HcvhszW9HcxcFatidb7Yenm+P9 mEVA== X-Gm-Message-State: AOAM533GTfqPphnqqlbhGCOBCyUOMwxwN/l3oKpUuJeA0oczyVi73qrM MzgSNkXEYU5Wj0J84EOzqxlHzrpxM6+FYKuz X-Google-Smtp-Source: ABdhPJyAi/+YBZke/4hVDlYZOkGuB1GgV2JuKuGkGJddGL2BIrGNFKHq8tcjmlkZfiMR0e9zu0degw== X-Received: by 2002:adf:e488:: with SMTP id i8mr10055037wrm.116.1601563702150; Thu, 01 Oct 2020 07:48:22 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 15/18] hw/arm/raspi: Use more specific machine names Date: Thu, 1 Oct 2020 15:47:56 +0100 Message-Id: <20201001144759.5964-16-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::443; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x443.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 Now that we can instantiate different machines based on their board_rev register value, we can have various raspi2 and raspi3. In commit fc78a990ec103 we corrected the machine description. Correct the machine names too. For backward compatibility, add an alias to the previous generic name. Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200924111808.77168-6-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 3000e6d57e6..3426521379e 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -327,6 +327,7 @@ static void raspi2b_machine_class_init(ObjectClass *oc,= void *data) MachineClass *mc =3D MACHINE_CLASS(oc); RaspiMachineClass *rmc =3D RASPI_MACHINE_CLASS(oc); =20 + mc->alias =3D "raspi2"; rmc->board_rev =3D 0xa21041; raspi_machine_class_common_init(mc, rmc->board_rev); }; @@ -337,6 +338,7 @@ static void raspi3b_machine_class_init(ObjectClass *oc,= void *data) MachineClass *mc =3D MACHINE_CLASS(oc); RaspiMachineClass *rmc =3D RASPI_MACHINE_CLASS(oc); =20 + mc->alias =3D "raspi3"; rmc->board_rev =3D 0xa02082; raspi_machine_class_common_init(mc, rmc->board_rev); }; @@ -344,12 +346,12 @@ static void raspi3b_machine_class_init(ObjectClass *o= c, void *data) =20 static const TypeInfo raspi_machine_types[] =3D { { - .name =3D MACHINE_TYPE_NAME("raspi2"), + .name =3D MACHINE_TYPE_NAME("raspi2b"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi2b_machine_class_init, #ifdef TARGET_AARCH64 }, { - .name =3D MACHINE_TYPE_NAME("raspi3"), + .name =3D MACHINE_TYPE_NAME("raspi3b"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi3b_machine_class_init, #endif --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601565071; cv=none; d=zohomail.com; s=zohoarc; b=JxuBXxSQNCdUQfAN9eAx2EIvrw32OSin87Cp2ulz++RkLXBXKHRzaNK7MwdDmADKX69u+krWuq0E8ZXjjOKsihyWO3vHTJA7wo/tC4519YVsmNScngY6XfBCV09Ojz38/9kEW2aHiah207z16g6lFSgwKYD1nStv2WHaF33Yao4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601565071; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uTbLU0RMMX1YLcqLkOSI8U6uV/lVcqOS45S2U0pseyk=; b=eKmooKx6RUfWd+ov1htFwvD7P04B21oQBQsh3L0zLZWd58+6YDem0s/IgYtBqkksIu6f813evWSPPqHthzuP+/w3d0Fz88GLc0rU2d12UN8WNw0E2JbQseO7GP2sgKTo9eyvQ28RYK1ixSi4FSMps12IbdXUBIGMAQ5mtTKnmlA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601565071573318.13650219010356; Thu, 1 Oct 2020 08:11:11 -0700 (PDT) Received: from localhost ([::1]:38716 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO0Eg-0000Zp-9U for importer@patchew.org; Thu, 01 Oct 2020 11:11:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43226) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsg-0005Iw-Ih for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:26 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]:41783) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzse-00030M-NY for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:26 -0400 Received: by mail-wr1-x435.google.com with SMTP id w5so6109747wrp.8 for ; Thu, 01 Oct 2020 07:48:24 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=uTbLU0RMMX1YLcqLkOSI8U6uV/lVcqOS45S2U0pseyk=; b=K8LusoQnfADNrQXqHC9Khus/78eeCGB+NtrqK22qAG6aIz0gMwK+qUhqMcxh/W41Wp YwRbCfcWLaHYkLu2QQW2bIJyVMaHUP+wMBFBmODn4ViB2a2qeysst1v/ytbI1bYO1L3l tOwMjHQwCqq+w7IuNJ71ZKjZv3XqGk6nb6cGpcIj2f7gdqLbDWBzzuomfqNdd6oFybqG dj2vl9VaMi6puiFRG24J423J0YKwCsFSLMX91EE5kdpCz8H8jOgwSCqumfbnjGgyA5j2 kbAIIVmXiz2hmgj9AbaEp7tJLymsHFFRw1eIXAx9nQtor43nPhXlcO9jb3JAYUnuebZE 9v4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=uTbLU0RMMX1YLcqLkOSI8U6uV/lVcqOS45S2U0pseyk=; b=oK3yEZUxSQkG2YMImAr9mnXwagH9AU5hW7J8tQtNfNrhw/uQfsUBgrznwCl7fXk78O b+Mf8hFLqX8gb1UjS/fvAyZr7tivMp7FNTJJVUDJ6fdwMis5t215K/Li6OImBkCdziL5 O/LykLMFl/phCAXMrY/YyVAi4+VsQqkHlZ2bbXM6Vxsd2p6Z+Ov50C82zQuaZW/NkH1y y8ouEKs4Zb3K/qDfOfZwPhaHtEncNd8vqA2gvmFRDQJCimjYlL8QszYZ62AtsTOKcLaa oaQEMgCtExyoBXChiyoJ7xz5mRfcIHet/asO2HXANC65I/1w0k7G8vkquKgqtcjjKmfL YW3g== X-Gm-Message-State: AOAM532T1mwImT4kuaAdieYpPA3W2FQp+QmSopT58c+cdcksTxuNY4jH ANn/5FlDsJ4G/h26bn21YTTf4ycVgF0JBXZq X-Google-Smtp-Source: ABdhPJzuQAhrMofNwSrXA8UuZVk6mVMvwxAARnZZ/Z8U3RtO/iCtm6U8kDYEBaPgIQLdzpICTxCZ+Q== X-Received: by 2002:a5d:44cc:: with SMTP id z12mr9739519wrr.189.1601563703177; Thu, 01 Oct 2020 07:48:23 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 16/18] hw/arm/raspi: Introduce RaspiProcessorId enum Date: Thu, 1 Oct 2020 15:47:57 +0100 Message-Id: <20201001144759.5964-17-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x435.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 As we only support a reduced set of the REV_CODE_PROCESSOR id encoded in the board revision, define the PROCESSOR_ID values as an enum. We can simplify the board_soc_type and cores_count methods. Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200924111808.77168-7-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 3426521379e..0d8e5a34c78 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -69,16 +69,33 @@ FIELD(REV_CODE, MANUFACTURER, 16, 4); FIELD(REV_CODE, MEMORY_SIZE, 20, 3); FIELD(REV_CODE, STYLE, 23, 1); =20 +typedef enum RaspiProcessorId { + PROCESSOR_ID_BCM2836 =3D 1, + PROCESSOR_ID_BCM2837 =3D 2, +} RaspiProcessorId; + +static const struct { + const char *type; + int cores_count; +} soc_property[] =3D { + [PROCESSOR_ID_BCM2836] =3D {TYPE_BCM2836, BCM283X_NCPUS}, + [PROCESSOR_ID_BCM2837] =3D {TYPE_BCM2837, BCM283X_NCPUS}, +}; + static uint64_t board_ram_size(uint32_t board_rev) { assert(FIELD_EX32(board_rev, REV_CODE, STYLE)); /* Only new style */ return 256 * MiB << FIELD_EX32(board_rev, REV_CODE, MEMORY_SIZE); } =20 -static int board_processor_id(uint32_t board_rev) +static RaspiProcessorId board_processor_id(uint32_t board_rev) { + int proc_id =3D FIELD_EX32(board_rev, REV_CODE, PROCESSOR); + assert(FIELD_EX32(board_rev, REV_CODE, STYLE)); /* Only new style */ - return FIELD_EX32(board_rev, REV_CODE, PROCESSOR); + assert(proc_id < ARRAY_SIZE(soc_property) && soc_property[proc_id].typ= e); + + return proc_id; } =20 static int board_version(uint32_t board_rev) @@ -88,32 +105,12 @@ static int board_version(uint32_t board_rev) =20 static const char *board_soc_type(uint32_t board_rev) { - static const char *soc_types[] =3D { - NULL, TYPE_BCM2836, TYPE_BCM2837, - }; - int proc_id =3D board_processor_id(board_rev); - - if (proc_id >=3D ARRAY_SIZE(soc_types) || !soc_types[proc_id]) { - error_report("Unsupported processor id '%d' (board revision: 0x%x)= ", - proc_id, board_rev); - exit(1); - } - return soc_types[proc_id]; + return soc_property[board_processor_id(board_rev)].type; } =20 static int cores_count(uint32_t board_rev) { - static const int soc_cores_count[] =3D { - 0, BCM283X_NCPUS, BCM283X_NCPUS, - }; - int proc_id =3D board_processor_id(board_rev); - - if (proc_id >=3D ARRAY_SIZE(soc_cores_count) || !soc_cores_count[proc_= id]) { - error_report("Unsupported processor id '%d' (board revision: 0x%x)= ", - proc_id, board_rev); - exit(1); - } - return soc_cores_count[proc_id]; + return soc_property[board_processor_id(board_rev)].cores_count; } =20 static const char *board_type(uint32_t board_rev) --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601569865; cv=none; d=zohomail.com; s=zohoarc; b=fq7FSQRyZtJkVHTETpEMS17UsvqcveovcZbX23Bsh1TZ+elM4XWc/gcOym2D3xM7Gc+czd5/N9VmoBRbmP1l/FtDsoWg9bprv0Oe/IQbzr4WM6APGMlYTNwg6N/F53WU5VUVXZV7flrB2t5sCQQJN1KDtLed0AbhsZeW2R3rYiY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601569865; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=d0y5K6KRHiKmYugnVjPJ0WrocgiRHX3D6Xfcay0Qg9E=; b=bxQXiMIfD4fsjFusyGhKFaQnzx8OQXMdmsWjk760c1rhCsxtbBTUIeOM5+J6mbCh2x/MjZQ+bv3jQy85voYrsuGRpI7wgZZEs9CmiNEKwL2anuX876TjRuRVFj2SBBdPJg8Hkh7pD70aYHOsznKlFr+sLybLIEKMpY4F+zSiPmc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601569865719792.151734459206; Thu, 1 Oct 2020 09:31:05 -0700 (PDT) Received: from localhost ([::1]:44506 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO06r-0006wx-Cu for importer@patchew.org; Thu, 01 Oct 2020 11:03:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43238) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsh-0005LF-GL for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:27 -0400 Received: from mail-wr1-x441.google.com ([2a00:1450:4864:20::441]:32919) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsf-00031j-Of for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:27 -0400 Received: by mail-wr1-x441.google.com with SMTP id m6so6131930wrn.0 for ; Thu, 01 Oct 2020 07:48:25 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=d0y5K6KRHiKmYugnVjPJ0WrocgiRHX3D6Xfcay0Qg9E=; b=dWgyu+Ame1E+4rhugoalxSFas4vP04ZWXS5ECCAvlsv5u8QuNjXL2I7FW5TnGV83IF yBy2HhplWvO4m6kc4GnWOzQNbkX+Nj3e+C5tAUaymyAbOMlZRG8sugR1aRetryMhC7Jr yAjgxffcvFkK70JP98NwmLXDfo22rVb+illeLWOC4LT6pC5tl2g6bYvKCAEIdqU8cOTp 621+fk2qNAu2p38cXwX7GGC0S4ypaHPA0HmLkkX4hurOn6+hijtONIqaOF8PGCh3rt/+ /74GwR+SGjr6cpa5Wq1zMTKvbDc6wEZk0Mb0JrgTvPwdadfXJm8bQRfBOjwq3+ZB1zc7 YB+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=d0y5K6KRHiKmYugnVjPJ0WrocgiRHX3D6Xfcay0Qg9E=; b=qT2H+9m8vimTrFwEopvHernSAMp1wJO5s1maRb/o5pEf25nXqDhBTB4H7prD0CurMb jESbyiXRDaX+ufXdq4QhG8bSazp1wdY5PyLmDrMGeEYLJMeiaUCT3TuZH0JuN78sE2E8 hrkXUzbav0b6cUuY90kLez7JpnjoB5V3NEYtRmCtyQNpb3aWGkoY9OJ/897xyvB4N1ek Mq3ffX9nm9boFEfBqrzImkOJMxe0kPiNR6AMrK6MD8zjkErQV5AJBWRkrY4yuDDTVEyF gpeicaKniQ9fB/Ezx4EYf+TfrNDGUtdPw252wZfzFEJIizZbAzj8AFYyT0z9f2zHx9yu e3fA== X-Gm-Message-State: AOAM533z2LaJy0fVpxKvqwWrMK1QMO3KqZd7hT1qymOmyzqkyyaeFHog So2OuteYDkgQjWAqfsa+J37JiWoC5H4YM21s X-Google-Smtp-Source: ABdhPJyme2WriagkxGFAAxgMgwdMSKLkoioOSsTE6Ae8CgLB7y9W/CkxT3veiczgTyENjYJAdoTLSg== X-Received: by 2002:a05:6000:7:: with SMTP id h7mr9988047wrx.16.1601563704144; Thu, 01 Oct 2020 07:48:24 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 17/18] hw/arm/raspi: Use RaspiProcessorId to set the firmware load address Date: Thu, 1 Oct 2020 15:47:58 +0100 Message-Id: <20201001144759.5964-18-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::441; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x441.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 The firmware load address depends on the SoC ("processor id") used, not on the version of the board. Suggested-by: Luc Michel Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200924111808.77168-8-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 0d8e5a34c78..ae98a2fbfca 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -238,7 +238,8 @@ static void setup_boot(MachineState *machine, int versi= on, size_t ram_size) * the normal Linux boot process */ if (machine->firmware) { - hwaddr firmware_addr =3D version =3D=3D 3 ? FIRMWARE_ADDR_3 : FIRM= WARE_ADDR_2; + hwaddr firmware_addr =3D processor_id <=3D PROCESSOR_ID_BCM2836 + ? FIRMWARE_ADDR_2 : FIRMWARE_ADDR_3; /* load the firmware image (typically kernel.img) */ r =3D load_image_targphys(machine->firmware, firmware_addr, ram_size - firmware_addr); --=20 2.20.1 From nobody Mon Feb 9 12:11:42 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1601566878; cv=none; d=zohomail.com; s=zohoarc; b=jQzCkcgNGeWTI4CQUR3mzmriLQfLNmu+P28xlK3ccDo0VEHYYU84DujXUrSfYpdQE9Et9TUfsl1upzqoO2Yp3uFQXtC6v05RrHI6bxhFgMEMBF/l9sE52NLzUf08vD160wkVvCfQ6E2VG8csVh6ZJpQPPTCqFesECru4cLk3KUQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1601566878; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MXn7GPNB0G2xDNlS9e9pEhshZeJq6tfNJlqpKjovYoA=; b=oBx/ZcRT41ZJnmuUXlHVsCmlcQp4yYc+IpOXfEoA3pxTEgKZ4EvR1urCYoawjY0FLnWKfyRiUaK/r2AJXDoaYwlOEJwBFYUS+JUFSNgFVYrE9HNkdwV/kHLh6ZEufwDd++Zw9/hU/wd3m2b/iRdPQ3lci8rKaCHa3o2G4WrUHzE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1601566878599417.35440663014197; Thu, 1 Oct 2020 08:41:18 -0700 (PDT) Received: from localhost ([::1]:52878 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kO09Y-0002GD-MO for importer@patchew.org; Thu, 01 Oct 2020 11:05:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:43248) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kNzsi-0005Nd-UA for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:29 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]:34170) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kNzsg-00031w-Ne for qemu-devel@nongnu.org; Thu, 01 Oct 2020 10:48:28 -0400 Received: by mail-wr1-x42f.google.com with SMTP id t10so6135149wrv.1 for ; Thu, 01 Oct 2020 07:48:26 -0700 (PDT) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 70sm342052wme.15.2020.10.01.07.48.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 01 Oct 2020 07:48:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=MXn7GPNB0G2xDNlS9e9pEhshZeJq6tfNJlqpKjovYoA=; b=Mg6QWscXZCnAVSAtJIDqDPmrKifDYscXYB9mlkHBn08cStoy+4AUueT2vkZdnTE5mA nTB53a60uXBGI2h5oVeu2XLLtU5Pz3lVQrHL4bTr5PloaziXlCj3QUl2IlITnaYns2EZ yiiSSqfrTAHdY1hyv67eLseF49+vXCRf/w+bg5WmJkuWkI5ewY6HQrLkp4LJ1e9z3p6m kEBkJUM6m8cFRfMS7Upwn3C7mzxRuuopzNyW7TuZb0cx/frEFlVlkXjkCV8V+DCkwXsL 2IOkNCb1dnT/9X2rvBiV9XY/hecaw6QEGfNn+qfbq/jix5FJx6VbkJ1vMpPG2o4cNLqx KqcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MXn7GPNB0G2xDNlS9e9pEhshZeJq6tfNJlqpKjovYoA=; b=CnFZ4SXI0jsZ9tdKNBt6rXANcM6EmPljuZ6hlgeuEILmOtUU5a3byTmnk/TIO6iU1o U3ajC+/pvqA1CmVrLzI6ldY7/oVdCaTDP3K1qOlqXGzrRjiwaVhUGTqTPYVPC0nwIhWu rb1A/BwaFv+rI7HuBUY+Q+QEf4pbu5jUg6RwtZAjztOguY8vQAv/JjB/TKqcWhyKpShj YCXvfqD/V/9oAf/PSJrY2rvzpdVIukwhqQk4GWhtc2aJ40BYHq34e6PPoOqhuuqLEhph tsmcntKJJCYAHGNSHokyf2x980IRgBb5eZ+IFnZalSD6PQbhVfBzejeMKmKAR2yE8F4E 69ZA== X-Gm-Message-State: AOAM531/jp3EdGuLNR7PRcgLmFonutmIymd8i9gOjL3z7lcuYUG5Lpj4 osS0OXdAEPIjrf0c4NCY3jWPQzMzKxR/R0wn X-Google-Smtp-Source: ABdhPJxhraQVbVmwxc1FmiNRTNOP5DQUrhdxMr7mrV6mD7xmndeWAo8i3OkvTkcYUCnW0q+BW71kNw== X-Received: by 2002:adf:f34a:: with SMTP id e10mr9365472wrp.91.1601563705121; Thu, 01 Oct 2020 07:48:25 -0700 (PDT) From: Peter Maydell To: qemu-devel@nongnu.org Subject: [PULL 18/18] hw/arm/raspi: Remove use of the 'version' value in the board code Date: Thu, 1 Oct 2020 15:47:59 +0100 Message-Id: <20201001144759.5964-19-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201001144759.5964-1-peter.maydell@linaro.org> References: <20201001144759.5964-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=peter.maydell@linaro.org; helo=mail-wr1-x42f.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) From: Philippe Mathieu-Daud=C3=A9 We expected the 'version' ID to match the board processor ID, but this is not always true (for example boards with revision id 0xa02042/0xa22042 are Raspberry Pi 2 with a BCM2837 SoC). This was not important because we were not modelling them, but since the recent refactor now allow to model these boards, it is safer to check the processor id directly. Remove the version check. Suggested-by: Peter Maydell Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-id: 20200924111808.77168-9-f4bug@amsat.org Signed-off-by: Peter Maydell --- hw/arm/raspi.c | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index ae98a2fbfca..b5b30f0f38f 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -98,11 +98,6 @@ static RaspiProcessorId board_processor_id(uint32_t boar= d_rev) return proc_id; } =20 -static int board_version(uint32_t board_rev) -{ - return board_processor_id(board_rev) + 1; -} - static const char *board_soc_type(uint32_t board_rev) { return soc_property[board_processor_id(board_rev)].type; @@ -201,7 +196,8 @@ static void reset_secondary(ARMCPU *cpu, const struct a= rm_boot_info *info) cpu_set_pc(cs, info->smp_loader_start); } =20 -static void setup_boot(MachineState *machine, int version, size_t ram_size) +static void setup_boot(MachineState *machine, RaspiProcessorId processor_i= d, + size_t ram_size) { RaspiMachineState *s =3D RASPI_MACHINE(machine); int r; @@ -210,12 +206,13 @@ static void setup_boot(MachineState *machine, int ver= sion, size_t ram_size) s->binfo.ram_size =3D ram_size; s->binfo.nb_cpus =3D machine->smp.cpus; =20 - if (version <=3D 2) { - /* The rpi1 and 2 require some custom setup code to run in Secure - * mode before booting a kernel (to set up the SMC vectors so - * that we get a no-op SMC; this is used by Linux to call the + if (processor_id <=3D PROCESSOR_ID_BCM2836) { + /* + * The BCM2835 and BCM2836 require some custom setup code to run + * in Secure mode before booting a kernel (to set up the SMC vecto= rs + * so that we get a no-op SMC; this is used by Linux to call the * firmware for some cache maintenance operations. - * The rpi3 doesn't need this. + * The BCM2837 doesn't need this. */ s->binfo.board_setup_addr =3D BOARDSETUP_ADDR; s->binfo.write_board_setup =3D write_board_setup; @@ -223,10 +220,10 @@ static void setup_boot(MachineState *machine, int ver= sion, size_t ram_size) s->binfo.secure_boot =3D true; } =20 - /* Pi2 and Pi3 requires SMP setup */ - if (version >=3D 2) { + /* BCM2836 and BCM2837 requires SMP setup */ + if (processor_id >=3D PROCESSOR_ID_BCM2836) { s->binfo.smp_loader_start =3D SMPBOOT_ADDR; - if (version =3D=3D 2) { + if (processor_id =3D=3D PROCESSOR_ID_BCM2836) { s->binfo.write_secondary_boot =3D write_smpboot; } else { s->binfo.write_secondary_boot =3D write_smpboot64; @@ -260,7 +257,6 @@ static void raspi_machine_init(MachineState *machine) RaspiMachineClass *mc =3D RASPI_MACHINE_GET_CLASS(machine); RaspiMachineState *s =3D RASPI_MACHINE(machine); uint32_t board_rev =3D mc->board_rev; - int version =3D board_version(board_rev); uint64_t ram_size =3D board_ram_size(board_rev); uint32_t vcram_size; DriveInfo *di; @@ -301,7 +297,8 @@ static void raspi_machine_init(MachineState *machine) =20 vcram_size =3D object_property_get_uint(OBJECT(&s->soc), "vcram-size", &error_abort); - setup_boot(machine, version, machine->ram_size - vcram_size); + setup_boot(machine, board_processor_id(mc->board_rev), + machine->ram_size - vcram_size); } =20 static void raspi_machine_class_common_init(MachineClass *mc, --=20 2.20.1