Unlike nVHE, there is no need to switch the stage-2 MMU around on guest entry/exit in VHE mode as the host is running at EL2. Despite this KVM reloads the stage-2 on every guest entry, which is needless. This series moves the setup of the stage-2 MMU context to vcpu_load() when running in VHE mode. This is likely to be a win across the board, but also allows us to remove an ISB on the guest entry path for systems with one of the speculative AT errata. None of my machines affected by the AT errata are VHE-capable, so it'd be appreciated if someone could give this series a go and make sure I haven't wrecked anything. Oliver Upton (3): KVM: arm64: Don't zero VTTBR in __tlb_switch_to_host() KVM: arm64: Rename helpers for VHE vCPU load/put KVM: arm64: Load the stage-2 MMU context in kvm_vcpu_load_vhe() arch/arm64/include/asm/kvm_host.h | 4 ++-- arch/arm64/include/asm/kvm_hyp.h | 2 ++ arch/arm64/kvm/arm.c | 4 ++-- arch/arm64/kvm/hyp/vhe/switch.c | 33 ++++++++++++++++++------------ arch/arm64/kvm/hyp/vhe/sysreg-sr.c | 11 ++++------ arch/arm64/kvm/hyp/vhe/tlb.c | 1 - 6 files changed, 30 insertions(+), 25 deletions(-) base-commit: 6465e260f48790807eef06b583b38ca9789b6072 -- 2.42.0.609.gbb76f46606-goog