Lines Matching refs:pud

208 static int __ref modify_pmd_table(pud_t *pud, unsigned long addr,  in modify_pmd_table()  argument
220 pmd = pmd_offset(pud, addr); in modify_pmd_table()
289 static void try_free_pmd_table(pud_t *pud, unsigned long start) in try_free_pmd_table() argument
302 pmd = pmd_offset(pud, start); in try_free_pmd_table()
306 vmem_free_pages(pud_deref(*pud), CRST_ALLOC_ORDER); in try_free_pmd_table()
307 pud_clear(pud); in try_free_pmd_table()
315 pud_t *pud; in modify_pud_table() local
321 pud = pud_offset(p4d, addr); in modify_pud_table()
322 for (; addr < end; addr = next, pud++) { in modify_pud_table()
325 if (pud_none(*pud)) in modify_pud_table()
327 if (pud_large(*pud)) { in modify_pud_table()
330 pud_clear(pud); in modify_pud_table()
335 } else if (pud_none(*pud)) { in modify_pud_table()
340 pud_val(*pud) = addr | prot; in modify_pud_table()
347 pud_populate(&init_mm, pud, pmd); in modify_pud_table()
348 } else if (pud_large(*pud)) { in modify_pud_table()
351 ret = modify_pmd_table(pud, addr, next, add, direct); in modify_pud_table()
355 try_free_pmd_table(pud, addr & PUD_MASK); in modify_pud_table()
367 pud_t *pud; in try_free_pud_table() local
378 pud = pud_offset(p4d, start); in try_free_pud_table()
379 for (i = 0; i < PTRS_PER_PUD; i++, pud++) { in try_free_pud_table()
380 if (!pud_none(*pud)) in try_free_pud_table()
393 pud_t *pud; in modify_p4d_table() local
402 pud = vmem_crst_alloc(_REGION3_ENTRY_EMPTY); in modify_p4d_table()
403 if (!pud) in modify_p4d_table()
405 p4d_populate(&init_mm, p4d, pud); in modify_p4d_table()