Home
last modified time | relevance | path

Searched refs:base_gfn (Results 1 – 21 of 21) sorted by relevance

/linux/arch/riscv/kvm/
H A Dmmu.c23 phys_addr_t start = memslot->base_gfn << PAGE_SHIFT; in mmu_wp_memory_region()
24 phys_addr_t end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT; in mmu_wp_memory_region()
105 phys_addr_t base_gfn = slot->base_gfn + gfn_offset; in kvm_arch_mmu_enable_log_dirty_pt_masked()
106 phys_addr_t start = (base_gfn + __ffs(mask)) << PAGE_SHIFT; in kvm_arch_mmu_enable_log_dirty_pt_masked()
107 phys_addr_t end = (base_gfn + __fls(mask) + 1) << PAGE_SHIFT;
139 gpa_t gpa = slot->base_gfn << PAGE_SHIFT; in kvm_arch_commit_memory_region()
187 if ((new->base_gfn + new->npages) >= in kvm_arch_prepare_memory_region()
316 gpa_start = memslot->base_gfn << PAGE_SHIFT; in fault_supports_gstage_huge_mapping()
330 * memslot->base_gfn << PAGE_SHIF in fault_supports_gstage_huge_mapping()
98 phys_addr_t base_gfn = slot->base_gfn + gfn_offset; kvm_arch_mmu_enable_log_dirty_pt_masked() local
[all...]
/linux/arch/loongarch/kvm/
H A Dmmu.c366 gfn_t base_gfn = slot->base_gfn + gfn_offset; in kvm_arch_mmu_enable_log_dirty_pt_masked() local
367 gfn_t start = base_gfn + __ffs(mask); in kvm_arch_mmu_enable_log_dirty_pt_masked()
368 gfn_t end = base_gfn + __fls(mask) + 1; in kvm_arch_mmu_enable_log_dirty_pt_masked()
373 ctx.gfn = base_gfn; in kvm_arch_mmu_enable_log_dirty_pt_masked()
392 if ((new->base_gfn + new->npages) > (kvm->arch.gpa_size >> PAGE_SHIFT)) in kvm_arch_prepare_memory_region()
397 gpa_start = new->base_gfn << PAGE_SHIFT; in kvm_arch_prepare_memory_region()
479 needs_flush = kvm_mkclean_gpa_pt(kvm, new->base_gfn, in kvm_arch_commit_memory_region()
480 new->base_gfn + new->npages); in kvm_arch_commit_memory_region()
498 kvm_flush_range(kvm, slot->base_gfn, slot->base_gfn + slot->npages, 1); in kvm_arch_flush_shadow_memslot()
/linux/arch/x86/kvm/
H A Dmmu.h277 static inline gfn_t gfn_to_index(gfn_t gfn, gfn_t base_gfn, int level) in __kvm_mmu_slot_lpages()
281 (base_gfn >> KVM_HPAGE_GFN_SHIFT(level)); in kvm_mmu_slot_lpages()
288 return gfn_to_index(slot->base_gfn + npages - 1, in kvm_update_page_stats()
289 slot->base_gfn, level) + 1; in kvm_update_page_stats()
265 gfn_to_index(gfn_t gfn,gfn_t base_gfn,int level) gfn_to_index() argument
H A Dx86.c13555 if (slot->base_gfn & (KVM_PAGES_PER_HPAGE(level) - 1)) in kvm_arch_free_memslot()
13557 if ((slot->base_gfn + npages) & (KVM_PAGES_PER_HPAGE(level) - 1)) in kvm_arch_free_memslot()
13564 if ((slot->base_gfn ^ ugfn) & (KVM_PAGES_PER_HPAGE(level) - 1)) { in memslot_rmap_alloc()
13620 if ((new->base_gfn + new->npages - 1) > kvm_mmu_max_gfn()) in kvm_alloc_memslot_metadata()
13623 if (kvm_is_gfn_alias(kvm, new->base_gfn + new->npages - 1)) in kvm_alloc_memslot_metadata()
/linux/arch/x86/kvm/mmu/
H A Dpage_track.c80 index = gfn_to_index(gfn, slot->base_gfn, PG_LEVEL_4K); in update_gfn_write_track()
147 index = gfn_to_index(gfn, slot->base_gfn, PG_LEVEL_4K); in kvm_gfn_is_write_tracked()
311 n->track_remove_region(slot->base_gfn, slot->npages, n); in kvm_page_track_delete_slot()
H A Dpaging_tmpl.h658 gfn_t base_gfn = fault->gfn; in FNAME()
660 WARN_ON_ONCE(gw->gfn != base_gfn); in FNAME()
759 base_gfn = gfn_round_for_level(fault->gfn, it.level);
765 sp = kvm_mmu_get_child_sp(vcpu, it.sptep, base_gfn, in FNAME()
780 base_gfn, fault->pfn, fault); in FNAME()
621 gfn_t base_gfn = fault->gfn; FNAME() local
H A Dmmu.c721 idx = gfn_to_index(gfn, slot->base_gfn, level);
1189 idx = gfn_to_index(gfn, slot->base_gfn, level); in rmap_remove()
1381 slot->base_gfn + gfn_offset, mask, true); in kvm_mmu_write_protect_pt_masked()
1387 rmap_head = gfn_to_rmap(slot->base_gfn + gfn_offset + __ffs(mask), in kvm_mmu_write_protect_pt_masked()
1404 slot->base_gfn + gfn_offset, mask, false); in kvm_mmu_clear_dirty_pt_masked()
1410 rmap_head = gfn_to_rmap(slot->base_gfn + gfn_offset + __ffs(mask), in kvm_mmu_clear_dirty_pt_masked()
1430 * The gfn_offset is guaranteed to be aligned to 64, but the base_gfn in kvm_arch_mmu_enable_log_dirty_pt_masked()
1435 gfn_t start = slot->base_gfn + gfn_offset + __ffs(mask); in kvm_arch_mmu_enable_log_dirty_pt_masked()
1436 gfn_t end = slot->base_gfn + gfn_offset + __fls(mask); in kvm_arch_mmu_enable_log_dirty_pt_masked()
1621 slot->base_gfn, slo in walk_slot_rmaps_4k()
3462 gfn_t base_gfn = fault->gfn; direct_map() local
[all...]
/linux/arch/arm64/kvm/
H A Dmmu.c357 phys_addr_t addr = memslot->base_gfn << PAGE_SHIFT; in stage2_flush_memslot()
1059 phys_addr_t addr = memslot->base_gfn << PAGE_SHIFT; in stage2_unmap_memslot()
1276 start = memslot->base_gfn << PAGE_SHIFT; in kvm_mmu_split_memory_region()
1277 end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT; in kvm_mmu_split_memory_region()
1306 start = memslot->base_gfn << PAGE_SHIFT; in kvm_arch_mmu_enable_log_dirty_pt_masked()
1307 end = (memslot->base_gfn + memslot->npages) << PAGE_SHIFT; in kvm_arch_mmu_enable_log_dirty_pt_masked()
1329 phys_addr_t base_gfn = slot->base_gfn + gfn_offset; in fault_supports_stage2_huge_mapping()
1330 phys_addr_t start = (base_gfn + __ffs(mask)) << PAGE_SHIFT; in fault_supports_stage2_huge_mapping()
1331 phys_addr_t end = (base_gfn in fault_supports_stage2_huge_mapping()
1302 phys_addr_t base_gfn = slot->base_gfn + gfn_offset; kvm_arch_mmu_enable_log_dirty_pt_masked() local
[all...]
/linux/arch/powerpc/kvm/
H A Dbook3s_hv_uvmem.c261 p->base_pfn = slot->base_gfn; in kvmppc_uvmem_slot_init()
279 if (p->base_pfn == slot->base_gfn) { in kvmppc_uvmem_slot_free()
394 unsigned long gfn = memslot->base_gfn; in kvmppc_memslot_page_merge()
450 memslot->base_gfn << PAGE_SHIFT, in __kvmppc_uvmem_memslot_create()
624 gfn = slot->base_gfn; in kvmppc_uvmem_drop_pages()
797 unsigned long gfn = memslot->base_gfn; in kvmppc_uv_migrate_mem_slot()
H A Dbook3s_64_mmu_hv.c592 if (gfn_base < memslot->base_gfn) in kvmppc_book3s_hv_page_fault()
689 rmap = &memslot->arch.rmap[gfn_base - memslot->base_gfn]; in kvmppc_book3s_hv_page_fault()
811 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_unmap_rmapp()
862 gfn = memslot->base_gfn; in kvmppc_core_flush_memslot_hv()
891 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_rmapp()
962 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_test_age_rmapp()
1095 if (gfn < memslot->base_gfn || in kvmppc_harvest_vpa_dirty()
1096 gfn >= memslot->base_gfn + memslot->npages) in kvmppc_harvest_vpa_dirty()
1101 __set_bit_le(gfn - memslot->base_gfn, map); in kvmppc_harvest_vpa_dirty()
1176 set_bit_le(gfn - memslot->base_gfn, memslot->dirty_bitmap); in kvmppc_unpin_guest_page()
[all …]
H A Dbook3s_64_mmu_radix.c1048 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_age_radix()
1080 unsigned long gfn = memslot->base_gfn + pagenum; in kvm_radix_test_clear_dirty()
1123 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in kvm_radix_test_clear_dirty()
1171 gpa = memslot->base_gfn << PAGE_SHIFT; in kvmppc_radix_flush_memslot()
H A Dbook3s_hv_rm_mmu.c104 gfn -= memslot->base_gfn; in kvmppc_update_dirty_map()
142 rmap = real_vmalloc_addr(&memslot->arch.rmap[gfn - memslot->base_gfn]); in revmap_for_hpte()
242 slot_fn = gfn - memslot->base_gfn; in kvmppc_do_h_enter()
H A De500_mmu_host.c404 slot_start = pfn - (gfn - slot->base_gfn); in kvmppc_e500_shadow_map()
H A Dbook3s_hv_nested.c1046 gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn; in kvmhv_remove_nest_rmap_range()
1679 rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn]; in __kvmhv_nested_page_fault()
H A Dbook3s_pr.c1880 ga = memslot->base_gfn << PAGE_SHIFT; in kvm_vm_ioctl_get_dirty_log_pr()
/linux/virt/kvm/
H A Dguest_memfd.c60 return gfn - slot->base_gfn + slot->gmem.pgoff; in kvm_gmem_get_index()
68 gfn_t gfn = slot->base_gfn + index - slot->gmem.pgoff; in __kvm_gmem_prepare_folio()
173 .start = slot->base_gfn + max(pgoff, start) - pgoff, in __kvm_gmem_invalidate_begin()
174 .end = slot->base_gfn + min(pgoff + slot->npages, end) - pgoff, in __kvm_gmem_invalidate_begin()
887 npages = min_t(ulong, slot->npages - (start_gfn - slot->base_gfn), npages); in kvm_gmem_populate()
H A Dkvm_main.c338 kvm_flush_remote_tlbs_range(kvm, memslot->base_gfn, memslot->npages); in kvm_flush_remote_tlbs_memslot()
1473 if (slot->base_gfn < tmp->base_gfn) in kvm_insert_gfn_node()
1475 else if (slot->base_gfn > tmp->base_gfn) in kvm_insert_gfn_node()
1497 WARN_ON_ONCE(old->base_gfn != new->base_gfn); in kvm_replace_gfn_node()
1556 if (old && old->base_gfn == new->base_gfn) { in kvm_replace_memslot()
1788 dest->base_gfn in kvm_copy_memslot()
2001 gfn_t base_gfn; kvm_set_memory_region() local
[all...]
/linux/include/linux/
H A Dkvm_host.h597 gfn_t base_gfn; member
1158 if (start < slot->base_gfn) { in kvm_memslot_iter_start()
1196 if (iter->slot->base_gfn + iter->slot->npages <= start) in kvm_memslot_iter_start()
1210 return iter->slot->base_gfn < end; in kvm_memslot_iter_is_valid()
1820 return gfn >= slot->base_gfn && gfn < slot->base_gfn + slot->npages;
1856 if (gfn >= slot->base_gfn) { in search_memslots()
1857 if (gfn < slot->base_gfn + slot->npages) in search_memslots()
1906 unsigned long offset = gfn - slot->base_gfn; in memslot_id()
1921 return slot->base_gfn in gfn_to_gpa()
[all...]
/linux/arch/mips/kvm/
H A Dmips.c198 kvm_mips_flush_gpa_pt(kvm, slot->base_gfn, in kvm_arch_flush_shadow_memslot()
199 slot->base_gfn + slot->npages - 1); in kvm_arch_flush_shadow_memslot()
233 needs_flush = kvm_mips_mkclean_gpa_pt(kvm, new->base_gfn, in kvm_arch_commit_memory_region()
234 new->base_gfn + new->npages - 1); in kvm_arch_commit_memory_region()
/linux/arch/s390/kvm/
H A Dkvm-s390.c734 gfn_t last_gfn = memslot->base_gfn + memslot->npages;
737 gmap_sync_dirty_log(kvm->arch.gmap, memslot->base_gfn, last_gfn); in kvm_vm_ioctl_get_dirty_log()
1063 if (gpa_to_gfn(new_limit) < ms->base_gfn + ms->npages) { in kvm_s390_vcpu_crypto_reset_all()
5745 if ((new->base_gfn + new->npages) * PAGE_SIZE > kvm->arch.mem_limit) in kvm_arch_commit_memory_region()
5747 if (!asce_contains_gfn(kvm->arch.gmap->asce, new->base_gfn + new->npages - 1)) in kvm_arch_commit_memory_region()
5790 rc = dat_delete_slot(mc, kvm->arch.gmap->asce, old->base_gfn, old->npages);
5793 rc = dat_delete_slot(mc, kvm->arch.gmap->asce, old->base_gfn, old->npages);
5798 rc = dat_create_slot(mc, kvm->arch.gmap->asce, new->base_gfn, new->npages);
H A Dgmap.c658 slot->base_gfn <= ALIGN_DOWN(f->gfn, _PAGES_PER_REGION3) && in gmap_1m_allowed()
659 slot->base_gfn + slot->npages >= ALIGN(f->gfn + 1, _PAGES_PER_REGION3); in gmap_1m_allowed()
681 slot->base_gfn <= ALIGN_DOWN(f->gfn, _PAGES_PER_SEGMENT) && in _gmap_link()
682 slot->base_gfn + slot->npages >= ALIGN(f->gfn + 1, _PAGES_PER_SEGMENT); in _gmap_link()