Lines Matching refs:pud
76 pud_t *pud = pud_page + pud_index(addr); in ident_pud_init() local
83 if (pud_present(*pud)) { in ident_pud_init()
84 pmd = pmd_offset(pud, 0); in ident_pud_init()
92 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE)); in ident_pud_init()
107 pud_t *pud; in kernel_ident_mapping_init() local
114 pud = pud_offset(pgd, 0); in kernel_ident_mapping_init()
115 result = ident_pud_init(info, pud, addr, next); in kernel_ident_mapping_init()
121 pud = (pud_t *)info->alloc_pgt_page(info->context); in kernel_ident_mapping_init()
122 if (!pud) in kernel_ident_mapping_init()
124 result = ident_pud_init(info, pud, addr, next); in kernel_ident_mapping_init()
127 set_pgd(pgd, __pgd(__pa(pud) | _KERNPG_TABLE)); in kernel_ident_mapping_init()
236 pud_t *pud = (pud_t *)spp_getpage(); in fill_pud() local
237 pgd_populate(&init_mm, pgd, pud); in fill_pud()
238 if (pud != pud_offset(pgd, 0)) in fill_pud()
240 pud, pud_offset(pgd, 0)); in fill_pud()
245 static pmd_t *fill_pmd(pud_t *pud, unsigned long vaddr) in fill_pmd() argument
247 if (pud_none(*pud)) { in fill_pmd()
249 pud_populate(&init_mm, pud, pmd); in fill_pmd()
250 if (pmd != pmd_offset(pud, 0)) in fill_pmd()
252 pmd, pmd_offset(pud, 0)); in fill_pmd()
254 return pmd_offset(pud, vaddr); in fill_pmd()
270 pud_t *pud; in set_pte_vaddr_pud() local
274 pud = pud_page + pud_index(vaddr); in set_pte_vaddr_pud()
275 pmd = fill_pmd(pud, vaddr); in set_pte_vaddr_pud()
307 pud_t *pud; in populate_extra_pmd() local
310 pud = fill_pud(pgd, vaddr); in populate_extra_pmd()
311 return fill_pmd(pud, vaddr); in populate_extra_pmd()
329 pud_t *pud; in __init_extra_mapping() local
339 pud = (pud_t *) spp_getpage(); in __init_extra_mapping()
340 set_pgd(pgd, __pgd(__pa(pud) | _KERNPG_TABLE | in __init_extra_mapping()
343 pud = pud_offset(pgd, (unsigned long)__va(phys)); in __init_extra_mapping()
344 if (pud_none(*pud)) { in __init_extra_mapping()
346 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE | in __init_extra_mapping()
349 pmd = pmd_offset(pud, phys); in __init_extra_mapping()
530 pud_t *pud = pud_page + pud_index(addr); in phys_pud_init() local
539 set_pud(pud, __pud(0)); in phys_pud_init()
543 if (pud_val(*pud)) { in phys_pud_init()
544 if (!pud_large(*pud)) { in phys_pud_init()
545 pmd = pmd_offset(pud, 0); in phys_pud_init()
569 prot = pte_pgprot(pte_clrhuge(*(pte_t *)pud)); in phys_pud_init()
575 set_pte((pte_t *)pud, in phys_pud_init()
588 pud_populate(&init_mm, pud, pmd); in phys_pud_init()
613 pud_t *pud; in kernel_physical_mapping_init() local
618 pud = (pud_t *)pgd_page_vaddr(*pgd); in kernel_physical_mapping_init()
619 last_map_addr = phys_pud_init(pud, __pa(start), in kernel_physical_mapping_init()
624 pud = alloc_low_page(); in kernel_physical_mapping_init()
625 last_map_addr = phys_pud_init(pud, __pa(start), __pa(end), in kernel_physical_mapping_init()
629 pgd_populate(&init_mm, pgd, pud); in kernel_physical_mapping_init()
751 static void __meminit free_pmd_table(pmd_t *pmd_start, pud_t *pud) in free_pmd_table() argument
763 free_pagetable(pud_page(*pud), 0); in free_pmd_table()
765 pud_clear(pud); in free_pmd_table()
772 pud_t *pud; in free_pud_table() local
776 pud = pud_start + i; in free_pud_table()
777 if (pud_val(*pud)) in free_pud_table()
924 pud_t *pud; in remove_pud_table() local
927 pud = pud_start + pud_index(addr); in remove_pud_table()
928 for (; addr < end; addr = next, pud++) { in remove_pud_table()
931 if (!pud_present(*pud)) in remove_pud_table()
934 if (pud_large(*pud)) { in remove_pud_table()
938 free_pagetable(pud_page(*pud), in remove_pud_table()
942 pud_clear(pud); in remove_pud_table()
949 page_addr = page_address(pud_page(*pud)); in remove_pud_table()
952 free_pagetable(pud_page(*pud), in remove_pud_table()
956 pud_clear(pud); in remove_pud_table()
964 pmd_base = (pmd_t *)pud_page_vaddr(*pud); in remove_pud_table()
966 free_pmd_table(pmd_base, pud); in remove_pud_table()
980 pud_t *pud; in remove_pagetable() local
990 pud = (pud_t *)pgd_page_vaddr(*pgd); in remove_pagetable()
991 remove_pud_table(pud, addr, next, direct); in remove_pagetable()
992 if (free_pud_table(pud, pgd)) in remove_pagetable()
1163 pud_t *pud; in kern_addr_valid() local
1174 pud = pud_offset(pgd, addr); in kern_addr_valid()
1175 if (pud_none(*pud)) in kern_addr_valid()
1178 if (pud_large(*pud)) in kern_addr_valid()
1179 return pfn_valid(pud_pfn(*pud)); in kern_addr_valid()
1181 pmd = pmd_offset(pud, addr); in kern_addr_valid()
1244 pud_t *pud; in vmemmap_populate_hugepages() local
1254 pud = vmemmap_pud_populate(pgd, addr, node); in vmemmap_populate_hugepages()
1255 if (!pud) in vmemmap_populate_hugepages()
1258 pmd = pmd_offset(pud, addr); in vmemmap_populate_hugepages()
1316 pud_t *pud; in register_page_bootmem_memmap() local
1331 pud = pud_offset(pgd, addr); in register_page_bootmem_memmap()
1332 if (pud_none(*pud)) { in register_page_bootmem_memmap()
1336 get_page_bootmem(section_nr, pud_page(*pud), MIX_SECTION_INFO); in register_page_bootmem_memmap()
1340 pmd = pmd_offset(pud, addr); in register_page_bootmem_memmap()
1354 pmd = pmd_offset(pud, addr); in register_page_bootmem_memmap()