Lines Matching refs:memslot

215 void kvmppc_map_vrma(struct kvm_vcpu *vcpu, struct kvm_memory_slot *memslot,  in kvmppc_map_vrma()  argument
229 npages = memslot->npages >> (porder - PAGE_SHIFT); in kvmppc_map_vrma()
495 struct kvm_memory_slot *memslot; in kvmppc_book3s_hv_page_fault() local
557 memslot = gfn_to_memslot(kvm, gfn); in kvmppc_book3s_hv_page_fault()
559 trace_kvm_page_fault_enter(vcpu, hpte, memslot, ea, dsisr); in kvmppc_book3s_hv_page_fault()
562 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_book3s_hv_page_fault()
570 if (gfn_base < memslot->base_gfn) in kvmppc_book3s_hv_page_fault()
585 hva = gfn_to_hva_memslot(memslot, gfn); in kvmppc_book3s_hv_page_fault()
681 rmap = &memslot->arch.rmap[gfn_base - memslot->base_gfn]; in kvmppc_book3s_hv_page_fault()
741 struct kvm_memory_slot *memslot; in kvmppc_rmap_reset() local
746 kvm_for_each_memslot(memslot, slots) { in kvmppc_rmap_reset()
751 memset(memslot->arch.rmap, 0, in kvmppc_rmap_reset()
752 memslot->npages * sizeof(*memslot->arch.rmap)); in kvmppc_rmap_reset()
757 typedef int (*hva_handler_fn)(struct kvm *kvm, struct kvm_memory_slot *memslot,
768 struct kvm_memory_slot *memslot; in kvm_handle_hva_range() local
771 kvm_for_each_memslot(memslot, slots) { in kvm_handle_hva_range()
775 hva_start = max(start, memslot->userspace_addr); in kvm_handle_hva_range()
776 hva_end = min(end, memslot->userspace_addr + in kvm_handle_hva_range()
777 (memslot->npages << PAGE_SHIFT)); in kvm_handle_hva_range()
784 gfn = hva_to_gfn_memslot(hva_start, memslot); in kvm_handle_hva_range()
785 gfn_end = hva_to_gfn_memslot(hva_end + PAGE_SIZE - 1, memslot); in kvm_handle_hva_range()
788 ret = handler(kvm, memslot, gfn); in kvm_handle_hva_range()
804 struct kvm_memory_slot *memslot, in kvmppc_unmap_hpte() argument
836 if ((rcbits & HPTE_R_C) && memslot->dirty_bitmap) in kvmppc_unmap_hpte()
837 kvmppc_update_dirty_map(memslot, gfn, psize); in kvmppc_unmap_hpte()
845 static int kvm_unmap_rmapp(struct kvm *kvm, struct kvm_memory_slot *memslot, in kvm_unmap_rmapp() argument
852 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_unmap_rmapp()
875 kvmppc_unmap_hpte(kvm, i, memslot, rmapp, gfn); in kvm_unmap_rmapp()
892 struct kvm_memory_slot *memslot) in kvmppc_core_flush_memslot_hv() argument
898 gfn = memslot->base_gfn; in kvmppc_core_flush_memslot_hv()
899 rmapp = memslot->arch.rmap; in kvmppc_core_flush_memslot_hv()
900 for (n = memslot->npages; n; --n, ++gfn) { in kvmppc_core_flush_memslot_hv()
902 kvm_unmap_radix(kvm, memslot, gfn); in kvmppc_core_flush_memslot_hv()
912 kvm_unmap_rmapp(kvm, memslot, gfn); in kvmppc_core_flush_memslot_hv()
917 static int kvm_age_rmapp(struct kvm *kvm, struct kvm_memory_slot *memslot, in kvm_age_rmapp() argument
926 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_rmapp()
980 static int kvm_test_age_rmapp(struct kvm *kvm, struct kvm_memory_slot *memslot, in kvm_test_age_rmapp() argument
989 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_test_age_rmapp()
1120 struct kvm_memory_slot *memslot, in kvmppc_harvest_vpa_dirty() argument
1128 if (gfn < memslot->base_gfn || in kvmppc_harvest_vpa_dirty()
1129 gfn >= memslot->base_gfn + memslot->npages) in kvmppc_harvest_vpa_dirty()
1134 __set_bit_le(gfn - memslot->base_gfn, map); in kvmppc_harvest_vpa_dirty()
1138 struct kvm_memory_slot *memslot, unsigned long *map) in kvmppc_hv_get_dirty_log_hpt() argument
1144 rmapp = memslot->arch.rmap; in kvmppc_hv_get_dirty_log_hpt()
1145 for (i = 0; i < memslot->npages; ++i) { in kvmppc_hv_get_dirty_log_hpt()
1163 struct kvm_memory_slot *memslot; in kvmppc_pin_guest_page() local
1171 memslot = gfn_to_memslot(kvm, gfn); in kvmppc_pin_guest_page()
1172 if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) in kvmppc_pin_guest_page()
1174 hva = gfn_to_hva_memslot(memslot, gfn); in kvmppc_pin_guest_page()
1195 struct kvm_memory_slot *memslot; in kvmppc_unpin_guest_page() local
1207 memslot = gfn_to_memslot(kvm, gfn); in kvmppc_unpin_guest_page()
1208 if (memslot && memslot->dirty_bitmap) in kvmppc_unpin_guest_page()
1209 set_bit_le(gfn - memslot->base_gfn, memslot->dirty_bitmap); in kvmppc_unpin_guest_page()
1282 struct kvm_memory_slot *memslot = in resize_hpt_rehash_hpte() local
1285 if (memslot) { in resize_hpt_rehash_hpte()
1287 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in resize_hpt_rehash_hpte()
1290 kvmppc_unmap_hpte(kvm, idx, memslot, rmapp, gfn); in resize_hpt_rehash_hpte()