Re: [PATCH v12 02/29] arm64/fpsimd: Update FA64 and ZT0 enables when loading SME state
From: Mark Brown
Date: Fri Jul 17 2026 - 20:35:46 EST
On Thu, Jul 16, 2026 at 04:28:02PM +0100, Mark Brown wrote:
> On Thu, Jul 16, 2026 at 11:52:36AM +0100, Mark Rutland wrote:
> > > if (test_thread_flag(TIF_SME)) {
> > > - unsigned long vq = sve_vq_from_vl(sme_vl);
> > > - sysreg_clear_set_s(SYS_SMCR_EL1, SMCR_ELx_LEN, vq - 1);
> > > + sysreg_cond_update_s(SYS_SMCR_EL1, task_smcr(current));
> > > + isb();
> > > }
> > What's the ISB for? That mysteriously appeared in v11 without
> > explanation. It wasn't in the original code, prior versions of the
> > series, or my suggested rework with the task_smcr() helper.
> > I don't believe it's necessary to add an ISB here.
> I can't remember or figure it out, I'll delete.
Actually I remembered: while SCMR_EL1.LEN is self synchronising the
"without the need for explict synchronization" wording is not present
for SMCR_EL1.{FA64,EZT0} and this is no longer explicitly just an update
of LEN. It's possible I'm being overly paranoid here, I'll leave the
isb() and add a comment for the next version.
Attachment:
signature.asc
Description: PGP signature