| From: James Hogan <james.hogan@imgtec.com> |
| Date: Tue, 3 Jan 2017 17:43:01 +0000 |
| Subject: KVM: MIPS: Flush KVM entry code from icache globally |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit 32eb12a6c11034867401d56b012e3c15d5f8141e upstream. |
| |
| Flush the KVM entry code from the icache on all CPUs, not just the one |
| that built the entry code. |
| |
| Signed-off-by: James Hogan <james.hogan@imgtec.com> |
| Cc: Paolo Bonzini <pbonzini@redhat.com> |
| Cc: "Radim Krčmář" <rkrcmar@redhat.com> |
| Cc: Ralf Baechle <ralf@linux-mips.org> |
| Cc: linux-mips@linux-mips.org |
| Cc: kvm@vger.kernel.org |
| Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> |
| [bwh: Backported to 3.16: adjust filename] |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| arch/mips/kvm/kvm_mips.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/arch/mips/kvm/kvm_mips.c |
| +++ b/arch/mips/kvm/kvm_mips.c |
| @@ -343,8 +343,8 @@ struct kvm_vcpu *kvm_arch_vcpu_create(st |
| mips32_GuestExceptionEnd - mips32_GuestException); |
| |
| /* Invalidate the icache for these ranges */ |
| - local_flush_icache_range((unsigned long)gebase, |
| - (unsigned long)gebase + ALIGN(size, PAGE_SIZE)); |
| + flush_icache_range((unsigned long)gebase, |
| + (unsigned long)gebase + ALIGN(size, PAGE_SIZE)); |
| |
| /* Allocate comm page for guest kernel, a TLB will be reserved for mapping GVA @ 0xFFFF8000 to this page */ |
| vcpu->arch.kseg0_commpage = kzalloc(PAGE_SIZE << 1, GFP_KERNEL); |