From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 1ABD1C433EF for ; Mon, 27 Jun 2022 15:15:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :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=ye9nmoPUUPT40upkCho5s7n3unXFiPvqK7GWNyrkNxs=; b=Ykb7s3VI0Or8CA FFTPNDPJf2tCITioe52Roe3/7+k+P5xNA6fauIN5JZHDfGv7S3PoLwsfdm3Qx3lj71v18DXVbN5vT RAZYoV8SYhn+rUTY+Bw12aDdCZDJfWyFFwzZ3Nphkw91Hg5r8xvoKkpizNQdV4HHt4PeYi9nbVoHx nH3ImzCm0gBGmrsJECesE6yi9wFzXZ4qjyt1E7CxP4d5fpYbFyOKBZrOgNNbQ70Y5M9x2SoIsZaHW iH3gEOwUrFzQy3lr/Pz6RYsKYvkahtB9/nHmr2KTnArIiQ0n+JPSoUPRgJn4dZMwtDz7SJmzpypEZ nSQ44wr4U8pKjsCNEVEA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o5qR8-001ZFL-Jx; Mon, 27 Jun 2022 15:14:02 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o5qR5-001ZEf-S3 for linux-arm-kernel@lists.infradead.org; Mon, 27 Jun 2022 15:14:01 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 6BCBB615C7; Mon, 27 Jun 2022 15:13:59 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C7EA2C3411D; Mon, 27 Jun 2022 15:13:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1656342838; bh=+M+b/ZwJYZhgWrfHr9eglmGaNfiwvhoQYc7NU1WtnkA=; h=From:To:Cc:Subject:Date:From; b=jqr8gC0CiB9d1sDXAaff6+9Ap5ygTdlRwKJUzybXewJVEbGZpTCrBCSzcZ/7MDpsl /uqOTRBOk87RlY6od5oIJwlj+8vr2BugqUymuqCJ0hMgbEJpOC48DpnopKsvARvHYG bb+73+vABDJE0lkerlUm46nJW1XlXAhP7mmxO6XKA3FMLbt/IQIpY5E8DASbvIhoi+ hyixz7lePT8tq9iDyBjiHOMh4j3O+FpIQ6iFCY/MjvWSrIbZxdRfWMi9+sPq8V/U4L nI8FQBVFaj2AcaC/YjyjXbjgIBY53AwUWqs50pXVnbINryHsQzbM0EZbaZxVhO9djN JfrLDzjtmMC0Q== Received: from sofa.misterjones.org ([185.219.108.64] helo=why.lan) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1o5qR2-003Tyj-CC; Mon, 27 Jun 2022 16:13:56 +0100 From: Marc Zyngier To: linux-arm-kernel@lists.infradead.org Cc: Will Deacon , Catalin Marinas , Mark Rutland , Ard Biesheuvel , broonie@kernel.org, danielmentz@google.com, saravanak@google.com, kernel-team@android.com Subject: [PATCH 0/6] arm64: Disabling SVE/SME from the command-line Date: Mon, 27 Jun 2022 16:13:44 +0100 Message-Id: <20220627151344.1496343-1-maz@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: linux-arm-kernel@lists.infradead.org, will@kernel.org, catalin.marinas@arm.com, mark.rutland@arm.com, ardb@kernel.org, broonie@kernel.org, danielmentz@google.com, saravanak@google.com, kernel-team@android.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220627_081400_021251_EA7D1BF5 X-CRM114-Status: GOOD ( 15.56 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org This very short series reworks the way arm64 CPUs boot (yes, again) in order to opt out of some features early at boot, on top of the existing VHE-forced-into-nVHE use case and using the same idreg override infrastructure. The main victim here is SVE, because it seems that people have all sort of broken firmware out there, and that a distribution kernel cannot boot on that. And since we have a dependency between SVE and SME, disabling the former also disables the latter. The only positive aspect about this series is that it unifies the way the VHE-stuck CPUs boot with way the full-fat CPUs do (everybody takes a trip to EL1 before coming back to EL2, instead of the stay-at-EL2 approach we currently have). A small victory, which allows us to control the EL2 setup code more easily. Note that the SME code is totally untested (I don't have a model with that), but it looks obviously correct ;-), and that my SVE "platform" has a working firmware... Marc Zyngier (6): arm64: Rename the VHE switch to "finalise_el2" arm64: Save state of HCR_EL2.E2H before switch to EL1 arm64: Allow sticky E2H when entering EL1 arm64: Factor out checking of a feature against the override into a macro arm64: Add the arm64.nosme command line option arm64: Add the arm64.nosve command line option .../admin-guide/kernel-parameters.txt | 6 + Documentation/virt/kvm/arm/hyp-abi.rst | 2 +- arch/arm64/include/asm/cpufeature.h | 3 + arch/arm64/include/asm/el2_setup.h | 60 ---------- arch/arm64/include/asm/virt.h | 4 +- arch/arm64/kernel/cpufeature.c | 12 +- arch/arm64/kernel/head.S | 45 ++++---- arch/arm64/kernel/hyp-stub.S | 105 +++++++++++++----- arch/arm64/kernel/idreg-override.c | 55 ++++++++- arch/arm64/kernel/sleep.S | 2 +- 10 files changed, 171 insertions(+), 123 deletions(-) -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel