[PATCH v10 09/39] arm64/sme: Basic enumeration support

Catalin Marinas catalin.marinas at arm.com
Mon Nov 14 06:08:45 PST 2022


On Wed, Nov 09, 2022 at 04:24:21PM +0100, Christophe Fergeau wrote:
> ср, 9 нояб. 2022 г. в 14:32, Mark Brown <broonie at kernel.org>:
> > On Tue, Nov 08, 2022 at 05:30:01PM +0100, Christophe Fergeau wrote:
> > > I've raised this issue with Apple as there's most likely a bug to fix in their
> > > hypervisor, but I was wondering if this could also be worked around kernel-side?
> > > Before this change, I've had no problems with my linux VMs.
> >
> > It should be *possible* to add quirks for this, but there was some
> > sentiment against adding workarounds where the out of spec system could
> > be fixed (unknown registers in the ID space are supposed to be read as
> > zero).
> 
> I haven't heard back from Apple yet. I've tried macOS 13 though, the
> latest macOS major version, and in this version, unpatched kernels
> boot fine, so they probably fixed this out of spec behaviour. It's
> only with macOS 12 that I'm hitting this read_cpuid() failure.
> macOS 13 was released just a few weeks ago, I'm not sure how fast "my"
> users will upgrade, nor if Apple will be willing to backport the fix
> to macOS 12 :-/ Having a workaround for a while would definitely help.

It's good that at least macOS 13 fixed it.

I'm not even sure how we could work around this in the kernel. There's
no meaningful MIDR to probe, nor do we know which macOS version it is
running on. The best we could do is put some #ifdef CONFIG_ARM64_SME
around the ID_AA64SMFR0_EL1 access but defconfig and most distros would
probably have the option on anyway.

-- 
Catalin



More information about the linux-arm-kernel mailing list