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);
2021ebbedaSXiao Guangrong #endif
21