| /linux/drivers/iommu/iommufd/ |
| H A D | pages.c | 277 unsigned long *pfns; member 290 batch->pfns[0] = 0; in batch_clear() 309 batch->pfns[0] = batch->pfns[batch->end - 1] + in batch_clear_carry() 322 batch->pfns[0] += skip_pfns; in batch_skip_carry() 330 const size_t elmsz = sizeof(*batch->pfns) + sizeof(*batch->npfns); in __batch_init() 333 batch->pfns = temp_kmalloc(&size, backup, backup_len); in __batch_init() 334 if (!batch->pfns) in __batch_init() 339 batch->npfns = (u32 *)(batch->pfns + batch->array_size); in __batch_init() 357 if (batch->pfns != backup) in batch_destroy() 358 kfree(batch->pfns); in batch_destroy() [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_gpusvm.c | 705 unsigned long *pfns; in drm_gpusvm_check_pages() local 711 pfns = kvmalloc_array(npages, sizeof(*pfns), GFP_KERNEL); in drm_gpusvm_check_pages() 712 if (!pfns) in drm_gpusvm_check_pages() 716 hmm_range.hmm_pfns = pfns; in drm_gpusvm_check_pages() 734 if (!(pfns[i] & HMM_PFN_VALID)) { in drm_gpusvm_check_pages() 738 i += 0x1 << drm_gpusvm_hmm_pfn_to_order(pfns[i], i, npages); in drm_gpusvm_check_pages() 742 kvfree(pfns); in drm_gpusvm_check_pages() 779 unsigned long *pfns; in drm_gpusvm_scan_mm() local 784 pfns = kvmalloc_array(npages, sizeof(*pfns), GFP_KERNEL); in drm_gpusvm_scan_mm() 785 if (!pfns) in drm_gpusvm_scan_mm() [all …]
|
| /linux/drivers/xen/ |
| H A D | xlate_mmu.c | 193 xen_pfn_t *pfns; member 201 info->pfns[info->idx++] = gfn; in setup_balloon_gfn() 218 xen_pfn_t *pfns; in xen_xlate_map_ballooned_pages() local 230 pfns = kzalloc_objs(pfns[0], nr_grant_frames); in xen_xlate_map_ballooned_pages() 231 if (!pfns) { in xen_xlate_map_ballooned_pages() 240 kfree(pfns); in xen_xlate_map_ballooned_pages() 244 data.pfns = pfns; in xen_xlate_map_ballooned_pages() 254 kfree(pfns); in xen_xlate_map_ballooned_pages() 259 *gfns = pfns; in xen_xlate_map_ballooned_pages()
|
| H A D | privcmd.c | 741 xen_pfn_t *pfns = NULL; in privcmd_ioctl_mmap_resource() local 776 pfns = kzalloc_objs(*pfns, kdata.num, GFP_KERNEL | __GFP_NOWARN); in privcmd_ioctl_mmap_resource() 777 if (!pfns) { in privcmd_ioctl_mmap_resource() 797 pfns[i] = pfn + (i % XEN_PFN_PER_PAGE); in privcmd_ioctl_mmap_resource() 804 set_xen_guest_handle(xdata.frame_list, pfns); in privcmd_ioctl_mmap_resource() 819 int num, *errs = (int *)pfns; in privcmd_ioctl_mmap_resource() 821 BUILD_BUG_ON(sizeof(*errs) > sizeof(*pfns)); in privcmd_ioctl_mmap_resource() 824 pfns, kdata.num, errs, in privcmd_ioctl_mmap_resource() 843 kfree(pfns); in privcmd_ioctl_mmap_resource()
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_hmm.c | 175 unsigned long *pfns; in amdgpu_hmm_range_get_pages() local 179 pfns = kvmalloc_array(npages, sizeof(*pfns), GFP_KERNEL); in amdgpu_hmm_range_get_pages() 180 if (unlikely(!pfns)) { in amdgpu_hmm_range_get_pages() 189 hmm_range->hmm_pfns = pfns; in amdgpu_hmm_range_get_pages() 218 hmm_range->hmm_pfns = pfns; in amdgpu_hmm_range_get_pages() 223 kvfree(pfns); in amdgpu_hmm_range_get_pages()
|
| H A D | amdgpu_umc.c | 549 uint64_t pa_addr, uint64_t *pfns, int len) in amdgpu_umc_lookup_bad_pages_in_a_row() argument 569 pfns[i] = err_data.err_addr[i].retired_page; in amdgpu_umc_lookup_bad_pages_in_a_row()
|
| /linux/mm/ |
| H A D | hmm.c | 777 unsigned long *pfns = map->pfn_list; in hmm_dma_map_pfn() local 778 struct page *page = hmm_pfn_to_page(pfns[idx]); in hmm_dma_map_pfn() 779 phys_addr_t paddr = hmm_pfn_to_phys(pfns[idx]); in hmm_dma_map_pfn() 785 if ((pfns[idx] & HMM_PFN_DMA_MAPPED) && in hmm_dma_map_pfn() 786 !(pfns[idx] & HMM_PFN_P2PDMA_BUS)) { in hmm_dma_map_pfn() 815 pfns[idx] |= HMM_PFN_P2PDMA; in hmm_dma_map_pfn() 818 pfns[idx] |= HMM_PFN_P2PDMA_BUS | HMM_PFN_DMA_MAPPED; in hmm_dma_map_pfn() 851 pfns[idx] |= HMM_PFN_DMA_MAPPED; in hmm_dma_map_pfn() 854 pfns[idx] &= ~HMM_PFN_P2PDMA; in hmm_dma_map_pfn() 873 unsigned long *pfns = map->pfn_list; in hmm_dma_unmap_pfn() local [all …]
|
| H A D | vmalloc.c | 3576 unsigned long *pfns; member 3584 unsigned long pfn = data->pfns[data->idx]; in vmap_pfn_apply() 3606 void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot) in vmap_pfn() argument 3608 struct vmap_pfn_data data = { .pfns = pfns, .prot = pgprot_nx(prot) }; in vmap_pfn()
|
| /linux/tools/mm/ |
| H A D | thpmaps | 229 def thp_parse(vma, kpageflags, ranges, indexes, vfns, pfns, anons, heads): 399 pfns = pmes & PM_PFN_MASK 400 pfns = pfns[present] 404 pfn_vec = cont_ranges_all([pfns], [pfns])[0] 411 pfns = pfns[thps] 416 ranges = cont_ranges_all([vfns, pfns], [indexes, vfns, pfns]) 418 thpstats = thp_parse(vma, kpageflags, ranges, indexes, vfns, pfns, anons, heads)
|
| /linux/drivers/hv/ |
| H A D | mshv_regions.c | 444 unsigned long *pfns; in mshv_region_range_fault() local 448 pfns = kmalloc_array(page_count, sizeof(*pfns), GFP_KERNEL); in mshv_region_range_fault() 449 if (!pfns) in mshv_region_range_fault() 452 range.hmm_pfns = pfns; in mshv_region_range_fault() 464 region->mreg_pages[page_offset + i] = hmm_pfn_to_page(pfns[i]); in mshv_region_range_fault() 471 kfree(pfns); in mshv_region_range_fault()
|
| H A D | mshv_root_hv_call.c | 511 input->data[i].pfns = page_to_pfn(pages[i]); in hv_call_set_vp_state()
|
| /linux/drivers/virtio/ |
| H A D | virtio_balloon.c | 108 __virtio32 pfns[VIRTIO_BALLOON_ARRAY_PFNS_MAX]; member 188 sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); in tell_host() 227 __virtio32 pfns[], struct page *page) in set_page_pfns() argument 238 pfns[i] = cpu_to_virtio32(vb->vdev, in set_page_pfns() 250 num = min(num, ARRAY_SIZE(vb->pfns)); in fill_balloon() 276 set_page_pfns(vb, vb->pfns + vb->num_pfns, page); in fill_balloon() 309 num = min(num, ARRAY_SIZE(vb->pfns)); in leak_balloon() 319 set_page_pfns(vb, vb->pfns + vb->num_pfns, page); in leak_balloon() 843 set_page_pfns(vb, vb->pfns, newpage); in virtballoon_migratepage() 848 set_page_pfns(vb, vb->pfns, page); in virtballoon_migratepage()
|
| /linux/drivers/gpu/drm/i915/gem/ |
| H A D | i915_gem_pages.c | 338 unsigned long stack[32], *pfns = stack, i; in i915_gem_object_map_pfn() local 347 pfns = kvmalloc_array(n_pfn, sizeof(*pfns), GFP_KERNEL); in i915_gem_object_map_pfn() 348 if (!pfns) in i915_gem_object_map_pfn() 354 pfns[i++] = (iomap + addr) >> PAGE_SHIFT; in i915_gem_object_map_pfn() 355 vaddr = vmap_pfn(pfns, n_pfn, pgprot_writecombine(PAGE_KERNEL_IO)); in i915_gem_object_map_pfn() 356 if (pfns != stack) in i915_gem_object_map_pfn() 357 kvfree(pfns); in i915_gem_object_map_pfn()
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_svm.h | 34 void nouveau_pfns_free(u64 *pfns); 36 unsigned long addr, u64 *pfns, unsigned long npages,
|
| H A D | nouveau_dmem.c | 785 struct nouveau_dmem_dma_info *dma_info, u64 *pfns) in nouveau_dmem_migrate_chunk() argument 795 args->src[i], dma_info + nr_dma, pfns + i); in nouveau_dmem_migrate_chunk() 812 nouveau_pfns_map(svmm, args->vma->vm_mm, args->start, pfns, i, order); in nouveau_dmem_migrate_chunk() 838 u64 *pfns; in nouveau_dmem_migrate_vma() local 862 pfns = nouveau_pfns_alloc(max); in nouveau_dmem_migrate_vma() 863 if (!pfns) in nouveau_dmem_migrate_vma() 878 pfns); in nouveau_dmem_migrate_vma() 884 nouveau_pfns_free(pfns); in nouveau_dmem_migrate_vma()
|
| H A D | nouveau_svm.c | 893 nouveau_pfns_to_args(void *pfns) in nouveau_pfns_to_args() argument 895 return container_of(pfns, struct nouveau_pfnmap_args, p.phys); in nouveau_pfns_to_args() 915 nouveau_pfns_free(u64 *pfns) in nouveau_pfns_free() argument 917 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns); in nouveau_pfns_free() 924 unsigned long addr, u64 *pfns, unsigned long npages, in nouveau_pfns_map() argument 927 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns); in nouveau_pfns_map()
|
| /linux/arch/powerpc/kvm/ |
| H A D | book3s_hv_uvmem.c | 230 unsigned long *pfns; member 255 p->pfns = vcalloc(slot->npages, sizeof(*p->pfns)); in kvmppc_uvmem_slot_init() 256 if (!p->pfns) { in kvmppc_uvmem_slot_init() 280 vfree(p->pfns); in kvmppc_uvmem_slot_free() 299 p->pfns[index] = uvmem_pfn | flag; in kvmppc_mark_gfn() 301 p->pfns[index] = flag; in kvmppc_mark_gfn() 342 if (p->pfns[index] & KVMPPC_GFN_UVMEM_PFN) { in kvmppc_gfn_is_uvmem_pfn() 344 *uvmem_pfn = p->pfns[index] & in kvmppc_gfn_is_uvmem_pfn() 382 if (!(p->pfns[index] & KVMPPC_GFN_FLAG_MASK)) { in kvmppc_next_nontransitioned_gfn()
|
| /linux/drivers/iommu/ |
| H A D | iova.c | 575 unsigned long pfns[IOVA_MAG_SIZE]; member 626 struct iova *iova = private_find_iova(iovad, mag->pfns[i]); in iova_magazine_free_pfns() 657 for (i = mag->size - 1; mag->pfns[i] > limit_pfn; i--) in iova_magazine_pop() 662 pfn = mag->pfns[i]; in iova_magazine_pop() 663 mag->pfns[i] = mag->pfns[--mag->size]; in iova_magazine_pop() 670 mag->pfns[mag->size++] = pfn; in iova_magazine_push()
|
| /linux/lib/ |
| H A D | test_hmm.c | 212 unsigned long *pfns = range->hmm_pfns; in dmirror_do_fault() local 217 pfn++, pfns++) { in dmirror_do_fault() 225 WARN_ON(*pfns & HMM_PFN_ERROR); in dmirror_do_fault() 226 WARN_ON(!(*pfns & HMM_PFN_VALID)); in dmirror_do_fault() 228 page = hmm_pfn_to_page(*pfns); in dmirror_do_fault() 232 if (*pfns & HMM_PFN_WRITE) in dmirror_do_fault() 335 unsigned long pfns[32]; in dmirror_fault() local 338 .hmm_pfns = pfns, in dmirror_fault() 352 range.end = min(addr + (ARRAY_SIZE(pfns) << PAGE_SHIFT), end); in dmirror_fault() 1332 unsigned long pfns[32]; in dmirror_snapshot() local [all …]
|
| /linux/include/xen/ |
| H A D | xen-ops.h | 188 int xen_xlate_map_ballooned_pages(xen_pfn_t **pfns, void **vaddr,
|
| /linux/include/linux/ |
| H A D | vmalloc.h | 219 void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot);
|
| /linux/include/hyperv/ |
| H A D | hvhdk.h | 747 u64 pfns; member
|
| /linux/Documentation/virt/kvm/x86/ |
| H A D | mmu.rst | 55 spte shadow pte (referring to pfns)
|