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 C348CCA0EDA for ; Mon, 11 Aug 2025 22:03:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Type:MIME-Version: References:In-Reply-To:Subject:Cc:To:From:Message-ID:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SgNGATrm/WH0QDl7mmzOa5WFM8SQEpzU/Vlg/+6qt5Y=; b=D3uljMiNMEvc4FMlnJPbcDVTGA hxSQhasHPEfZyR2CEfmydCWwCK9eXBGJgoVzRfR+pdOZ+cnfKZiMSS4kfx0uohFjOWcSy35zdeOJx A7LLy4Jsy1WV1OtI8Y4Iz8H29NTD0VwRCN1bzFaKzArCb6kW0h9gcxG6u+D3mIYm9DTaTc56KH+53 vVAYZ7TsMv/sWpG+3n/nnbPEifiJkUVT6TUfFu6cCJxY2tDjN/pNLHRPAVobHLe0aslWUHPwXei5C YVMXBWcLx3zpefhJ7a9if7i8lHl3la98n34pvMtEZUYH73m6a0OtXol/JMIbKJfrYduK9pTHLOHga nIakDx+A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1ulabk-00000009BAG-25fJ; Mon, 11 Aug 2025 22:03:08 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1ulWc0-00000008azW-3O6E for linux-arm-kernel@lists.infradead.org; Mon, 11 Aug 2025 17:47:10 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 2AD465C5E1F; Mon, 11 Aug 2025 17:47:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0E84C4CEED; Mon, 11 Aug 2025 17:47:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1754934427; bh=mKkMaxD4qpSG42cXfEv3ipOX0l9wTH41ysdWD1UmrT0=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=VQUhIEGPNQISsLZcnMINwUCYKwurxMVFcnnTSSVsMcchwocP/tXl7XzBCvbHJye/L 78fWe94P8TB1QeNbZxSiY4e4e/EsLD2sCTZRSYyzvoB2quOJO9Zn2QW41rK+SOrkVB 1DGsBklzX/0bkNlZvfay1W6Jxs9GQhTtqLw0tqGJd45coWAQV5KpCdhwROCIpy9SqP iVkKAyUy2ehBGWf7HRfh8XKry1uwTNJX9JYE7bQSSYkvh+5J9yUM+KZSwWXoilId38 NmnTiYuAImqp9HLINsn7xz+6tKgCx7SeXQMepyaW8zDRhD3jnWZJtrkKjamUxzoton WjmlsY78uNvOg== Received: from sofa.misterjones.org ([185.219.108.64] helo=goblin-girl.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1ulWbh-006Lr3-KO; Mon, 11 Aug 2025 18:46:50 +0100 Date: Mon, 11 Aug 2025 18:46:48 +0100 Message-ID: <86sehx92ev.wl-maz@kernel.org> From: Marc Zyngier To: Yeoreum Yun Cc: catalin.marinas@arm.com, will@kernel.org, broonie@kernel.org, oliver.upton@linux.dev, anshuman.khandual@arm.com, robh@kernel.org, james.morse@arm.com, mark.rutland@arm.com, joey.gouly@arm.com, ry111@xry111.site, Dave.Martin@arm.com, ahmed.genidi@arm.com, kevin.brodsky@arm.com, scott@os.amperecomputing.com, mbenes@suse.cz, james.clark@linaro.org, frederic@kernel.org, rafael@kernel.org, pavel@kernel.org, ryan.roberts@arm.com, suzuki.poulose@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kvmarm@lists.linux.dev Subject: Re: [PATCH v2 1/6] arm64: make SCTLR2_EL1 accessible In-Reply-To: <20250811163340.1561893-2-yeoreum.yun@arm.com> References: <20250811163340.1561893-1-yeoreum.yun@arm.com> <20250811163340.1561893-2-yeoreum.yun@arm.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/30.1 (aarch64-unknown-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: yeoreum.yun@arm.com, catalin.marinas@arm.com, will@kernel.org, broonie@kernel.org, oliver.upton@linux.dev, anshuman.khandual@arm.com, robh@kernel.org, james.morse@arm.com, mark.rutland@arm.com, joey.gouly@arm.com, ry111@xry111.site, Dave.Martin@arm.com, ahmed.genidi@arm.com, kevin.brodsky@arm.com, scott@os.amperecomputing.com, mbenes@suse.cz, james.clark@linaro.org, frederic@kernel.org, rafael@kernel.org, pavel@kernel.org, ryan.roberts@arm.com, suzuki.poulose@arm.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, kvmarm@lists.linux.dev 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-20250811_104708_926967_9DC52A8C X-CRM114-Status: GOOD ( 19.84 ) 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: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Mon, 11 Aug 2025 17:33:35 +0100, Yeoreum Yun wrote: > > make SCTLR2_EL1 accssible to initilise it. nit: "accessible", "initialise". This could deserve a slightly less terse message, so that someone who is not very much versed into the boring details of the architecture can make sense of this patch. Because, frankly, if you can access HCRX_EL2, why can't you access SCTLR2_EL1? You know why, I know why, but hardly anyone else does. I'd suggest something along the lines of: "When the kernel runs at EL1, and yet is booted at EL2, HCRX_EL2.SCTLR2En must be set to avoid trapping SCTLR2_EL1 accesses from EL1 to EL2. Ensure this bit is set at the point of initialising EL2." which at least explains why we're doing this. > > Signed-off-by: Yeoreum Yun > --- > arch/arm64/include/asm/el2_setup.h | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/include/asm/el2_setup.h b/arch/arm64/include/asm/el2_setup.h > index 46033027510c..d755b4d46d77 100644 > --- a/arch/arm64/include/asm/el2_setup.h > +++ b/arch/arm64/include/asm/el2_setup.h > @@ -57,9 +57,15 @@ > /* Enable GCS if supported */ > mrs_s x1, SYS_ID_AA64PFR1_EL1 > ubfx x1, x1, #ID_AA64PFR1_EL1_GCS_SHIFT, #4 > - cbz x1, .Lset_hcrx_\@ > + cbz x1, .Lskip_hcrx_GCSEn_\@ > orr x0, x0, #HCRX_EL2_GCSEn > > +.Lskip_hcrx_GCSEn_\@: > + mrs_s x1, SYS_ID_AA64MMFR3_EL1 > + ubfx x1, x1, #ID_AA64MMFR3_EL1_SCTLRX_SHIFT, #4 > + cbz x1, .Lset_hcrx_\@ > + orr x0, x0, HCRX_EL2_SCTLR2En > + > .Lset_hcrx_\@: > msr_s SYS_HCRX_EL2, x0 > .Lskip_hcrx_\@: With that fixed, Reviewed-by: Marc Zyngier M. -- Without deviation from the norm, progress is not possible.