Lines Matching refs:p4d
72 DEFINE_POPULATE(p4d_populate, p4d, pud, init)
73 DEFINE_POPULATE(pgd_populate, pgd, p4d, init)
87 DEFINE_ENTRY(p4d, p4d, init)
174 * With folded p4d, pgd_none() is always false, we need to
175 * handle synchonization on p4d level.
186 p4d_t *p4d;
190 p4d = p4d_offset(pgd, addr);
195 if (!p4d_none(*p4d_ref) && !p4d_none(*p4d))
196 BUG_ON(p4d_pgtable(*p4d)
199 if (p4d_none(*p4d))
200 set_p4d(p4d, *p4d_ref);
246 p4d_t *p4d = (p4d_t *)spp_getpage();
247 pgd_populate(&init_mm, pgd, p4d);
248 if (p4d != p4d_offset(pgd, 0))
250 p4d, p4d_offset(pgd, 0));
255 static pud_t *fill_pud(p4d_t *p4d, unsigned long vaddr)
257 if (p4d_none(*p4d)) {
259 p4d_populate(&init_mm, p4d, pud);
260 if (pud != pud_offset(p4d, 0))
262 pud, pud_offset(p4d, 0));
264 return pud_offset(p4d, vaddr);
306 p4d_t *p4d = p4d_page + p4d_index(vaddr);
307 pud_t *pud = fill_pud(p4d, vaddr);
340 p4d_t *p4d;
344 p4d = fill_p4d(pgd, vaddr);
345 pud = fill_pud(p4d, vaddr);
364 p4d_t *p4d;
375 p4d = (p4d_t *) spp_getpage();
376 set_pgd(pgd, __pgd(__pa(p4d) | _KERNPG_TABLE |
379 p4d = p4d_offset(pgd, (unsigned long)__va(phys));
380 if (p4d_none(*p4d)) {
382 set_p4d(p4d, __p4d(__pa(pud) | _KERNPG_TABLE |
385 pud = pud_offset(p4d, (unsigned long)__va(phys));
688 p4d_t *p4d = p4d_page + p4d_index(vaddr);
701 set_p4d_init(p4d, __p4d(0), init);
705 if (!p4d_none(*p4d)) {
706 pud = pud_offset(p4d, 0);
717 p4d_populate_init(&init_mm, p4d, pud, init);
740 p4d_t *p4d;
745 p4d = (p4d_t *)pgd_page_vaddr(*pgd);
746 paddr_last = phys_p4d_init(p4d, __pa(vaddr),
753 p4d = alloc_low_page();
754 paddr_last = phys_p4d_init(p4d, __pa(vaddr), __pa(vaddr_end),
759 pgd_populate_init(&init_mm, pgd, p4d, init);
762 (pud_t *) p4d, init);
941 static void __meminit free_pud_table(pud_t *pud_start, p4d_t *p4d)
953 free_pagetable(p4d_page(*p4d), 0);
955 p4d_clear(p4d);
1147 p4d_t *p4d;
1149 p4d = p4d_start + p4d_index(addr);
1150 for (; addr < end; addr = next, p4d++) {
1153 if (!p4d_present(*p4d))
1156 BUILD_BUG_ON(p4d_large(*p4d));
1158 pud_base = pud_offset(p4d, 0);
1166 free_pud_table(pud_base, p4d);
1181 p4d_t *p4d;
1190 p4d = p4d_offset(pgd, 0);
1191 remove_p4d_table(p4d, addr, next, altmap, direct);
1247 p4d_t *p4d;
1250 lvl = "p4d";
1251 p4d = p4d_alloc(&init_mm, pgd, addr);
1252 if (!p4d)
1269 pud = pud_alloc(&init_mm, p4d, addr);
1379 p4d_t *p4d;
1391 p4d = p4d_offset(pgd, addr);
1392 if (!p4d_present(*p4d))
1395 pud = pud_offset(p4d, addr);
1498 p4d_t *p4d;
1509 p4d = vmemmap_p4d_populate(pgd, addr, node);
1510 if (!p4d)
1513 pud = vmemmap_pud_populate(p4d, addr, node);
1582 p4d_t *p4d;
1598 p4d = p4d_offset(pgd, addr);
1599 if (p4d_none(*p4d)) {
1603 get_page_bootmem(section_nr, p4d_page(*p4d), MIX_SECTION_INFO);
1605 pud = pud_offset(p4d, addr);