[PATCH 2/3] arm64: Add HYP interface to flush VM Stage 1/2 TLB entires
Mario Smarduch
m.smarduch at samsung.com
Fri Nov 7 12:50:37 PST 2014
On 11/07/2014 12:20 PM, Christoffer Dall wrote:
> On Thu, Oct 09, 2014 at 07:34:06PM -0700, Mario Smarduch wrote:
>> This patch adds HYP VM TLB FLush function.
>>
>> Signed-off-by: Mario Smarduch <m.smarduch at samsung.com>
>> ---
>> arch/arm64/kvm/hyp.S | 22 ++++++++++++++++++++++
>> 1 file changed, 22 insertions(+)
>>
>> diff --git a/arch/arm64/kvm/hyp.S b/arch/arm64/kvm/hyp.S
>> index b0d1512..117a91c 100644
>> --- a/arch/arm64/kvm/hyp.S
>> +++ b/arch/arm64/kvm/hyp.S
>> @@ -645,6 +645,28 @@ ENTRY(__kvm_tlb_flush_vmid_ipa)
>> ret
>> ENDPROC(__kvm_tlb_flush_vmid_ipa)
>>
>> +/**
>> + * void __kvm_tlb_flush_vmid(struct kvm *kvm) - Flush per-VMID TLBs
>> + * @struc kvm *kvm - pointer to kvm structure
>
> struct
Got it.
>
>> + *
>> + * 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)
>> dsb ishst
>> tlbi alle1is
>> --
>> 1.9.1
>>
> Looks good to me:
>
> Reviewed-by: Christoffer Dall <christoffer.dall at linaro.org>
>
More information about the linux-arm-kernel
mailing list