From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiaoguang Chen Subject: [PATCH 2/2] KVM: MMU: apply page track notifier type track_flush_slot Date: Sun, 9 Oct 2016 15:41:44 +0800 Message-ID: <1475998904-13456-3-git-send-email-xiaoguang.chen@intel.com> References: <1475998904-13456-1-git-send-email-xiaoguang.chen@intel.com> Cc: Xiaoguang Chen To: kvm@vger.kernel.org, pbonzini@redhat.com, guangrong.xiao@intel.com, jike.song@intel.com Return-path: Received: from mga01.intel.com ([192.55.52.88]:51478 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751975AbcJIH6e (ORCPT ); Sun, 9 Oct 2016 03:58:34 -0400 In-Reply-To: <1475998904-13456-1-git-send-email-xiaoguang.chen@intel.com> Sender: kvm-owner@vger.kernel.org List-ID: Register the notifier type track_flush_slot to receive memslot move and remove event so that we can sync up our shadow page table Reviewed-by: Xiao Guangrong Signed-off-by: Chen Xiaoguang --- arch/x86/kvm/mmu.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index fa7fdd1..8537a21 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c @@ -4634,11 +4634,18 @@ void kvm_mmu_setup(struct kvm_vcpu *vcpu) init_kvm_mmu(vcpu); } +static void kvm_mmu_invalidate_zap_pages_in_memslot(struct kvm *kvm, + struct kvm_memory_slot *slot) +{ + kvm_mmu_invalidate_zap_all_pages(kvm); +} + void kvm_mmu_init_vm(struct kvm *kvm) { struct kvm_page_track_notifier_node *node = &kvm->arch.mmu_sp_tracker; node->track_write = kvm_mmu_pte_write; + node->track_flush_slot = kvm_mmu_invalidate_zap_pages_in_memslot; kvm_page_track_register_notifier(kvm, node); } -- 1.9.1