diff options
author | Scott Wood <scottwood@freescale.com> | 2014-11-25 04:17:18 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:41:16 (GMT) |
commit | e52550901c1eb63bbb65925be7540287c19e05b0 (patch) | |
tree | 12d66a57b54bab28496ef9ee7114404fb74dd023 /arch | |
parent | a149e03550086723d2b204f24c7b58b5698174f5 (diff) | |
download | linux-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.c | 1 |
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); } |