summaryrefslogtreecommitdiff
path: root/arch/mips/kvm/mmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/kvm/mmu.c')
-rw-r--r--arch/mips/kvm/mmu.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/mips/kvm/mmu.c b/arch/mips/kvm/mmu.c
index 3dabeda82458..7e055e5dfd3c 100644
--- a/arch/mips/kvm/mmu.c
+++ b/arch/mips/kvm/mmu.c
@@ -491,7 +491,8 @@ int kvm_unmap_hva_range(struct kvm *kvm, unsigned long start, unsigned long end,
{
handle_hva_to_gpa(kvm, start, end, &kvm_unmap_hva_handler, NULL);
- kvm_mips_callbacks->flush_shadow_all(kvm);
+ kvm_mips_callbacks->prepare_flush_shadow(kvm);
+ kvm_flush_remote_tlbs(kvm);
return 0;
}
@@ -532,8 +533,10 @@ int kvm_set_spte_hva(struct kvm *kvm, unsigned long hva, pte_t pte)
int ret;
ret = handle_hva_to_gpa(kvm, hva, end, &kvm_set_spte_handler, &pte);
- if (ret)
- kvm_mips_callbacks->flush_shadow_all(kvm);
+ if (ret) {
+ kvm_mips_callbacks->prepare_flush_shadow(kvm);
+ kvm_flush_remote_tlbs(kvm);
+ }
return 0;
}