Lines Matching refs:gfn

2316 struct kvm_memory_slot *gfn_to_memslot(struct kvm *kvm, gfn_t gfn)  in gfn_to_memslot()  argument
2318 return __gfn_to_memslot(kvm_memslots(kvm), gfn); in gfn_to_memslot()
2322 struct kvm_memory_slot *kvm_vcpu_gfn_to_memslot(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_memslot() argument
2337 slot = try_get_memslot(vcpu->last_used_slot, gfn); in kvm_vcpu_gfn_to_memslot()
2346 slot = search_memslots(slots, gfn, false); in kvm_vcpu_gfn_to_memslot()
2355 bool kvm_is_visible_gfn(struct kvm *kvm, gfn_t gfn) in kvm_is_visible_gfn() argument
2357 struct kvm_memory_slot *memslot = gfn_to_memslot(kvm, gfn); in kvm_is_visible_gfn()
2363 bool kvm_vcpu_is_visible_gfn(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_is_visible_gfn() argument
2365 struct kvm_memory_slot *memslot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_is_visible_gfn()
2371 unsigned long kvm_host_page_size(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_host_page_size() argument
2378 addr = kvm_vcpu_gfn_to_hva_prot(vcpu, gfn, NULL); in kvm_host_page_size()
2400 static unsigned long __gfn_to_hva_many(const struct kvm_memory_slot *slot, gfn_t gfn, in __gfn_to_hva_many() argument
2410 *nr_pages = slot->npages - (gfn - slot->base_gfn); in __gfn_to_hva_many()
2412 return __gfn_to_hva_memslot(slot, gfn); in __gfn_to_hva_many()
2415 static unsigned long gfn_to_hva_many(struct kvm_memory_slot *slot, gfn_t gfn, in gfn_to_hva_many() argument
2418 return __gfn_to_hva_many(slot, gfn, nr_pages, true); in gfn_to_hva_many()
2422 gfn_t gfn) in gfn_to_hva_memslot() argument
2424 return gfn_to_hva_many(slot, gfn, NULL); in gfn_to_hva_memslot()
2428 unsigned long gfn_to_hva(struct kvm *kvm, gfn_t gfn) in gfn_to_hva() argument
2430 return gfn_to_hva_many(gfn_to_memslot(kvm, gfn), gfn, NULL); in gfn_to_hva()
2434 unsigned long kvm_vcpu_gfn_to_hva(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_hva() argument
2436 return gfn_to_hva_many(kvm_vcpu_gfn_to_memslot(vcpu, gfn), gfn, NULL); in kvm_vcpu_gfn_to_hva()
2449 gfn_t gfn, bool *writable) in gfn_to_hva_memslot_prot() argument
2451 unsigned long hva = __gfn_to_hva_many(slot, gfn, NULL, false); in gfn_to_hva_memslot_prot()
2459 unsigned long gfn_to_hva_prot(struct kvm *kvm, gfn_t gfn, bool *writable) in gfn_to_hva_prot() argument
2461 struct kvm_memory_slot *slot = gfn_to_memslot(kvm, gfn); in gfn_to_hva_prot()
2463 return gfn_to_hva_memslot_prot(slot, gfn, writable); in gfn_to_hva_prot()
2466 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
2468 struct kvm_memory_slot *slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_gfn_to_hva_prot()
2470 return gfn_to_hva_memslot_prot(slot, gfn, writable); in kvm_vcpu_gfn_to_hva_prot()
2703 kvm_pfn_t __gfn_to_pfn_memslot(const struct kvm_memory_slot *slot, gfn_t gfn, in __gfn_to_pfn_memslot() argument
2707 unsigned long addr = __gfn_to_hva_many(slot, gfn, NULL, write_fault); in __gfn_to_pfn_memslot()
2735 kvm_pfn_t gfn_to_pfn_prot(struct kvm *kvm, gfn_t gfn, bool write_fault, in gfn_to_pfn_prot() argument
2738 return __gfn_to_pfn_memslot(gfn_to_memslot(kvm, gfn), gfn, false, false, in gfn_to_pfn_prot()
2743 kvm_pfn_t gfn_to_pfn_memslot(const struct kvm_memory_slot *slot, gfn_t gfn) in gfn_to_pfn_memslot() argument
2745 return __gfn_to_pfn_memslot(slot, gfn, false, false, NULL, true, in gfn_to_pfn_memslot()
2750 kvm_pfn_t gfn_to_pfn_memslot_atomic(const struct kvm_memory_slot *slot, gfn_t gfn) in gfn_to_pfn_memslot_atomic() argument
2752 return __gfn_to_pfn_memslot(slot, gfn, true, false, NULL, true, in gfn_to_pfn_memslot_atomic()
2757 kvm_pfn_t kvm_vcpu_gfn_to_pfn_atomic(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_pfn_atomic() argument
2759 return gfn_to_pfn_memslot_atomic(kvm_vcpu_gfn_to_memslot(vcpu, gfn), gfn); in kvm_vcpu_gfn_to_pfn_atomic()
2763 kvm_pfn_t gfn_to_pfn(struct kvm *kvm, gfn_t gfn) in gfn_to_pfn() argument
2765 return gfn_to_pfn_memslot(gfn_to_memslot(kvm, gfn), gfn); in gfn_to_pfn()
2769 kvm_pfn_t kvm_vcpu_gfn_to_pfn(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_gfn_to_pfn() argument
2771 return gfn_to_pfn_memslot(kvm_vcpu_gfn_to_memslot(vcpu, gfn), gfn); in kvm_vcpu_gfn_to_pfn()
2775 int gfn_to_page_many_atomic(struct kvm_memory_slot *slot, gfn_t gfn, in gfn_to_page_many_atomic() argument
2781 addr = gfn_to_hva_many(slot, gfn, &entry); in gfn_to_page_many_atomic()
2798 struct page *gfn_to_page(struct kvm *kvm, gfn_t gfn) in gfn_to_page() argument
2803 pfn = gfn_to_pfn(kvm, gfn); in gfn_to_page()
2824 int kvm_vcpu_map(struct kvm_vcpu *vcpu, gfn_t gfn, struct kvm_host_map *map) in kvm_vcpu_map() argument
2833 pfn = gfn_to_pfn(vcpu->kvm, gfn); in kvm_vcpu_map()
2852 map->gfn = gfn; in kvm_vcpu_map()
2874 kvm_vcpu_mark_page_dirty(vcpu, map->gfn); in kvm_vcpu_unmap()
2985 static int __kvm_read_guest_page(struct kvm_memory_slot *slot, gfn_t gfn, in __kvm_read_guest_page() argument
2991 addr = gfn_to_hva_memslot_prot(slot, gfn, NULL); in __kvm_read_guest_page()
3000 int kvm_read_guest_page(struct kvm *kvm, gfn_t gfn, void *data, int offset, in kvm_read_guest_page() argument
3003 struct kvm_memory_slot *slot = gfn_to_memslot(kvm, gfn); in kvm_read_guest_page()
3005 return __kvm_read_guest_page(slot, gfn, data, offset, len); in kvm_read_guest_page()
3009 int kvm_vcpu_read_guest_page(struct kvm_vcpu *vcpu, gfn_t gfn, void *data, in kvm_vcpu_read_guest_page() argument
3012 struct kvm_memory_slot *slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_read_guest_page()
3014 return __kvm_read_guest_page(slot, gfn, data, offset, len); in kvm_vcpu_read_guest_page()
3020 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_read_guest() local
3026 ret = kvm_read_guest_page(kvm, gfn, data, offset, seg); in kvm_read_guest()
3032 ++gfn; in kvm_read_guest()
3040 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_vcpu_read_guest() local
3046 ret = kvm_vcpu_read_guest_page(vcpu, gfn, data, offset, seg); in kvm_vcpu_read_guest()
3052 ++gfn; in kvm_vcpu_read_guest()
3058 static int __kvm_read_guest_atomic(struct kvm_memory_slot *slot, gfn_t gfn, in __kvm_read_guest_atomic() argument
3064 addr = gfn_to_hva_memslot_prot(slot, gfn, NULL); in __kvm_read_guest_atomic()
3078 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_vcpu_read_guest_atomic() local
3079 struct kvm_memory_slot *slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_read_guest_atomic()
3082 return __kvm_read_guest_atomic(slot, gfn, data, offset, len); in kvm_vcpu_read_guest_atomic()
3087 struct kvm_memory_slot *memslot, gfn_t gfn, in __kvm_write_guest_page() argument
3093 addr = gfn_to_hva_memslot(memslot, gfn); in __kvm_write_guest_page()
3099 mark_page_dirty_in_slot(kvm, memslot, gfn); in __kvm_write_guest_page()
3103 int kvm_write_guest_page(struct kvm *kvm, gfn_t gfn, in kvm_write_guest_page() argument
3106 struct kvm_memory_slot *slot = gfn_to_memslot(kvm, gfn); in kvm_write_guest_page()
3108 return __kvm_write_guest_page(kvm, slot, gfn, data, offset, len); in kvm_write_guest_page()
3112 int kvm_vcpu_write_guest_page(struct kvm_vcpu *vcpu, gfn_t gfn, in kvm_vcpu_write_guest_page() argument
3115 struct kvm_memory_slot *slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_write_guest_page()
3117 return __kvm_write_guest_page(vcpu->kvm, slot, gfn, data, offset, len); in kvm_vcpu_write_guest_page()
3124 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_write_guest() local
3130 ret = kvm_write_guest_page(kvm, gfn, data, offset, seg); in kvm_write_guest()
3136 ++gfn; in kvm_write_guest()
3145 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_vcpu_write_guest() local
3151 ret = kvm_vcpu_write_guest_page(vcpu, gfn, data, offset, seg); in kvm_vcpu_write_guest()
3157 ++gfn; in kvm_vcpu_write_guest()
3290 gfn_t gfn = gpa >> PAGE_SHIFT; in kvm_clear_guest() local
3296 ret = kvm_write_guest_page(kvm, gfn, zero_page, offset, len); in kvm_clear_guest()
3301 ++gfn; in kvm_clear_guest()
3309 gfn_t gfn) in mark_page_dirty_in_slot() argument
3321 unsigned long rel_gfn = gfn - memslot->base_gfn; in mark_page_dirty_in_slot()
3332 void mark_page_dirty(struct kvm *kvm, gfn_t gfn) in mark_page_dirty() argument
3336 memslot = gfn_to_memslot(kvm, gfn); in mark_page_dirty()
3337 mark_page_dirty_in_slot(kvm, memslot, gfn); in mark_page_dirty()
3341 void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn) in kvm_vcpu_mark_page_dirty() argument
3345 memslot = kvm_vcpu_gfn_to_memslot(vcpu, gfn); in kvm_vcpu_mark_page_dirty()
3346 mark_page_dirty_in_slot(vcpu->kvm, memslot, gfn); in kvm_vcpu_mark_page_dirty()