summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2014-11-25 04:17:18 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:41:16 (GMT)
commite52550901c1eb63bbb65925be7540287c19e05b0 (patch)
tree12d66a57b54bab28496ef9ee7114404fb74dd023 /arch
parenta149e03550086723d2b204f24c7b58b5698174f5 (diff)
downloadlinux-fsl-qoriq-e52550901c1eb63bbb65925be7540287c19e05b0.tar.xz
KVM: PPC: e500: Clear mas5 in inval_ea_on_host()
Commit 5957374238 "KVM: PPC: e500: Fix tlbilx_all emulation for HTW" removed the clearing of MAS5 from inval_ea_on_host() while moving it between files. As a result, KVM causes MAS5 to be set for guest mappings even when normal host Linux code is running, which renders host invalidations-by-page ineffective. This caused corruption in the host. Signed-off-by: Scott Wood <scottwood@freescale.com> Change-Id: I0401e85dcd6a50961ce4657110bfaf66d90c87d4 Reviewed-on: http://git.am.freescale.net:8181/24460 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Stuart Yoder <stuart.yoder@freescale.com> Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kvm/e500mc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c
index bbf7cdd..7764aab 100644
--- a/arch/powerpc/kvm/e500mc.c
+++ b/arch/powerpc/kvm/e500mc.c
@@ -101,6 +101,7 @@ void inval_ea_on_host(struct kvm_vcpu *vcpu, gva_t ea, int pid, int sas,
sas | (sind << MAS6_SIND_SHIFT));
asm volatile("tlbilx 3, 0, %[ea]\n" : :
[ea] "r" (ea));
+ mtspr(SPRN_MAS5, 0);
local_irq_restore(flags);
}