On Fri, 19 Dec 2025 10:21:20 +0000, Wei-Lin Chang weilin.chang@arm.com wrote:
Hi,
This series is a v6.12-only backport (based on v6.12.62) of fixes for system register initialization issues affecting protected KVM on arm64. This affects some contemporary and upcoming hardware which will run the v6.12.y stable kernel, or something derived from it, such as the Android common kernel.
The FEAT_E2H0 patches fix code introduced after v6.6, and so only need to be backported to v6.12.
The SCTLR_EL1 patch fixes code introduced in v5.11, but practically speaking only affects recent hardware which is unlikely to run something older than v6.12.
Note: Marc Zyngier performed the initial backport, which I have rebased and tested, hence both of our sign-offs being added to the tags from the upstream commits.
I have tested the backport and observed they solve the problems as expected.
Ahmed Genidi (1): KVM: arm64: Initialize SCTLR_EL1 in __kvm_hyp_init_cpu()
Marc Zyngier (1): arm64: Revamp HCR_EL2.E2H RES1 detection
Mark Rutland (1): KVM: arm64: Initialize HCR_EL2.E2H early
arch/arm64/include/asm/el2_setup.h | 57 +++++++++++++++++++++++++--- arch/arm64/kernel/head.S | 22 ++--------- arch/arm64/kvm/hyp/nvhe/hyp-init.S | 10 +++-- arch/arm64/kvm/hyp/nvhe/psci-relay.c | 3 ++ 4 files changed, 65 insertions(+), 27 deletions(-)
Great, thanks for going through this and having tested it!
Hopefully Greg will be able to take it at the next opportunity for a stable 6.12 release.
Cheers,
M.