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