Lines Matching refs:gfn

1669 struct kvm_memory_slot *gfn_to_memslot(struct kvm *kvm, gfn_t gfn)  in gfn_to_memslot()  argument
1671 return __gfn_to_memslot(kvm_memslots(kvm), gfn); in gfn_to_memslot()
1675 struct kvm_memory_slot *kvm_vcpu_gfn_to_memslot(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_memslot() argument
1677 return __gfn_to_memslot(kvm_vcpu_memslots(vcpu), gfn); in kvm_vcpu_gfn_to_memslot()
1681 bool kvm_is_visible_gfn(struct kvm *kvm, gfn_t gfn) in kvm_is_visible_gfn() argument
1683 struct kvm_memory_slot *memslot = gfn_to_memslot(kvm, gfn); in kvm_is_visible_gfn()
1689 bool kvm_vcpu_is_visible_gfn(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_is_visible_gfn() argument
1691 struct kvm_memory_slot *memslot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_is_visible_gfn()
1697 unsigned long kvm_host_page_size(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_host_page_size() argument
1704 addr = kvm_vcpu_gfn_to_hva_prot(vcpu, gfn, NULL); in kvm_host_page_size()
1726 static unsigned long __gfn_to_hva_many(struct kvm_memory_slot *slot, gfn_t gfn, in __gfn_to_hva_many() argument
1736 *nr_pages = slot->npages - (gfn - slot->base_gfn); in __gfn_to_hva_many()
1738 return __gfn_to_hva_memslot(slot, gfn); in __gfn_to_hva_many()
1741 static unsigned long gfn_to_hva_many(struct kvm_memory_slot *slot, gfn_t gfn, in gfn_to_hva_many() argument
1744 return __gfn_to_hva_many(slot, gfn, nr_pages, true); in gfn_to_hva_many()
1748 gfn_t gfn) in gfn_to_hva_memslot() argument
1750 return gfn_to_hva_many(slot, gfn, NULL); in gfn_to_hva_memslot()
1754 unsigned long gfn_to_hva(struct kvm *kvm, gfn_t gfn) in gfn_to_hva() argument
1756 return gfn_to_hva_many(gfn_to_memslot(kvm, gfn), gfn, NULL); in gfn_to_hva()
1760 unsigned long kvm_vcpu_gfn_to_hva(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_hva() argument
1762 return gfn_to_hva_many(kvm_vcpu_gfn_to_memslot(vcpu, gfn), gfn, NULL); in kvm_vcpu_gfn_to_hva()
1775 gfn_t gfn, bool *writable) in gfn_to_hva_memslot_prot() argument
1777 unsigned long hva = __gfn_to_hva_many(slot, gfn, NULL, false); in gfn_to_hva_memslot_prot()
1785 unsigned long gfn_to_hva_prot(struct kvm *kvm, gfn_t gfn, bool *writable) in gfn_to_hva_prot() argument
1787 struct kvm_memory_slot *slot = gfn_to_memslot(kvm, gfn); in gfn_to_hva_prot()
1789 return gfn_to_hva_memslot_prot(slot, gfn, writable); in gfn_to_hva_prot()
1792 unsigned long kvm_vcpu_gfn_to_hva_prot(struct kvm_vcpu *vcpu, gfn_t gfn, bool *writable) in kvm_vcpu_gfn_to_hva_prot() argument
1794 struct kvm_memory_slot *slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_gfn_to_hva_prot()
1796 return gfn_to_hva_memslot_prot(slot, gfn, writable); in kvm_vcpu_gfn_to_hva_prot()
1997 kvm_pfn_t __gfn_to_pfn_memslot(struct kvm_memory_slot *slot, gfn_t gfn, in __gfn_to_pfn_memslot() argument
2001 unsigned long addr = __gfn_to_hva_many(slot, gfn, NULL, write_fault); in __gfn_to_pfn_memslot()
2026 kvm_pfn_t gfn_to_pfn_prot(struct kvm *kvm, gfn_t gfn, bool write_fault, in gfn_to_pfn_prot() argument
2029 return __gfn_to_pfn_memslot(gfn_to_memslot(kvm, gfn), gfn, false, NULL, in gfn_to_pfn_prot()
2034 kvm_pfn_t gfn_to_pfn_memslot(struct kvm_memory_slot *slot, gfn_t gfn) in gfn_to_pfn_memslot() argument
2036 return __gfn_to_pfn_memslot(slot, gfn, false, NULL, true, NULL); in gfn_to_pfn_memslot()
2040 kvm_pfn_t gfn_to_pfn_memslot_atomic(struct kvm_memory_slot *slot, gfn_t gfn) in gfn_to_pfn_memslot_atomic() argument
2042 return __gfn_to_pfn_memslot(slot, gfn, true, NULL, true, NULL); in gfn_to_pfn_memslot_atomic()
2046 kvm_pfn_t kvm_vcpu_gfn_to_pfn_atomic(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_pfn_atomic() argument
2048 return gfn_to_pfn_memslot_atomic(kvm_vcpu_gfn_to_memslot(vcpu, gfn), gfn); in kvm_vcpu_gfn_to_pfn_atomic()
2052 kvm_pfn_t gfn_to_pfn(struct kvm *kvm, gfn_t gfn) in gfn_to_pfn() argument
2054 return gfn_to_pfn_memslot(gfn_to_memslot(kvm, gfn), gfn); in gfn_to_pfn()
2058 kvm_pfn_t kvm_vcpu_gfn_to_pfn(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_pfn() argument
2060 return gfn_to_pfn_memslot(kvm_vcpu_gfn_to_memslot(vcpu, gfn), gfn); in kvm_vcpu_gfn_to_pfn()
2064 int gfn_to_page_many_atomic(struct kvm_memory_slot *slot, gfn_t gfn, in gfn_to_page_many_atomic() argument
2070 addr = gfn_to_hva_many(slot, gfn, &entry); in gfn_to_page_many_atomic()
2094 struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn) in gfn_to_page() argument
2098 pfn = gfn_to_pfn(kvm, gfn); in gfn_to_page()
2110 cache->pfn = cache->gfn = 0; in kvm_release_pfn()
2118 static void kvm_cache_gfn_to_pfn(struct kvm_memory_slot *slot, gfn_t gfn, in kvm_cache_gfn_to_pfn() argument
2123 cache->pfn = gfn_to_pfn_memslot(slot, gfn); in kvm_cache_gfn_to_pfn()
2124 cache->gfn = gfn; in kvm_cache_gfn_to_pfn()
2129 static int __kvm_map_gfn(struct kvm_memslots *slots, gfn_t gfn, in __kvm_map_gfn() argument
2137 struct kvm_memory_slot *slot = __gfn_to_memslot(slots, gfn); in __kvm_map_gfn()
2144 if (!cache->pfn || cache->gfn != gfn || in __kvm_map_gfn()
2148 kvm_cache_gfn_to_pfn(slot, gfn, cache, gen); in __kvm_map_gfn()
2154 pfn = gfn_to_pfn_memslot(slot, gfn); in __kvm_map_gfn()
2179 map->gfn = gfn; in __kvm_map_gfn()
2184 int kvm_map_gfn(struct kvm_vcpu *vcpu, gfn_t gfn, struct kvm_host_map *map, in kvm_map_gfn() argument
2187 return __kvm_map_gfn(kvm_memslots(vcpu->kvm), gfn, map, in kvm_map_gfn()
2192 int kvm_vcpu_map(struct kvm_vcpu *vcpu, gfn_t gfn, struct kvm_host_map *map) in kvm_vcpu_map() argument
2194 return __kvm_map_gfn(kvm_vcpu_memslots(vcpu), gfn, map, in kvm_vcpu_map()
2224 mark_page_dirty_in_slot(memslot, map->gfn); in __kvm_unmap_gfn()
2238 __kvm_unmap_gfn(gfn_to_memslot(vcpu->kvm, map->gfn), map, in kvm_unmap_gfn()
2246 __kvm_unmap_gfn(kvm_vcpu_gfn_to_memslot(vcpu, map->gfn), map, NULL, in kvm_vcpu_unmap()
2251 struct page *kvm_vcpu_gfn_to_page(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_page() argument
2255 pfn = kvm_vcpu_gfn_to_pfn(vcpu, gfn); in kvm_vcpu_gfn_to_page()
2320 static int __kvm_read_guest_page(struct kvm_memory_slot *slot, gfn_t gfn, in __kvm_read_guest_page() argument
2326 addr = gfn_to_hva_memslot_prot(slot, gfn, NULL); in __kvm_read_guest_page()
2335 int kvm_read_guest_page(struct kvm *kvm, gfn_t gfn, void *data, int offset, in kvm_read_guest_page() argument
2338 struct kvm_memory_slot *slot = gfn_to_memslot(kvm, gfn); in kvm_read_guest_page()
2340 return __kvm_read_guest_page(slot, gfn, data, offset, len); in kvm_read_guest_page()
2344 int kvm_vcpu_read_guest_page(struct kvm_vcpu *vcpu, gfn_t gfn, void *data, in kvm_vcpu_read_guest_page() argument
2347 struct kvm_memory_slot *slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_read_guest_page()
2349 return __kvm_read_guest_page(slot, gfn, data, offset, len); in kvm_vcpu_read_guest_page()
2355 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_read_guest() local
2361 ret = kvm_read_guest_page(kvm, gfn, data, offset, seg); in kvm_read_guest()
2367 ++gfn; in kvm_read_guest()
2375 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_vcpu_read_guest() local
2381 ret = kvm_vcpu_read_guest_page(vcpu, gfn, data, offset, seg); in kvm_vcpu_read_guest()
2387 ++gfn; in kvm_vcpu_read_guest()
2393 static int __kvm_read_guest_atomic(struct kvm_memory_slot *slot, gfn_t gfn, in __kvm_read_guest_atomic() argument
2399 addr = gfn_to_hva_memslot_prot(slot, gfn, NULL); in __kvm_read_guest_atomic()
2413 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_vcpu_read_guest_atomic() local
2414 struct kvm_memory_slot *slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_read_guest_atomic()
2417 return __kvm_read_guest_atomic(slot, gfn, data, offset, len); in kvm_vcpu_read_guest_atomic()
2421 static int __kvm_write_guest_page(struct kvm_memory_slot *memslot, gfn_t gfn, in __kvm_write_guest_page() argument
2427 addr = gfn_to_hva_memslot(memslot, gfn); in __kvm_write_guest_page()
2433 mark_page_dirty_in_slot(memslot, gfn); in __kvm_write_guest_page()
2437 int kvm_write_guest_page(struct kvm *kvm, gfn_t gfn, in kvm_write_guest_page() argument
2440 struct kvm_memory_slot *slot = gfn_to_memslot(kvm, gfn); in kvm_write_guest_page()
2442 return __kvm_write_guest_page(slot, gfn, data, offset, len); in kvm_write_guest_page()
2446 int kvm_vcpu_write_guest_page(struct kvm_vcpu *vcpu, gfn_t gfn, in kvm_vcpu_write_guest_page() argument
2449 struct kvm_memory_slot *slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_write_guest_page()
2451 return __kvm_write_guest_page(slot, gfn, data, offset, len); in kvm_vcpu_write_guest_page()
2458 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_write_guest() local
2464 ret = kvm_write_guest_page(kvm, gfn, data, offset, seg); in kvm_write_guest()
2470 ++gfn; in kvm_write_guest()
2479 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_vcpu_write_guest() local
2485 ret = kvm_vcpu_write_guest_page(vcpu, gfn, data, offset, seg); in kvm_vcpu_write_guest()
2491 ++gfn; in kvm_vcpu_write_guest()
2619 int kvm_clear_guest_page(struct kvm *kvm, gfn_t gfn, int offset, int len) in kvm_clear_guest_page() argument
2623 return kvm_write_guest_page(kvm, gfn, zero_page, offset, len); in kvm_clear_guest_page()
2629 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_clear_guest() local
2635 ret = kvm_clear_guest_page(kvm, gfn, offset, seg); in kvm_clear_guest()
2640 ++gfn; in kvm_clear_guest()
2646 void mark_page_dirty_in_slot(struct kvm_memory_slot *memslot, gfn_t gfn) in mark_page_dirty_in_slot() argument
2649 unsigned long rel_gfn = gfn - memslot->base_gfn; in mark_page_dirty_in_slot()
2656 void mark_page_dirty(struct kvm *kvm, gfn_t gfn) in mark_page_dirty() argument
2660 memslot = gfn_to_memslot(kvm, gfn); in mark_page_dirty()
2661 mark_page_dirty_in_slot(memslot, gfn); in mark_page_dirty()
2665 void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_mark_page_dirty() argument
2669 memslot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_mark_page_dirty()
2670 mark_page_dirty_in_slot(memslot, gfn); in kvm_vcpu_mark_page_dirty()