summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMarc Zyngier <marc.zyngier@arm.com>2015-01-11 14:10:10 +0100
committerJiri Slaby <jslaby@suse.cz>2015-04-30 11:15:14 +0200
commitc387a64b1c1279565b98f97031e665813d4baba3 (patch)
tree3ac8f92ebfb07e649c6a8c8571f7b5344b91a29d /arch
parentfd700e92b07816f4ad1f378c9f1657fa1f09d9c5 (diff)
downloadlwn-c387a64b1c1279565b98f97031e665813d4baba3.tar.gz
lwn-c387a64b1c1279565b98f97031e665813d4baba3.zip
arm64: KVM: Fix TLB invalidation by IPA/VMID
commit 55e858b75808347378e5117c3c2339f46cc03575 upstream. It took about two years for someone to notice that the IPA passed to TLBI IPAS2E1IS must be shifted by 12 bits. Clearly our reviewing is not as good as it should be... Paper bag time for me. Reported-by: Mario Smarduch <m.smarduch@samsung.com> Tested-by: Mario Smarduch <m.smarduch@samsung.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/kvm/hyp.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/arm64/kvm/hyp.S b/arch/arm64/kvm/hyp.S
index caf3cca922c9..a255167baf6a 100644
--- a/arch/arm64/kvm/hyp.S
+++ b/arch/arm64/kvm/hyp.S
@@ -616,6 +616,7 @@ ENTRY(__kvm_tlb_flush_vmid_ipa)
* Instead, we invalidate Stage-2 for this IPA, and the
* whole of Stage-1. Weep...
*/
+ lsr x1, x1, #12
tlbi ipas2e1is, x1
/*
* We have to ensure completion of the invalidation at Stage-2,