Commit 9836c6b9 authored by Mario Smarduch's avatar Mario Smarduch Committed by Christoffer Dall

KVM: arm64: Add HYP interface to flush VM Stage 1/2 TLB entries

This patch adds support for arm64 hyp interface to flush all TLBs associated
with VMID.
Reviewed-by: default avatarChristoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: default avatarMario Smarduch <m.smarduch@samsung.com>
parent 8199ed0e
...@@ -1030,6 +1030,28 @@ ENTRY(__kvm_tlb_flush_vmid_ipa) ...@@ -1030,6 +1030,28 @@ ENTRY(__kvm_tlb_flush_vmid_ipa)
ret ret
ENDPROC(__kvm_tlb_flush_vmid_ipa) ENDPROC(__kvm_tlb_flush_vmid_ipa)
/**
* void __kvm_tlb_flush_vmid(struct kvm *kvm) - Flush per-VMID TLBs
* @struct kvm *kvm - pointer to kvm structure
*
* Invalidates all Stage 1 and 2 TLB entries for current VMID.
*/
ENTRY(__kvm_tlb_flush_vmid)
dsb ishst
kern_hyp_va x0
ldr x2, [x0, #KVM_VTTBR]
msr vttbr_el2, x2
isb
tlbi vmalls12e1is
dsb ish
isb
msr vttbr_el2, xzr
ret
ENDPROC(__kvm_tlb_flush_vmid)
ENTRY(__kvm_flush_vm_context) ENTRY(__kvm_flush_vm_context)
dsb ishst dsb ishst
tlbi alle1is tlbi alle1is
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment