From patchwork Tue Apr 14 21:31:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Deacon X-Patchwork-Id: 11489323 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DE52C92C for ; Tue, 14 Apr 2020 21:31:35 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B013820644 for ; Tue, 14 Apr 2020 21:31:35 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Y3j41dcW"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="GJNTUFI7" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B013820644 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=V3EjUkr6pZbcqX9cvnIJ6Eqlo8q0tvnMfJJLab1JCVo=; b=Y3j41dcWNCXuxu e16NHtt5yPLoD9NOngr+9+0jNOn5WzC75vFOx6qJ+Y86peuA7hMujbz6jnIMYNbRjo3BTaMZe4+gl jkVAyv/QvR4WutC3AerN7DcqCju4RL7CjCudA+MoFFOhFpHfG+Jp/0F92AlJjZVCW6j9J77QlCz2X QYeeAL1MQxBAX2JHU4WipK0GXsft/FPGIbrH32xVLIYaoT8UbjlZuqFwyKtMvJ7hZhsMYbZ4eVFzc gUuQnPbgvngit7NJt4FzLLaPodiTYrmbxq7W3AfauZJZsNT+7xeeqkv5gH1ixMte9tjStwuLDfimp XrjF8dF7qA6RnWYhMKyw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jOT9U-00020L-DK; Tue, 14 Apr 2020 21:31:28 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jOT9R-0001ze-QD for linux-arm-kernel@lists.infradead.org; Tue, 14 Apr 2020 21:31:27 +0000 Received: from localhost.localdomain (236.31.169.217.in-addr.arpa [217.169.31.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id F369320644; Tue, 14 Apr 2020 21:31:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1586899884; bh=qeG55Sjfpyu47bFN+MIW7aw5s10goy92+ZhxxXPxgLA=; h=From:To:Cc:Subject:Date:From; b=GJNTUFI7Ga6QB1tE8ADU5wTm6J3Znm9yDhnzk02eI1nHt2RXGL4ZBivouf8AzK+H+ 2r5KYB9HelKtM8LlTi5bi8/yFDKY3Jc0nUnhKXbOhKJDDy3xVyDIdguYTF0m7M0M8Z E6cmcsfaMMjenVFhUnJb+ao24FOPYE0P4rxLGmRE= From: Will Deacon To: linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu Subject: [PATCH 0/8] Relax sanity checking for mismatched AArch32 EL1 Date: Tue, 14 Apr 2020 22:31:06 +0100 Message-Id: <20200414213114.2378-1-will@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200414_143125_873563_1BF32B87 X-CRM114-Status: GOOD ( 12.11 ) X-Spam-Score: -5.2 (-----) X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary: Content analysis details: (-5.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at https://www.dnswl.org/, high trust [198.145.29.99 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.0 DKIMWL_WL_HIGH DKIMwl.org - Whitelisted High sender X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Sai Prakash Ranjan , kernel-team@android.com, Anshuman Khandual , Marc Zyngier , Suzuki K Poulose , linux-kernel@vger.kernel.org, Doug Anderson , Catalin Marinas , Will Deacon Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Hi all, For better or worse, there are SoCs in production where some, but not all of the CPUs, support AArch32 at EL1 and above. Right now, that results in "SANITY CHECK" warnings during boot and an unconditional kernel taint. This patch series tries to do a bit better: the only time we care about AArch32 at EL1 is for KVM, so rather than throw our toys out of the pram, we can instead just disable support for 32-bit guests on these systems. In the unlikely scenario of a late CPU hotplug being the first time we notice that AArch32 is not available, then we fail the hotplug (right now we let the thing come online, which leads to hilarious results for any pre-existing 32-bit guests). Feedback welcome, Will Cc: Suzuki K Poulose Cc: Mark Rutland Cc: Marc Zyngier Cc: Anshuman Khandual Cc: Catalin Marinas Cc: Sai Prakash Ranjan Cc: Doug Anderson Cc: kernel-team@android.com --->8 Sai Prakash Ranjan (1): arm64: cpufeature: Relax check for IESB support Will Deacon (7): arm64: cpufeature: Spell out register fields for ID_ISAR4 and ID_PFR1 arm64: cpufeature: Add CPU capability for AArch32 EL1 support arm64: cpufeature: Remove redundant call to id_aa64pfr0_32bit_el0() arm64: cpufeature: Factor out checking of AArch32 features arm64: cpufeature: Relax AArch32 system checks if EL1 is 64-bit only arm64: cpufeature: Relax checks for AArch32 support at EL[0-2] arm64: cpufeature: Add an overview comment for the cpufeature framework arch/arm64/include/asm/cpucaps.h | 3 +- arch/arm64/include/asm/cpufeature.h | 7 + arch/arm64/include/asm/sysreg.h | 18 +++ arch/arm64/kernel/cpufeature.c | 236 +++++++++++++++++++++------- arch/arm64/kvm/reset.c | 12 +- 5 files changed, 206 insertions(+), 70 deletions(-) Tested-by: saiprakash.ranjan@codeaurora.org Tested-by: Sai Prakash Ranjan