Re: [PATCH v7 23/23] [DO NOT MERGE] arm64: Cope with CPUs stuck in VHE mode
From: Jonathan Neuschäfer <hidden>
Date: 2021-02-22 09:36:56
Also in:
kvmarm, lkml
From: Jonathan Neuschäfer <hidden>
Date: 2021-02-22 09:36:56
Also in:
kvmarm, lkml
Hi, On Mon, Feb 08, 2021 at 09:57:32AM +0000, Marc Zyngier wrote:
It seems that the CPU known as Apple M1 has the terrible habit of being stuck with HCR_EL2.E2H==1, in violation of the architecture.
Minor nitpick from the sideline: The M1 SoC has two kinds of CPU in it (Icestorm and Firestorm), which makes "CPU known as Apple M1" a bit imprecise. In practicality it seems unlikely though, that Icestorm and Firestorm act differently with regards to the code in this patch. Best regards, Jonathan Neuschäfer
Try and work around this deplorable state of affairs by detecting the stuck bit early and short-circuit the nVHE dance. It is still unknown whether there are many more such nuggets to be found... Reported-by: Hector Martin <redacted> Signed-off-by: Marc Zyngier <maz@kernel.org> --- arch/arm64/kernel/head.S | 33 ++++++++++++++++++++++++++++++--- arch/arm64/kernel/hyp-stub.S | 28 ++++++++++++++++++++++++---- 2 files changed, 54 insertions(+), 7 deletions(-)
[...]