Lines Matching refs:p4d
308 static int modify_pud_table(p4d_t *p4d, unsigned long addr, unsigned long end, in modify_pud_table() argument
319 pud = pud_offset(p4d, addr); in modify_pud_table()
362 static void try_free_pud_table(p4d_t *p4d, unsigned long start) in try_free_pud_table() argument
367 pud = pud_offset(p4d, start); in try_free_pud_table()
372 vmem_free_pages(p4d_deref(*p4d), CRST_ALLOC_ORDER); in try_free_pud_table()
373 p4d_clear(p4d); in try_free_pud_table()
381 p4d_t *p4d; in modify_p4d_table() local
384 p4d = p4d_offset(pgd, addr); in modify_p4d_table()
385 for (; addr < end; addr = next, p4d++) { in modify_p4d_table()
388 if (p4d_none(*p4d)) in modify_p4d_table()
390 } else if (p4d_none(*p4d)) { in modify_p4d_table()
394 p4d_populate(&init_mm, p4d, pud); in modify_p4d_table()
396 ret = modify_pud_table(p4d, addr, next, add, direct); in modify_p4d_table()
400 try_free_pud_table(p4d, addr & P4D_MASK); in modify_p4d_table()
409 p4d_t *p4d; in try_free_p4d_table() local
412 p4d = p4d_offset(pgd, start); in try_free_p4d_table()
413 for (i = 0; i < PTRS_PER_P4D; i++, p4d++) { in try_free_p4d_table()
414 if (!p4d_none(*p4d)) in try_free_p4d_table()
427 p4d_t *p4d; in modify_pagetable() local
442 p4d = vmem_crst_alloc(_REGION2_ENTRY_EMPTY); in modify_pagetable()
443 if (!p4d) in modify_pagetable()
445 pgd_populate(&init_mm, pgd, p4d); in modify_pagetable()
558 p4d_t *p4d; in vmem_get_alloc_pte() local
567 p4d = vmem_crst_alloc(_REGION2_ENTRY_EMPTY); in vmem_get_alloc_pte()
568 if (!p4d) in vmem_get_alloc_pte()
570 pgd_populate(&init_mm, pgd, p4d); in vmem_get_alloc_pte()
572 p4d = p4d_offset(pgd, addr); in vmem_get_alloc_pte()
573 if (p4d_none(*p4d)) { in vmem_get_alloc_pte()
579 p4d_populate(&init_mm, p4d, pud); in vmem_get_alloc_pte()
581 pud = pud_offset(p4d, addr); in vmem_get_alloc_pte()