Messages in this thread | | | Subject | Re: [PATCH v6 05/21] arm64: Initialise as nVHE before switching to VHE | From | Hector Martin 'marcan' <> | Date | Fri, 5 Feb 2021 21:01:46 +0900 |
| |
On 01/02/2021 20.56, Marc Zyngier wrote: > As we are aiming to be able to control whether we enable VHE or > not, let's always drop down to EL1 first, and only then upgrade > to VHE if at all possible. > > This means that if the kernel is booted at EL2, we always start > with a nVHE init, drop to EL1 to initialise the the kernel, and > only then upgrade the kernel EL to EL2 if possible (the process > is obviously shortened for secondary CPUs).
Unfortunately, this is going to break on Apple SoCs, where it turns out HCR_EL2.E2H is hard-wired to 1 - there is no nVHE mode. :(
>>> mrs(HCR_EL2) & (1<<34) 0x400000000 >>> msr(HCR_EL2, mrs(HCR_EL2) & ~(1<<34)) >>> mrs(HCR_EL2) & (1<<34) 0x400000000
-- Hector Martin "marcan" (marcan@marcan.st) Public Key: https://mrcn.st/pub
| |