Home
last modified time | relevance | path

Searched refs:pfns (Results 1 – 17 of 17) sorted by relevance

/Linux-v5.10/drivers/xen/
Dxlate_mmu.c193 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 = kcalloc(nr_grant_frames, sizeof(pfns[0]), GFP_KERNEL); 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()
Dprivcmd.c726 xen_pfn_t *pfns = NULL; in privcmd_ioctl_mmap_resource() local
745 pfns = kcalloc(kdata.num, sizeof(*pfns), GFP_KERNEL); in privcmd_ioctl_mmap_resource()
746 if (!pfns) { in privcmd_ioctl_mmap_resource()
766 pfns[i] = pfn + (i % XEN_PFN_PER_PAGE); in privcmd_ioctl_mmap_resource()
777 set_xen_guest_handle(xdata.frame_list, pfns); in privcmd_ioctl_mmap_resource()
797 pfns, kdata.num, (int *)pfns, in privcmd_ioctl_mmap_resource()
807 rc = pfns[i]; in privcmd_ioctl_mmap_resource()
817 kfree(pfns); in privcmd_ioctl_mmap_resource()
/Linux-v5.10/drivers/gpu/drm/i915/gem/
Di915_gem_pages.c298 unsigned long stack[32], *pfns = stack, i; in i915_gem_object_map_pfn() local
308 pfns = kvmalloc_array(n_pfn, sizeof(*pfns), GFP_KERNEL); in i915_gem_object_map_pfn()
309 if (!pfns) in i915_gem_object_map_pfn()
315 pfns[i++] = (iomap + addr) >> PAGE_SHIFT; in i915_gem_object_map_pfn()
316 vaddr = vmap_pfn(pfns, n_pfn, pgprot_writecombine(PAGE_KERNEL_IO)); in i915_gem_object_map_pfn()
317 if (pfns != stack) in i915_gem_object_map_pfn()
318 kvfree(pfns); in i915_gem_object_map_pfn()
/Linux-v5.10/drivers/gpu/drm/nouveau/
Dnouveau_svm.h34 void nouveau_pfns_free(u64 *pfns);
36 unsigned long addr, u64 *pfns, unsigned long npages);
Dnouveau_dmem.c618 dma_addr_t *dma_addrs, u64 *pfns) in nouveau_dmem_migrate_chunk() argument
625 args->src[i], dma_addrs + nr_dma, pfns + i); in nouveau_dmem_migrate_chunk()
634 nouveau_pfns_map(svmm, args->vma->vm_mm, args->start, pfns, i); in nouveau_dmem_migrate_chunk()
660 u64 *pfns; in nouveau_dmem_migrate_vma() local
677 pfns = nouveau_pfns_alloc(max); in nouveau_dmem_migrate_vma()
678 if (!pfns) in nouveau_dmem_migrate_vma()
689 pfns); in nouveau_dmem_migrate_vma()
695 nouveau_pfns_free(pfns); in nouveau_dmem_migrate_vma()
Dnouveau_svm.c776 nouveau_pfns_to_args(void *pfns) in nouveau_pfns_to_args() argument
778 return container_of(pfns, struct nouveau_pfnmap_args, p.phys); in nouveau_pfns_to_args()
798 nouveau_pfns_free(u64 *pfns) in nouveau_pfns_free() argument
800 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns); in nouveau_pfns_free()
807 unsigned long addr, u64 *pfns, unsigned long npages) in nouveau_pfns_map() argument
809 struct nouveau_pfnmap_args *args = nouveau_pfns_to_args(pfns); in nouveau_pfns_map()
/Linux-v5.10/lib/
Dtest_hmm.c162 unsigned long *pfns = range->hmm_pfns; in dmirror_do_fault() local
167 pfn++, pfns++) { in dmirror_do_fault()
175 WARN_ON(*pfns & HMM_PFN_ERROR); in dmirror_do_fault()
176 WARN_ON(!(*pfns & HMM_PFN_VALID)); in dmirror_do_fault()
178 page = hmm_pfn_to_page(*pfns); in dmirror_do_fault()
182 if (*pfns & HMM_PFN_WRITE) in dmirror_do_fault()
285 unsigned long pfns[64]; in dmirror_fault() local
288 .hmm_pfns = pfns, in dmirror_fault()
302 range.end = min(addr + (ARRAY_SIZE(pfns) << PAGE_SHIFT), end); in dmirror_fault()
867 unsigned long pfns[64]; in dmirror_snapshot() local
[all …]
/Linux-v5.10/drivers/virtio/
Dvirtio_balloon.c115 __virtio32 pfns[VIRTIO_BALLOON_ARRAY_PFNS_MAX]; member
157 sg_init_one(&sg, vb->pfns, sizeof(vb->pfns[0]) * vb->num_pfns); in tell_host()
196 __virtio32 pfns[], struct page *page) in set_page_pfns() argument
207 pfns[i] = cpu_to_virtio32(vb->vdev, in set_page_pfns()
219 num = min(num, ARRAY_SIZE(vb->pfns)); in fill_balloon()
244 set_page_pfns(vb, vb->pfns + vb->num_pfns, page); in fill_balloon()
283 num = min(num, ARRAY_SIZE(vb->pfns)); in leak_balloon()
293 set_page_pfns(vb, vb->pfns + vb->num_pfns, page); in leak_balloon()
791 set_page_pfns(vb, vb->pfns, newpage); in virtballoon_migratepage()
799 set_page_pfns(vb, vb->pfns, page); in virtballoon_migratepage()
/Linux-v5.10/arch/powerpc/kvm/
Dbook3s_hv_uvmem.c228 unsigned long *pfns; member
253 p->pfns = vzalloc(array_size(slot->npages, sizeof(*p->pfns))); in kvmppc_uvmem_slot_init()
254 if (!p->pfns) { in kvmppc_uvmem_slot_init()
278 vfree(p->pfns); in kvmppc_uvmem_slot_free()
297 p->pfns[index] = uvmem_pfn | flag; in kvmppc_mark_gfn()
299 p->pfns[index] = flag; in kvmppc_mark_gfn()
340 if (p->pfns[index] & KVMPPC_GFN_UVMEM_PFN) { in kvmppc_gfn_is_uvmem_pfn()
342 *uvmem_pfn = p->pfns[index] & in kvmppc_gfn_is_uvmem_pfn()
378 if (!(p->pfns[index] & KVMPPC_GFN_FLAG_MASK)) { in kvmppc_next_nontransitioned_gfn()
/Linux-v5.10/mm/
Dsparse.c230 unsigned long pfns; in subsection_map_init() local
232 pfns = min(nr_pages, PAGES_PER_SECTION in subsection_map_init()
235 subsection_mask_set(ms->usage->subsection_map, pfn, pfns); in subsection_map_init()
238 pfns, subsection_map_index(pfn), in subsection_map_init()
239 subsection_map_index(pfn + pfns - 1)); in subsection_map_init()
241 pfn += pfns; in subsection_map_init()
242 nr_pages -= pfns; in subsection_map_init()
Dvmalloc.c2416 unsigned long *pfns; member
2425 if (WARN_ON_ONCE(pfn_valid(data->pfns[data->idx]))) in vmap_pfn_apply()
2427 *pte = pte_mkspecial(pfn_pte(data->pfns[data->idx++], data->prot)); in vmap_pfn_apply()
2440 void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot) in vmap_pfn() argument
2442 struct vmap_pfn_data data = { .pfns = pfns, .prot = pgprot_nx(prot) }; in vmap_pfn()
/Linux-v5.10/drivers/iommu/
Diova.c781 unsigned long pfns[IOVA_MAG_SIZE]; member
812 struct iova *iova = private_find_iova(iovad, mag->pfns[i]); in iova_magazine_free_pfns()
844 for (i = mag->size - 1; mag->pfns[i] > limit_pfn; i--) in iova_magazine_pop()
849 pfn = mag->pfns[i]; in iova_magazine_pop()
850 mag->pfns[i] = mag->pfns[--mag->size]; in iova_magazine_pop()
859 mag->pfns[mag->size++] = pfn; in iova_magazine_push()
/Linux-v5.10/include/xen/
Dxen-ops.h210 int xen_xlate_map_ballooned_pages(xen_pfn_t **pfns, void **vaddr,
/Linux-v5.10/include/linux/
Dvmalloc.h125 void *vmap_pfn(unsigned long *pfns, unsigned int count, pgprot_t prot);
/Linux-v5.10/Documentation/vm/
Dhmm.rst170 Both functions copy CPU page table entries into their pfns array argument. Each
210 /* Use pfns array content to update device page table,
227 for each entry in the pfns array.
243 range->pfns[index_of_write] = HMM_PFN_REQ_WRITE;
Dmemory-model.rst191 :c:func:`get_user_pages` service for the given range of pfns. Since the
/Linux-v5.10/Documentation/virt/kvm/
Dmmu.rst55 spte shadow pte (referring to pfns)