121ebbedaSXiao Guangrong #ifndef _ASM_X86_KVM_PAGE_TRACK_H 221ebbedaSXiao Guangrong #define _ASM_X86_KVM_PAGE_TRACK_H 321ebbedaSXiao Guangrong 421ebbedaSXiao Guangrong enum kvm_page_track_mode { 521ebbedaSXiao Guangrong KVM_PAGE_TRACK_WRITE, 621ebbedaSXiao Guangrong KVM_PAGE_TRACK_MAX, 721ebbedaSXiao Guangrong }; 821ebbedaSXiao Guangrong 921ebbedaSXiao Guangrong void kvm_page_track_free_memslot(struct kvm_memory_slot *free, 1021ebbedaSXiao Guangrong struct kvm_memory_slot *dont); 1121ebbedaSXiao Guangrong int kvm_page_track_create_memslot(struct kvm_memory_slot *slot, 1221ebbedaSXiao Guangrong unsigned long npages); 13f29d4d78SXiao Guangrong 14f29d4d78SXiao Guangrong void kvm_slot_page_track_add_page(struct kvm *kvm, 15f29d4d78SXiao Guangrong struct kvm_memory_slot *slot, gfn_t gfn, 16f29d4d78SXiao Guangrong enum kvm_page_track_mode mode); 17f29d4d78SXiao Guangrong void kvm_slot_page_track_remove_page(struct kvm *kvm, 18f29d4d78SXiao Guangrong struct kvm_memory_slot *slot, gfn_t gfn, 19f29d4d78SXiao Guangrong enum kvm_page_track_mode mode); 203d0c27adSXiao Guangrong bool kvm_page_track_is_active(struct kvm_vcpu *vcpu, gfn_t gfn, 213d0c27adSXiao Guangrong enum kvm_page_track_mode mode); 2221ebbedaSXiao Guangrong #endif 23