[PATCH 0/5] Backport ARM64 VHE boot fixes to 6.6.y
Oliver Upton
oupton at kernel.org
Wed Jul 1 16:23:21 PDT 2026
The subject prefix should be "[PATCH 6.6 0/5]" so people know right up
front where this is going.
On Wed, Jul 01, 2026 at 08:43:37PM +0000, Colton Lewis wrote:
> This series backports VHE CPU boot fixes to the 6.6.y stable branch.
>
> These fixes are already present in the 6.12.y stable branch (and
> newer), but are missing in 6.6.y. They are required to enable booting
> L1 guests with nested virtualization enabled (kvm-arm.mode=nested).
It's a bit worse than this. The architecture retroactively made
FEAT_E2H0 an optional feature, there are now implementations in the wild
that do not support the feature.
> Without these patches, a 6.6.y guest boots with HCR_EL2.E2H
> incorrectly configured (because it misses VHE-only detection or early
> initialization), causing early boot hangs/trap loops.
>
> Conflict resolutions:
> - Patch 4 (KVM: arm64: Initialize HCR_EL2.E2H early) had conflicts in
> arch/arm64/kvm/hyp/nvhe/hyp-init.S due to differences in state
> initialization. Resolved by extracting EL2 state initialization into
> __kvm_init_el2_state.
> - Patch 5 (arm64: Revamp HCR_EL2.E2H RES1 detection) had conflicts in
> arch/arm64/include/asm/el2_setup.h. Resolved by using raw msr hcr_el2
> instead of the missing msr_hcr_el2 macro.
>
>
> Marc Zyngier (4):
> arm64: sysreg: Add layout for ID_AA64MMFR4_EL1
> arm64: Treat HCR_EL2.E2H as RES1 when ID_AA64MMFR4_EL1.E2H0 is
> negative
> arm64: Fix early handling of FEAT_E2H0 not being implemented
> arm64: Revamp HCR_EL2.E2H RES1 detection
>
> Mark Rutland (1):
> KVM: arm64: Initialize HCR_EL2.E2H early
>
> arch/arm64/include/asm/el2_setup.h | 52 ++++++++++++++++++++++++++++++
> arch/arm64/kernel/head.S | 17 +++-------
> arch/arm64/kvm/hyp/nvhe/hyp-init.S | 16 +++++++--
> arch/arm64/tools/sysreg | 37 +++++++++++++++++++++
> 4 files changed, 107 insertions(+), 15 deletions(-)
>
>
> base-commit: d1cfde2d5d15be14123bdd1689162bd27f995a90
> --
> 2.55.0.rc2.803.g1fd1e6609c-goog
>
More information about the linux-arm-kernel
mailing list