Lines Matching refs:slot
21 void kvm_page_track_free_memslot(struct kvm_memory_slot *slot) in kvm_page_track_free_memslot() argument
26 kvfree(slot->arch.gfn_track[i]); in kvm_page_track_free_memslot()
27 slot->arch.gfn_track[i] = NULL; in kvm_page_track_free_memslot()
31 int kvm_page_track_create_memslot(struct kvm_memory_slot *slot, in kvm_page_track_create_memslot() argument
37 slot->arch.gfn_track[i] = in kvm_page_track_create_memslot()
38 kvcalloc(npages, sizeof(*slot->arch.gfn_track[i]), in kvm_page_track_create_memslot()
40 if (!slot->arch.gfn_track[i]) in kvm_page_track_create_memslot()
47 kvm_page_track_free_memslot(slot); in kvm_page_track_create_memslot()
59 static void update_gfn_track(struct kvm_memory_slot *slot, gfn_t gfn, in update_gfn_track() argument
64 index = gfn_to_index(gfn, slot->base_gfn, PG_LEVEL_4K); in update_gfn_track()
66 val = slot->arch.gfn_track[mode][index]; in update_gfn_track()
71 slot->arch.gfn_track[mode][index] += count; in update_gfn_track()
87 struct kvm_memory_slot *slot, gfn_t gfn, in kvm_slot_page_track_add_page() argument
94 update_gfn_track(slot, gfn, mode, 1); in kvm_slot_page_track_add_page()
100 kvm_mmu_gfn_disallow_lpage(slot, gfn); in kvm_slot_page_track_add_page()
103 if (kvm_mmu_slot_gfn_write_protect(kvm, slot, gfn)) in kvm_slot_page_track_add_page()
122 struct kvm_memory_slot *slot, gfn_t gfn, in kvm_slot_page_track_remove_page() argument
128 update_gfn_track(slot, gfn, mode, -1); in kvm_slot_page_track_remove_page()
134 kvm_mmu_gfn_allow_lpage(slot, gfn); in kvm_slot_page_track_remove_page()
144 struct kvm_memory_slot *slot; in kvm_page_track_is_active() local
150 slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_page_track_is_active()
151 if (!slot) in kvm_page_track_is_active()
154 index = gfn_to_index(gfn, slot->base_gfn, PG_LEVEL_4K); in kvm_page_track_is_active()
155 return !!READ_ONCE(slot->arch.gfn_track[mode][index]); in kvm_page_track_is_active()
246 void kvm_page_track_flush_slot(struct kvm *kvm, struct kvm_memory_slot *slot) in kvm_page_track_flush_slot() argument
261 n->track_flush_slot(kvm, slot, n); in kvm_page_track_flush_slot()