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

Christophe Fergeau cfergeau at redhat.com
Tue Nov 15 01:10:18 PST 2022


Hey,

пн, 14 нояб. 2022 г. в 15:18, Catalin Marinas <catalin.marinas at arm.com>:
>
> 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.

Yeah, a #ifdef would not work for me as CONFIG_ARM64_SME is set in
fedora kernel. If I decide to rebuild my own kernel for use on the M1
(which I am not planning to do), I can patch this anyway. Ideally it
would be possible to disable this from the kernel command line, but I
don't think that's possible :)
I guess the best I can do is to push my users to upgrade to macOS 13.

Thanks,

Christophe




More information about the linux-arm-kernel mailing list