Lines Matching refs:memslot
130 static void mark_page_dirty_in_slot(struct kvm_memory_slot *memslot, gfn_t gfn);
542 static void kvm_destroy_dirty_bitmap(struct kvm_memory_slot *memslot) in kvm_destroy_dirty_bitmap() argument
544 if (!memslot->dirty_bitmap) in kvm_destroy_dirty_bitmap()
547 kvfree(memslot->dirty_bitmap); in kvm_destroy_dirty_bitmap()
548 memslot->dirty_bitmap = NULL; in kvm_destroy_dirty_bitmap()
567 struct kvm_memory_slot *memslot; in kvm_free_memslots() local
572 kvm_for_each_memslot(memslot, slots) in kvm_free_memslots()
573 kvm_free_memslot(kvm, memslot, NULL); in kvm_free_memslots()
792 static int kvm_create_dirty_bitmap(struct kvm_memory_slot *memslot) in kvm_create_dirty_bitmap() argument
794 unsigned long dirty_bytes = 2 * kvm_dirty_bitmap_bytes(memslot); in kvm_create_dirty_bitmap()
796 memslot->dirty_bitmap = kvzalloc(dirty_bytes, GFP_KERNEL); in kvm_create_dirty_bitmap()
797 if (!memslot->dirty_bitmap) in kvm_create_dirty_bitmap()
1102 struct kvm_memory_slot *memslot; in kvm_get_dirty_log() local
1113 memslot = id_to_memslot(slots, id); in kvm_get_dirty_log()
1114 if (!memslot->dirty_bitmap) in kvm_get_dirty_log()
1117 n = kvm_dirty_bitmap_bytes(memslot); in kvm_get_dirty_log()
1120 any = memslot->dirty_bitmap[i]; in kvm_get_dirty_log()
1122 if (copy_to_user(log->dirty_bitmap, memslot->dirty_bitmap, n)) in kvm_get_dirty_log()
1158 struct kvm_memory_slot *memslot; in kvm_get_dirty_log_protect() local
1170 memslot = id_to_memslot(slots, id); in kvm_get_dirty_log_protect()
1172 dirty_bitmap = memslot->dirty_bitmap; in kvm_get_dirty_log_protect()
1176 n = kvm_dirty_bitmap_bytes(memslot); in kvm_get_dirty_log_protect()
1178 dirty_bitmap_buffer = kvm_second_dirty_bitmap(memslot); in kvm_get_dirty_log_protect()
1197 kvm_arch_mmu_enable_log_dirty_pt_masked(kvm, memslot, in kvm_get_dirty_log_protect()
1234 struct kvm_memory_slot *memslot = gfn_to_memslot(kvm, gfn); in kvm_is_visible_gfn() local
1236 if (!memslot || memslot->id >= KVM_USER_MEM_SLOTS || in kvm_is_visible_gfn()
1237 memslot->flags & KVM_MEMSLOT_INVALID) in kvm_is_visible_gfn()
1840 static int __kvm_write_guest_page(struct kvm_memory_slot *memslot, gfn_t gfn, in __kvm_write_guest_page() argument
1846 addr = gfn_to_hva_memslot(memslot, gfn); in __kvm_write_guest_page()
1852 mark_page_dirty_in_slot(memslot, gfn); in __kvm_write_guest_page()
1929 ghc->memslot = __gfn_to_memslot(slots, start_gfn); in __kvm_gfn_to_hva_cache_init()
1930 ghc->hva = gfn_to_hva_many(ghc->memslot, start_gfn, NULL); in __kvm_gfn_to_hva_cache_init()
1940 ghc->memslot = __gfn_to_memslot(slots, start_gfn); in __kvm_gfn_to_hva_cache_init()
1941 ghc->hva = gfn_to_hva_many(ghc->memslot, start_gfn, in __kvm_gfn_to_hva_cache_init()
1948 ghc->memslot = NULL; in __kvm_gfn_to_hva_cache_init()
1973 if (unlikely(!ghc->memslot)) in kvm_write_guest_offset_cached()
1982 mark_page_dirty_in_slot(ghc->memslot, gpa >> PAGE_SHIFT); in kvm_write_guest_offset_cached()
2006 if (unlikely(!ghc->memslot)) in kvm_read_guest_cached()
2047 static void mark_page_dirty_in_slot(struct kvm_memory_slot *memslot, in mark_page_dirty_in_slot() argument
2050 if (memslot && memslot->dirty_bitmap) { in mark_page_dirty_in_slot()
2051 unsigned long rel_gfn = gfn - memslot->base_gfn; in mark_page_dirty_in_slot()
2053 set_bit_le(rel_gfn, memslot->dirty_bitmap); in mark_page_dirty_in_slot()
2059 struct kvm_memory_slot *memslot; in mark_page_dirty() local
2061 memslot = gfn_to_memslot(kvm, gfn); in mark_page_dirty()
2062 mark_page_dirty_in_slot(memslot, gfn); in mark_page_dirty()
2068 struct kvm_memory_slot *memslot; in kvm_vcpu_mark_page_dirty() local
2070 memslot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_mark_page_dirty()
2071 mark_page_dirty_in_slot(memslot, gfn); in kvm_vcpu_mark_page_dirty()