[PATCH 0/8] KVM: arm64: Host EL2 entry improvements
Marc Zyngier
maz at kernel.org
Mon Oct 26 05:51:08 EDT 2020
This small series reworks various bits of the host EL2 entry after
Andrew's extensive rework to move from direct function calls to a
SMCCC implementation.
The first 3 patches are plain bug fixes, and candidates for immediate
merge into 5.10.
The following 2 patches allow the use of direct function pointers at
EL2, something that we can't do at the moment (other than PC-relative
addressing). This requires a helper to translate pointers at runtime,
but the result is neat enough. This allows the rewrite of the host HVC
handling in a more maintainable way.
A similar patch removes the direct use of kimage_voffset, which we
won't be able to trust for much longer.
The last two patches are just cleanups and optimisations.
Patches on top of 5.10-rc1.
Marc Zyngier (8):
KVM: arm64: Don't corrupt tpidr_el2 on failed HVC call
KVM: arm64: Remove leftover kern_hyp_va() in nVHE TLB invalidation
KVM: arm64: Drop useless PAN setting on host EL1 to EL2 transition
KVM: arm64: Add kimg_hyp_va() helper
KVM: arm64: Turn host HVC handling into a dispatch table
KVM: arm64: Patch kimage_voffset instead of loading the EL1 value
KVM: arm64: Simplify __kvm_enable_ssbs()
KVM: arm64: Avoid repetitive stack access on host EL1 to EL2 exception
arch/arm64/include/asm/kvm_asm.h | 2 -
arch/arm64/include/asm/kvm_mmu.h | 16 ++
arch/arm64/include/asm/sysreg.h | 1 +
arch/arm64/kernel/image-vars.h | 5 +-
arch/arm64/kvm/hyp/nvhe/host.S | 14 +-
arch/arm64/kvm/hyp/nvhe/hyp-init.S | 23 ++-
arch/arm64/kvm/hyp/nvhe/hyp-main.c | 231 +++++++++++++++++-----------
arch/arm64/kvm/hyp/nvhe/sysreg-sr.c | 11 --
arch/arm64/kvm/hyp/nvhe/tlb.c | 1 -
arch/arm64/kvm/va_layout.c | 56 +++++++
10 files changed, 236 insertions(+), 124 deletions(-)
--
2.28.0
More information about the linux-arm-kernel
mailing list