Lines Matching refs:pfn

601 	unsigned long pfn = pte_pfn(pte);  in vm_normal_page()  local
610 if (is_zero_pfn(pfn)) in vm_normal_page()
621 if (!pfn_valid(pfn)) in vm_normal_page()
623 if (is_zero_pfn(pfn)) in vm_normal_page()
629 if (pfn == vma->vm_pgoff + off) in vm_normal_page()
636 if (is_zero_pfn(pfn)) in vm_normal_page()
640 if (unlikely(pfn > highest_memmap_pfn)) { in vm_normal_page()
650 VM_WARN_ON_ONCE(is_zero_pfn(pfn)); in vm_normal_page()
651 return pfn_to_page(pfn); in vm_normal_page()
668 unsigned long pfn = pmd_pfn(pmd); in vm_normal_page_pmd() local
676 if (!pfn_valid(pfn)) in vm_normal_page_pmd()
682 if (pfn == vma->vm_pgoff + off) in vm_normal_page_pmd()
689 if (is_huge_zero_pfn(pfn)) in vm_normal_page_pmd()
691 if (unlikely(pfn > highest_memmap_pfn)) in vm_normal_page_pmd()
699 return pfn_to_page(pfn); in vm_normal_page_pmd()
2442 unsigned long pfn, pgprot_t prot, bool mkwrite) in insert_pfn() argument
2464 if (pte_pfn(entry) != pfn) { in insert_pfn()
2477 entry = pte_mkspecial(pfn_pte(pfn, prot)); in insert_pfn()
2526 unsigned long pfn, pgprot_t pgprot) in vmf_insert_pfn_prot() argument
2538 BUG_ON((vma->vm_flags & VM_MIXEDMAP) && pfn_valid(pfn)); in vmf_insert_pfn_prot()
2543 if (!pfn_modify_allowed(pfn, pgprot)) in vmf_insert_pfn_prot()
2546 pfnmap_setup_cachemode_pfn(pfn, &pgprot); in vmf_insert_pfn_prot()
2548 return insert_pfn(vma, addr, pfn, pgprot, false); in vmf_insert_pfn_prot()
2573 unsigned long pfn) in vmf_insert_pfn() argument
2575 return vmf_insert_pfn_prot(vma, addr, pfn, vma->vm_page_prot); in vmf_insert_pfn()
2579 static bool vm_mixed_ok(struct vm_area_struct *vma, unsigned long pfn, in vm_mixed_ok() argument
2582 if (unlikely(is_zero_pfn(pfn)) && in vm_mixed_ok()
2588 if (is_zero_pfn(pfn)) in vm_mixed_ok()
2594 unsigned long addr, unsigned long pfn, bool mkwrite) in __vm_insert_mixed() argument
2599 if (!vm_mixed_ok(vma, pfn, mkwrite)) in __vm_insert_mixed()
2605 pfnmap_setup_cachemode_pfn(pfn, &pgprot); in __vm_insert_mixed()
2607 if (!pfn_modify_allowed(pfn, pgprot)) in __vm_insert_mixed()
2617 if (!IS_ENABLED(CONFIG_ARCH_HAS_PTE_SPECIAL) && pfn_valid(pfn)) { in __vm_insert_mixed()
2625 page = pfn_to_page(pfn); in __vm_insert_mixed()
2628 return insert_pfn(vma, addr, pfn, pgprot, mkwrite); in __vm_insert_mixed()
2660 unsigned long pfn) in vmf_insert_mixed() argument
2662 return __vm_insert_mixed(vma, addr, pfn, false); in vmf_insert_mixed()
2672 unsigned long addr, unsigned long pfn) in vmf_insert_mixed_mkwrite() argument
2674 return __vm_insert_mixed(vma, addr, pfn, true); in vmf_insert_mixed_mkwrite()
2684 unsigned long pfn, pgprot_t prot) in remap_pte_range() argument
2696 if (!pfn_modify_allowed(pfn, prot)) { in remap_pte_range()
2700 set_pte_at(mm, addr, pte, pte_mkspecial(pfn_pte(pfn, prot))); in remap_pte_range()
2701 pfn++; in remap_pte_range()
2710 unsigned long pfn, pgprot_t prot) in remap_pmd_range() argument
2716 pfn -= addr >> PAGE_SHIFT; in remap_pmd_range()
2724 pfn + (addr >> PAGE_SHIFT), prot); in remap_pmd_range()
2733 unsigned long pfn, pgprot_t prot) in remap_pud_range() argument
2739 pfn -= addr >> PAGE_SHIFT; in remap_pud_range()
2746 pfn + (addr >> PAGE_SHIFT), prot); in remap_pud_range()
2755 unsigned long pfn, pgprot_t prot) in remap_p4d_range() argument
2761 pfn -= addr >> PAGE_SHIFT; in remap_p4d_range()
2768 pfn + (addr >> PAGE_SHIFT), prot); in remap_p4d_range()
2776 unsigned long pfn, unsigned long size, pgprot_t prot) in remap_pfn_range_internal() argument
2808 vma->vm_pgoff = pfn; in remap_pfn_range_internal()
2814 pfn -= addr >> PAGE_SHIFT; in remap_pfn_range_internal()
2820 pfn + (addr >> PAGE_SHIFT), prot); in remap_pfn_range_internal()
2833 unsigned long pfn, unsigned long size, pgprot_t prot) in remap_pfn_range_notrack() argument
2835 int error = remap_pfn_range_internal(vma, addr, pfn, size, prot); in remap_pfn_range_notrack()
2850 static inline struct pfnmap_track_ctx *pfnmap_track_ctx_alloc(unsigned long pfn, in pfnmap_track_ctx_alloc() argument
2855 if (pfnmap_track(pfn, size, prot)) in pfnmap_track_ctx_alloc()
2860 pfnmap_untrack(pfn, size); in pfnmap_track_ctx_alloc()
2864 ctx->pfn = pfn; in pfnmap_track_ctx_alloc()
2874 pfnmap_untrack(ctx->pfn, ctx->size); in pfnmap_track_ctx_release()
2893 unsigned long pfn, unsigned long size, pgprot_t prot) in remap_pfn_range() argument
2912 ctx = pfnmap_track_ctx_alloc(pfn, size, &prot); in remap_pfn_range()
2915 } else if (pfnmap_setup_cachemode(pfn, size, &prot)) { in remap_pfn_range()
2919 err = remap_pfn_range_notrack(vma, addr, pfn, size, prot); in remap_pfn_range()
2931 unsigned long pfn, unsigned long size, pgprot_t prot) in remap_pfn_range() argument
2933 return remap_pfn_range_notrack(vma, addr, pfn, size, prot); in remap_pfn_range()
2955 unsigned long vm_len, pfn, pages; in vm_iomap_memory() local
2966 pfn = start >> PAGE_SHIFT; in vm_iomap_memory()
2968 if (pfn + pages < pfn) in vm_iomap_memory()
2974 pfn += vma->vm_pgoff; in vm_iomap_memory()
2983 return io_remap_pfn_range(vma, vma->vm_start, pfn, vm_len, vma->vm_page_prot); in vm_iomap_memory()
6475 args->pfn = pfn_base + ((args->address & ~addr_mask) >> PAGE_SHIFT); in pfnmap_args_setup()
6647 phys_addr = (resource_size_t)args.pfn << PAGE_SHIFT; in generic_access_phys()
6662 (phys_addr != (args.pfn << PAGE_SHIFT)) || in generic_access_phys()