[PATCH v4 3/4] arm64: Use __tlbi() macros in KVM code
Will Deacon
will.deacon at arm.com
Fri Jan 27 07:03:22 PST 2017
On Wed, Jan 25, 2017 at 10:52:31AM -0500, Christopher Covington wrote:
> Refactor the KVM code to use the __tlbi macros, which will allow an errata
> workaround that repeats tlbi dsb sequences to only change one location.
> This is not intended to change the generated assembly and comparing before
> and after vmlinux objdump shows no functional changes.
>
> Signed-off-by: Christopher Covington <cov at codeaurora.org>
> ---
> arch/arm64/kvm/hyp/tlb.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
[...]
> @@ -82,7 +83,7 @@ void __hyp_text __kvm_tlb_flush_local_vmid(struct kvm_vcpu *vcpu)
> void __hyp_text __kvm_flush_vm_context(void)
> {
> dsb(ishst);
> - asm volatile("tlbi alle1is \n"
> - "ic ialluis ": : );
> + __tlbi(alle1is);
> + asm volatile("ic ialluis" : : );
> dsb(ish);
Should be a separate patch, but this can now be a __flush_icache_all instead
of the open-coded asm.
Will
More information about the linux-arm-kernel
mailing list