|
@@ -7021,6 +7021,11 @@ out_free:
|
|
|
|
|
|
void kvm_arch_memslots_updated(struct kvm *kvm)
|
|
|
{
|
|
|
+ /*
|
|
|
+ * memslots->generation has been incremented.
|
|
|
+ * mmio generation may have reached its maximum value.
|
|
|
+ */
|
|
|
+ kvm_mmu_invalidate_mmio_sptes(kvm);
|
|
|
}
|
|
|
|
|
|
int kvm_arch_prepare_memory_region(struct kvm *kvm,
|
|
@@ -7083,11 +7088,6 @@ void kvm_arch_commit_memory_region(struct kvm *kvm,
|
|
|
*/
|
|
|
if ((change != KVM_MR_DELETE) && (mem->flags & KVM_MEM_LOG_DIRTY_PAGES))
|
|
|
kvm_mmu_slot_remove_write_access(kvm, mem->slot);
|
|
|
- /*
|
|
|
- * If memory slot is created, or moved, we need to clear all
|
|
|
- * mmio sptes.
|
|
|
- */
|
|
|
- kvm_mmu_invalidate_mmio_sptes(kvm);
|
|
|
}
|
|
|
|
|
|
void kvm_arch_flush_shadow_all(struct kvm *kvm)
|