linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Mark Brown <broonie@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Peter Collingbourne <pcc@google.com>,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH] arm64/sme: Move storage of reg_smidr to __cpuinfo_store_cpu()
Date: Mon, 16 Dec 2024 15:28:25 +0000	[thread overview]
Message-ID: <8634insl46.wl-maz@kernel.org> (raw)
In-Reply-To: <Z2BCI61c9QWG7mMB@J2N7QTR9R3.cambridge.arm.com>

On Mon, 16 Dec 2024 15:07:15 +0000,
Mark Rutland <mark.rutland@arm.com> wrote:
> 
> On Mon, Dec 16, 2024 at 02:31:43PM +0000, Marc Zyngier wrote:
> > On Mon, 16 Dec 2024 12:38:17 +0000,
> > Mark Rutland <mark.rutland@arm.com> wrote:
> > > I think that what we did in commit:
> > > 
> > >    892f7237b3ff ("arm64: Delay initialisation of cpuinfo_arm64::reg_{zcr,smcr}")
> > > 
> > > ... introduces an anti-pattern that'd be nice to avoid. That broke the
> > > existing split of __cpuinfo_store_cpu() and init_cpu_features(), where
> > > the former read the ID regs, and the latter set up the features
> > > *without* altering the copy of the ID regs that was read. i.e.
> > > init_cpu_features() shouldn't write to its info argument at all.
> > > 
> > > I understand that we have to do something as a bodge for broken FW which
> > > traps SME, but I'd much rather we did that within __cpuinfo_store_cpu().
> > 
> > Honestly, I'd rather revert that patch, together with b3000e2133d8
> > ("arm64: Add the arm64.nosme command line option"). I'm getting tired
> > of the FW nonsense, and we are only allowing vendors to ship untested
> > crap.
> > 
> > Furthermore, given the state of SME in the kernel, I don't think this
> > is makes any difference. So maybe this is the right time to reset
> > everything to a sane state.
> 
> Looking again, a revert does look to be the best option.
> 
> We removed reg_zcr and reg_smcr in v6.7 in commits:
> 
>   abef0695f9665c3d ("arm64/sve: Remove ZCR pseudo register from cpufeature code")
>   391208485c3ad50f ("arm64/sve: Remove SMCR pseudo register from cpufeature code")
> 
> As of those commits, ZCR and SCMR no longer matter to
> __cpuinfo_store_cpu(), and only SMIDR_EL1 remains...
> 
> Per ARM DDI 0487 L.a, accesses to SMIDR_EL1 never trap to EL3, so we can
> read that safely as long as ID_AA64PFR1_EL1.SME indicates that SME is
> implemented.
> 
> Which is to say that if we revert the remaining portion of 892f7237b3ff
> and restore the read of SMIDR, that should be good as far back as v6.7,
> which sounds good to me.

Sounds reasonable indeed. I guess *someone* will want it for the
previous kernel versions, but they can have fun with the backport on
their own.

	M.

-- 
Without deviation from the norm, progress is not possible.


      parent reply	other threads:[~2024-12-16 15:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-14  0:52 [PATCH] arm64/sme: Move storage of reg_smidr to __cpuinfo_store_cpu() Mark Brown
2024-12-14 10:56 ` Marc Zyngier
2024-12-16 12:17   ` Mark Brown
2024-12-16 12:44     ` Mark Rutland
2024-12-16 13:23       ` Mark Brown
2024-12-16 14:31         ` Mark Rutland
2024-12-16 14:44           ` Marc Zyngier
2024-12-16 15:11             ` Mark Rutland
2024-12-16 12:38   ` Mark Rutland
2024-12-16 14:31     ` Marc Zyngier
2024-12-16 15:05       ` Mark Brown
2024-12-16 15:07       ` Mark Rutland
2024-12-16 15:21         ` Mark Brown
2024-12-16 15:28         ` Marc Zyngier [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8634insl46.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=broonie@kernel.org \
    --cc=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=pcc@google.com \
    --cc=stable@vger.kernel.org \
    --cc=will@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).