Lines Matching refs:pmd

94 static int vmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,  in vmap_pte_range()  argument
104 pte = pte_alloc_kernel_track(pmd, addr, mask); in vmap_pte_range()
139 static int vmap_try_huge_pmd(pmd_t *pmd, unsigned long addr, unsigned long end, in vmap_try_huge_pmd() argument
158 if (pmd_present(*pmd) && !pmd_free_pte_page(pmd, addr)) in vmap_try_huge_pmd()
161 return pmd_set_huge(pmd, phys_addr, prot); in vmap_try_huge_pmd()
168 pmd_t *pmd; in vmap_pmd_range() local
171 pmd = pmd_alloc_track(&init_mm, pud, addr, mask); in vmap_pmd_range()
172 if (!pmd) in vmap_pmd_range()
177 if (vmap_try_huge_pmd(pmd, addr, next, phys_addr, prot, in vmap_pmd_range()
183 if (vmap_pte_range(pmd, addr, next, phys_addr, prot, max_page_shift, mask)) in vmap_pmd_range()
185 } while (pmd++, phys_addr += (next - addr), addr = next, addr != end); in vmap_pmd_range()
354 static void vunmap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, in vunmap_pte_range() argument
361 pte = pte_offset_kernel(pmd, addr); in vunmap_pte_range()
388 pmd_t *pmd; in vunmap_pmd_range() local
392 pmd = pmd_offset(pud, addr); in vunmap_pmd_range()
396 cleared = pmd_clear_huge(pmd); in vunmap_pmd_range()
397 if (cleared || pmd_bad(*pmd)) in vunmap_pmd_range()
404 if (pmd_none_or_clear_bad(pmd)) in vunmap_pmd_range()
406 vunmap_pte_range(pmd, addr, next, mask); in vunmap_pmd_range()
409 } while (pmd++, addr = next, addr != end); in vunmap_pmd_range()
513 static int vmap_pages_pte_range(pmd_t *pmd, unsigned long addr, in vmap_pages_pte_range() argument
525 pte = pte_alloc_kernel_track(pmd, addr, mask); in vmap_pages_pte_range()
561 pmd_t *pmd; in vmap_pages_pmd_range() local
564 pmd = pmd_alloc_track(&init_mm, pud, addr, mask); in vmap_pages_pmd_range()
565 if (!pmd) in vmap_pages_pmd_range()
569 if (vmap_pages_pte_range(pmd, addr, next, prot, pages, nr, mask)) in vmap_pages_pmd_range()
571 } while (pmd++, addr = next, addr != end); in vmap_pages_pmd_range()
786 pmd_t *pmd; in vmalloc_to_page() local
818 pmd = pmd_offset(pud, addr); in vmalloc_to_page()
819 if (pmd_none(*pmd)) in vmalloc_to_page()
821 if (pmd_leaf(*pmd)) in vmalloc_to_page()
822 return pmd_page(*pmd) + ((addr & ~PMD_MASK) >> PAGE_SHIFT); in vmalloc_to_page()
823 if (WARN_ON_ONCE(pmd_bad(*pmd))) in vmalloc_to_page()
826 ptep = pte_offset_kernel(pmd, addr); in vmalloc_to_page()