Lines Matching refs:p4d

73 DEFINE_POPULATE(p4d_populate, p4d, pud, init)
74 DEFINE_POPULATE(pgd_populate, pgd, p4d, init)
88 DEFINE_ENTRY(p4d, p4d, init)
180 * With folded p4d, pgd_none() is always false, we need to
181 * handle synchronization on p4d level.
192 p4d_t *p4d;
196 p4d = p4d_offset(pgd, addr);
201 if (!p4d_none(*p4d_ref) && !p4d_none(*p4d))
202 BUG_ON(p4d_pgtable(*p4d)
205 if (p4d_none(*p4d))
206 set_p4d(p4d, *p4d_ref);
252 p4d_t *p4d = (p4d_t *)spp_getpage();
253 pgd_populate(&init_mm, pgd, p4d);
254 if (p4d != p4d_offset(pgd, 0))
256 p4d, p4d_offset(pgd, 0));
261 static pud_t *fill_pud(p4d_t *p4d, unsigned long vaddr)
263 if (p4d_none(*p4d)) {
265 p4d_populate(&init_mm, p4d, pud);
266 if (pud != pud_offset(p4d, 0))
268 pud, pud_offset(p4d, 0));
270 return pud_offset(p4d, vaddr);
312 p4d_t *p4d = p4d_page + p4d_index(vaddr);
313 pud_t *pud = fill_pud(p4d, vaddr);
346 p4d_t *p4d;
350 p4d = fill_p4d(pgd, vaddr);
351 pud = fill_pud(p4d, vaddr);
370 p4d_t *p4d;
381 p4d = (p4d_t *) spp_getpage();
382 set_pgd(pgd, __pgd(__pa(p4d) | _KERNPG_TABLE |
385 p4d = p4d_offset(pgd, (unsigned long)__va(phys));
386 if (p4d_none(*p4d)) {
388 set_p4d(p4d, __p4d(__pa(pud) | _KERNPG_TABLE |
391 pud = pud_offset(p4d, (unsigned long)__va(phys));
689 p4d_t *p4d = p4d_page + p4d_index(vaddr);
702 set_p4d_init(p4d, __p4d(0), init);
706 if (!p4d_none(*p4d)) {
707 pud = pud_offset(p4d, 0);
718 p4d_populate_init(&init_mm, p4d, pud, init);
741 p4d_t *p4d;
746 p4d = (p4d_t *)pgd_page_vaddr(*pgd);
747 paddr_last = phys_p4d_init(p4d, __pa(vaddr),
754 p4d = alloc_low_page();
755 paddr_last = phys_p4d_init(p4d, __pa(vaddr), __pa(vaddr_end),
760 pgd_populate_init(&init_mm, pgd, p4d, init);
763 (pud_t *) p4d, init);
1041 static void __meminit free_pud_table(pud_t *pud_start, p4d_t *p4d)
1053 free_pagetable(p4d_page(*p4d), 0);
1055 p4d_clear(p4d);
1191 p4d_t *p4d;
1193 p4d = p4d_start + p4d_index(addr);
1194 for (; addr < end; addr = next, p4d++) {
1197 if (!p4d_present(*p4d))
1200 BUILD_BUG_ON(p4d_large(*p4d));
1202 pud_base = pud_offset(p4d, 0);
1210 free_pud_table(pud_base, p4d);
1225 p4d_t *p4d;
1234 p4d = p4d_offset(pgd, 0);
1235 remove_p4d_table(p4d, addr, next, altmap, direct);
1293 p4d_t *p4d;
1296 lvl = "p4d";
1297 p4d = p4d_alloc(&init_mm, pgd, addr);
1298 if (!p4d)
1315 pud = pud_alloc(&init_mm, p4d, addr);
1566 p4d_t *p4d;
1582 p4d = p4d_offset(pgd, addr);
1583 if (p4d_none(*p4d)) {
1587 get_page_bootmem(section_nr, p4d_page(*p4d), MIX_SECTION_INFO);
1589 pud = pud_offset(p4d, addr);