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)
186 p4d_t *p4d; in sync_global_pgds_l4() local
190 p4d = p4d_offset(pgd, addr); in sync_global_pgds_l4()
195 if (!p4d_none(*p4d_ref) && !p4d_none(*p4d)) in sync_global_pgds_l4()
196 BUG_ON(p4d_page_vaddr(*p4d) in sync_global_pgds_l4()
199 if (p4d_none(*p4d)) in sync_global_pgds_l4()
200 set_p4d(p4d, *p4d_ref); in sync_global_pgds_l4()
246 p4d_t *p4d = (p4d_t *)spp_getpage(); in fill_p4d() local
247 pgd_populate(&init_mm, pgd, p4d); in fill_p4d()
248 if (p4d != p4d_offset(pgd, 0)) in fill_p4d()
250 p4d, p4d_offset(pgd, 0)); in fill_p4d()
255 static pud_t *fill_pud(p4d_t *p4d, unsigned long vaddr) in fill_pud() argument
257 if (p4d_none(*p4d)) { in fill_pud()
259 p4d_populate(&init_mm, p4d, pud); in fill_pud()
260 if (pud != pud_offset(p4d, 0)) in fill_pud()
262 pud, pud_offset(p4d, 0)); in fill_pud()
264 return pud_offset(p4d, vaddr); in fill_pud()
306 p4d_t *p4d = p4d_page + p4d_index(vaddr); in set_pte_vaddr_p4d() local
307 pud_t *pud = fill_pud(p4d, vaddr); in set_pte_vaddr_p4d()
340 p4d_t *p4d; in populate_extra_pmd() local
344 p4d = fill_p4d(pgd, vaddr); in populate_extra_pmd()
345 pud = fill_pud(p4d, vaddr); in populate_extra_pmd()
364 p4d_t *p4d; in __init_extra_mapping() local
375 p4d = (p4d_t *) spp_getpage(); in __init_extra_mapping()
376 set_pgd(pgd, __pgd(__pa(p4d) | _KERNPG_TABLE | in __init_extra_mapping()
379 p4d = p4d_offset(pgd, (unsigned long)__va(phys)); in __init_extra_mapping()
380 if (p4d_none(*p4d)) { in __init_extra_mapping()
382 set_p4d(p4d, __p4d(__pa(pud) | _KERNPG_TABLE | in __init_extra_mapping()
385 pud = pud_offset(p4d, (unsigned long)__va(phys)); in __init_extra_mapping()
685 p4d_t *p4d = p4d_page + p4d_index(vaddr); in phys_p4d_init() local
698 set_p4d_init(p4d, __p4d(0), init); in phys_p4d_init()
702 if (!p4d_none(*p4d)) { in phys_p4d_init()
703 pud = pud_offset(p4d, 0); in phys_p4d_init()
714 p4d_populate_init(&init_mm, p4d, pud, init); in phys_p4d_init()
737 p4d_t *p4d; in __kernel_physical_mapping_init() local
742 p4d = (p4d_t *)pgd_page_vaddr(*pgd); in __kernel_physical_mapping_init()
743 paddr_last = phys_p4d_init(p4d, __pa(vaddr), in __kernel_physical_mapping_init()
750 p4d = alloc_low_page(); in __kernel_physical_mapping_init()
751 paddr_last = phys_p4d_init(p4d, __pa(vaddr), __pa(vaddr_end), in __kernel_physical_mapping_init()
756 pgd_populate_init(&init_mm, pgd, p4d, init); in __kernel_physical_mapping_init()
759 (pud_t *) p4d, init); in __kernel_physical_mapping_init()
939 static void __meminit free_pud_table(pud_t *pud_start, p4d_t *p4d) in free_pud_table() argument
951 free_pagetable(p4d_page(*p4d), 0); in free_pud_table()
953 p4d_clear(p4d); in free_pud_table()
1145 p4d_t *p4d; in remove_p4d_table() local
1147 p4d = p4d_start + p4d_index(addr); in remove_p4d_table()
1148 for (; addr < end; addr = next, p4d++) { in remove_p4d_table()
1151 if (!p4d_present(*p4d)) in remove_p4d_table()
1154 BUILD_BUG_ON(p4d_large(*p4d)); in remove_p4d_table()
1156 pud_base = pud_offset(p4d, 0); in remove_p4d_table()
1164 free_pud_table(pud_base, p4d); in remove_p4d_table()
1179 p4d_t *p4d; in remove_pagetable() local
1188 p4d = p4d_offset(pgd, 0); in remove_pagetable()
1189 remove_p4d_table(p4d, addr, next, altmap, direct); in remove_pagetable()
1347 p4d_t *p4d; in kern_addr_valid() local
1359 p4d = p4d_offset(pgd, addr); in kern_addr_valid()
1360 if (p4d_none(*p4d)) in kern_addr_valid()
1363 pud = pud_offset(p4d, addr); in kern_addr_valid()
1457 p4d_t *p4d; in vmemmap_populate_hugepages() local
1468 p4d = vmemmap_p4d_populate(pgd, addr, node); in vmemmap_populate_hugepages()
1469 if (!p4d) in vmemmap_populate_hugepages()
1472 pud = vmemmap_pud_populate(p4d, addr, node); in vmemmap_populate_hugepages()
1544 p4d_t *p4d; in register_page_bootmem_memmap() local
1560 p4d = p4d_offset(pgd, addr); in register_page_bootmem_memmap()
1561 if (p4d_none(*p4d)) { in register_page_bootmem_memmap()
1565 get_page_bootmem(section_nr, p4d_page(*p4d), MIX_SECTION_INFO); in register_page_bootmem_memmap()
1567 pud = pud_offset(p4d, addr); in register_page_bootmem_memmap()