Re: [PATCH v7 23/23] [DO NOT MERGE] arm64: Cope with CPUs stuck in VHE mode

From: Jonathan Neuschäfer
Date: Mon Feb 22 2021 - 04:36:55 EST


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 <marcan@xxxxxxxxx>
> Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
> ---
> arch/arm64/kernel/head.S | 33 ++++++++++++++++++++++++++++++---
> arch/arm64/kernel/hyp-stub.S | 28 ++++++++++++++++++++++++----
> 2 files changed, 54 insertions(+), 7 deletions(-)
[...]

Attachment: signature.asc
Description: PGP signature