All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.