/linux-master/drivers/iommu/iommufd/ |
H A D | pages.c | 262 * PFNs. This is used as a temporary holding memory for shuttling pfns from one 264 * work on the largest possible grouping of pfns. eg fewer lock/unlock cycles, 268 unsigned long *pfns; member in struct:pfn_batch 279 batch->pfns[0] = 0; 297 batch->pfns[0] = batch->pfns[batch->end - 1] + 310 batch->pfns[0] += skip_pfns; 318 const size_t elmsz = sizeof(*batch->pfns) + sizeof(*batch->npfns); 321 batch->pfns = temp_kmalloc(&size, backup, backup_len); 322 if (!batch->pfns) 947 pfn_reader_update_pinned(struct pfn_reader *pfns) argument 956 pfn_reader_unpin(struct pfn_reader *pfns) argument 976 pfn_reader_fill_span(struct pfn_reader *pfns) argument 1024 pfn_reader_done(struct pfn_reader *pfns) argument 1029 pfn_reader_next(struct pfn_reader *pfns) argument 1062 pfn_reader_init(struct pfn_reader *pfns, struct iopt_pages *pages, unsigned long start_index, unsigned long last_index) argument 1091 pfn_reader_release_pins(struct pfn_reader *pfns) argument 1111 pfn_reader_destroy(struct pfn_reader *pfns) argument 1121 pfn_reader_first(struct pfn_reader *pfns, struct iopt_pages *pages, unsigned long start_index, unsigned long last_index) argument 1360 struct pfn_reader pfns; local 1414 struct pfn_reader pfns; local 1749 struct pfn_reader pfns; local [all...] |
H A D | selftest.c | 49 * the pfns shifted. The upper bits are used for metadata. 125 struct xarray pfns; member in struct:mock_iommu_domain 221 ent = xa_load(&mock->pfns, cur / MOCK_IO_PAGE_SIZE); 231 old = xa_store(&mock->pfns, cur / MOCK_IO_PAGE_SIZE, 257 ent = xa_load(&mock->pfns, iova / MOCK_IO_PAGE_SIZE); 296 xa_init(&mock->pfns); 371 WARN_ON(!xa_empty(&mock->pfns)); 405 old = xa_store(&mock->pfns, iova / MOCK_IO_PAGE_SIZE, 412 xa_erase(&mock->pfns, 445 ent = xa_erase(&mock->pfns, iov [all...] |
/linux-master/drivers/gpu/drm/amd/amdgpu/ |
H A D | amdgpu_hmm.c | 177 unsigned long *pfns; local 184 pfns = kvmalloc_array(npages, sizeof(*pfns), GFP_KERNEL); 185 if (unlikely(!pfns)) { 194 hmm_range->hmm_pfns = pfns; 231 hmm_range->hmm_pfns = pfns; 239 pages[i] = hmm_pfn_to_page(pfns[i]); 246 kvfree(pfns);
|
/linux-master/drivers/xen/ |
H A D | xlate_mmu.c | 193 xen_pfn_t *pfns; member in struct:map_balloon_pages 201 info->pfns[info->idx++] = gfn; 218 xen_pfn_t *pfns; local 230 pfns = kcalloc(nr_grant_frames, sizeof(pfns[0]), GFP_KERNEL); 231 if (!pfns) { 240 kfree(pfns); 244 data.pfns = pfns; 254 kfree(pfns); [all...] |
H A D | privcmd.c | 422 /* Allocate pfns that are then mapped with gfns from foreign domid. Update 437 pr_warn("%s Could not alloc %d pfns rc:%d\n", __func__, 736 xen_pfn_t *pfns = NULL; local 771 pfns = kcalloc(kdata.num, sizeof(*pfns), GFP_KERNEL | __GFP_NOWARN); 772 if (!pfns) { 793 pfns[i] = pfn + (i % XEN_PFN_PER_PAGE); 800 set_xen_guest_handle(xdata.frame_list, pfns); 816 int num, *errs = (int *)pfns; 818 BUILD_BUG_ON(sizeof(*errs) > sizeof(*pfns)); [all...] |
/linux-master/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 | 665 dma_addr_t *dma_addrs, u64 *pfns) 672 args->src[i], dma_addrs + nr_dma, pfns + i); 681 nouveau_pfns_map(svmm, args->vma->vm_mm, args->start, pfns, i); 707 u64 *pfns; local 724 pfns = nouveau_pfns_alloc(max); 725 if (!pfns) 740 pfns); 746 nouveau_pfns_free(pfns); 663 nouveau_dmem_migrate_chunk(struct nouveau_drm *drm, struct nouveau_svmm *svmm, struct migrate_vma *args, dma_addr_t *dma_addrs, u64 *pfns) argument
|
H A D | nouveau_svm.c | 892 nouveau_pfns_to_args(void *pfns) argument 894 return container_of(pfns, struct nouveau_pfnmap_args, p.phys); 914 nouveau_pfns_free(u64 *pfns) argument 916 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns); 923 unsigned long addr, u64 *pfns, unsigned long npages) 925 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns); 922 nouveau_pfns_map(struct nouveau_svmm *svmm, struct mm_struct *mm, unsigned long addr, u64 *pfns, unsigned long npages) argument
|
/linux-master/tools/mm/ |
H A D | thpmaps | 229 def thp_parse(vma, kpageflags, ranges, indexes, vfns, pfns, anons, heads): 231 # by THPs (vfns: virtual frame numbers, pfns: physical frame numbers, anons: 314 # by THPs (vfns: virtual frame numbers, pfns: physical frame numbers, anons: 399 pfns = pmes & PM_PFN_MASK 400 pfns = pfns[present] 404 pfn_vec = cont_ranges_all([pfns], [pfns])[0] 411 pfns = pfns[thp [all...] |
/linux-master/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_pages.c | 333 unsigned long stack[32], *pfns = stack, i; local 342 pfns = kvmalloc_array(n_pfn, sizeof(*pfns), GFP_KERNEL); 343 if (!pfns) 349 pfns[i++] = (iomap + addr) >> PAGE_SHIFT; 350 vaddr = vmap_pfn(pfns, n_pfn, pgprot_writecombine(PAGE_KERNEL_IO)); 351 if (pfns != stack) 352 kvfree(pfns);
|
/linux-master/drivers/virtio/ |
H A D | virtio_balloon.c | 106 /* The array of pfns we tell the Host about. */ 108 __virtio32 pfns[VIRTIO_BALLOON_ARRAY_PFNS_MAX]; member in struct:virtio_balloon 155 sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); 194 __virtio32 pfns[], struct page *page) 201 * Set balloon pfns pointing at this page. 205 pfns[i] = cpu_to_virtio32(vb->vdev, 217 num = min(num, ARRAY_SIZE(vb->pfns)); 242 set_page_pfns(vb, vb->pfns + vb->num_pfns, page); 281 num = min(num, ARRAY_SIZE(vb->pfns)); 193 set_page_pfns(struct virtio_balloon *vb, __virtio32 pfns[], struct page *page) argument [all...] |
/linux-master/mm/ |
H A D | sparse.c | 136 * in larger pfns than the maximum scope of sparsemem: 203 unsigned long pfns; local 205 pfns = min(nr_pages, PAGES_PER_SECTION 208 subsection_mask_set(ms->usage->subsection_map, pfn, pfns); 210 pr_debug("%s: sec: %lu pfns: %lu set(%d, %d)\n", __func__, nr, 211 pfns, subsection_map_index(pfn), 212 subsection_map_index(pfn + pfns - 1)); 214 pfn += pfns; 215 nr_pages -= pfns; 875 * @nr_pages: number of pfns t [all...] |
H A D | vmalloc.c | 3436 unsigned long *pfns; member in struct:vmap_pfn_data 3444 unsigned long pfn = data->pfns[data->idx]; 3459 * @pfns: array of PFNs 3463 * Maps @count PFNs from @pfns into contiguous kernel virtual space and returns 3466 void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot) argument 3468 struct vmap_pfn_data data = { .pfns = pfns, .prot = pgprot_nx(prot) };
|
/linux-master/arch/powerpc/kvm/ |
H A D | book3s_hv_uvmem.c | 230 unsigned long *pfns; member in struct:kvmppc_uvmem_slot 255 p->pfns = vcalloc(slot->npages, sizeof(*p->pfns)); 256 if (!p->pfns) { 280 vfree(p->pfns); 299 p->pfns[index] = uvmem_pfn | flag; 301 p->pfns[index] = flag; 342 if (p->pfns[index] & KVMPPC_GFN_UVMEM_PFN) { 344 *uvmem_pfn = p->pfns[index] & 382 if (!(p->pfns[inde [all...] |
/linux-master/lib/ |
H A D | test_hmm.c | 209 unsigned long *pfns = range->hmm_pfns; local 214 pfn++, pfns++) { 222 WARN_ON(*pfns & HMM_PFN_ERROR); 223 WARN_ON(!(*pfns & HMM_PFN_VALID)); 225 page = hmm_pfn_to_page(*pfns); 229 if (*pfns & HMM_PFN_WRITE) 332 unsigned long pfns[64]; local 335 .hmm_pfns = pfns, 349 range.end = min(addr + (ARRAY_SIZE(pfns) << PAGE_SHIFT), end); 1172 unsigned long pfns[6 local [all...] |
/linux-master/drivers/iommu/ |
H A D | iova.c | 522 /* Don't allow nonsensical pfns */ 574 unsigned long pfns[IOVA_MAG_SIZE]; member in struct:iova_magazine 625 struct iova *iova = private_find_iova(iovad, mag->pfns[i]); 655 /* Only fall back to the rbtree if we have no suitable pfns at all */ 656 for (i = mag->size - 1; mag->pfns[i] > limit_pfn; i--) 661 pfn = mag->pfns[i]; 662 mag->pfns[i] = mag->pfns[--mag->size]; 669 mag->pfns[mag->size++] = pfn;
|
/linux-master/arch/s390/include/asm/ |
H A D | gmap.h | 152 void s390_uv_destroy_pfns(unsigned long count, unsigned long *pfns);
|
/linux-master/include/xen/ |
H A D | xen-ops.h | 189 int xen_xlate_map_ballooned_pages(xen_pfn_t **pfns, void **vaddr,
|
/linux-master/include/linux/ |
H A D | vmalloc.h | 167 void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot);
|
/linux-master/arch/s390/mm/ |
H A D | gmap.c | 2729 unsigned long pfns[GATHER_GET_PAGES]; member in struct:reset_walk_state 2741 p->pfns[p->count] = phys_to_pfn(pte_val(pte)); 2757 void s390_uv_destroy_pfns(unsigned long count, unsigned long *pfns) argument 2763 uv_destroy_owned_page(pfn_to_phys(pfns[i])); 2765 put_page(pfn_to_page(pfns[i])); 2797 s390_uv_destroy_pfns(state.count, state.pfns);
|