Lines Matching defs:pmd
39 static int split_vmemmap_huge_pmd(pmd_t *pmd, unsigned long start)
48 head = pmd_leaf(*pmd) ? pmd_page(*pmd) : NULL;
70 if (likely(pmd_leaf(*pmd))) {
79 /* Make pte visible before pmd. See comment in pmd_install(). */
81 pmd_populate_kernel(&init_mm, pmd, pgtable);
91 static void vmemmap_pte_range(pmd_t *pmd, unsigned long addr,
95 pte_t *pte = pte_offset_kernel(pmd, addr);
122 pmd_t *pmd;
125 pmd = pmd_offset(pud, addr);
129 ret = split_vmemmap_huge_pmd(pmd, addr & PMD_MASK);
134 vmemmap_pte_range(pmd, addr, next, walk);
135 } while (pmd++, addr = next, addr != end);
492 pmd_t *pmdp, pmd;
509 pmd = READ_ONCE(*pmdp);
510 if (pmd_leaf(pmd))
511 vmemmap_page = pmd_page(pmd) + pte_index(vaddr);