Lines Matching refs:pgd

106 		pgd_t *pgd = pgd_page + pgd_index(addr) + off;  in kernel_ident_mapping_init()  local
113 if (pgd_present(*pgd)) { in kernel_ident_mapping_init()
114 pud = pud_offset(pgd, 0); in kernel_ident_mapping_init()
127 set_pgd(pgd, __pgd(__pa(pud) | _KERNPG_TABLE)); in kernel_ident_mapping_init()
184 pgd_t *pgd; in sync_global_pgds() local
187 pgd = (pgd_t *)page_address(page) + pgd_index(address); in sync_global_pgds()
192 if (!pgd_none(*pgd_ref) && !pgd_none(*pgd)) in sync_global_pgds()
193 BUG_ON(pgd_page_vaddr(*pgd) in sync_global_pgds()
197 if (pgd_none(*pgd_ref) && !pgd_none(*pgd)) in sync_global_pgds()
198 pgd_clear(pgd); in sync_global_pgds()
200 if (pgd_none(*pgd)) in sync_global_pgds()
201 set_pgd(pgd, *pgd_ref); in sync_global_pgds()
233 static pud_t *fill_pud(pgd_t *pgd, unsigned long vaddr) in fill_pud() argument
235 if (pgd_none(*pgd)) { in fill_pud()
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()
242 return pud_offset(pgd, vaddr); in fill_pud()
289 pgd_t *pgd; in set_pte_vaddr() local
294 pgd = pgd_offset_k(vaddr); in set_pte_vaddr()
295 if (pgd_none(*pgd)) { in set_pte_vaddr()
300 pud_page = (pud_t*)pgd_page_vaddr(*pgd); in set_pte_vaddr()
306 pgd_t *pgd; in populate_extra_pmd() local
309 pgd = pgd_offset_k(vaddr); in populate_extra_pmd()
310 pud = fill_pud(pgd, vaddr); in populate_extra_pmd()
328 pgd_t *pgd; in __init_extra_mapping() local
337 pgd = pgd_offset_k((unsigned long)__va(phys)); in __init_extra_mapping()
338 if (pgd_none(*pgd)) { 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()
612 pgd_t *pgd = pgd_offset_k(start); in kernel_physical_mapping_init() local
617 if (pgd_val(*pgd)) { in kernel_physical_mapping_init()
618 pud = (pud_t *)pgd_page_vaddr(*pgd); in kernel_physical_mapping_init()
629 pgd_populate(&init_mm, pgd, pud); in kernel_physical_mapping_init()
770 static bool __meminit free_pud_table(pud_t *pud_start, pgd_t *pgd) in free_pud_table() argument
782 free_pagetable(pgd_page(*pgd), 0); in free_pud_table()
784 pgd_clear(pgd); in free_pud_table()
979 pgd_t *pgd; in remove_pagetable() local
986 pgd = pgd_offset_k(addr); in remove_pagetable()
987 if (!pgd_present(*pgd)) in remove_pagetable()
990 pud = (pud_t *)pgd_page_vaddr(*pgd); in remove_pagetable()
992 if (free_pud_table(pud, pgd)) in remove_pagetable()
1162 pgd_t *pgd; in kern_addr_valid() local
1170 pgd = pgd_offset_k(addr); in kern_addr_valid()
1171 if (pgd_none(*pgd)) in kern_addr_valid()
1174 pud = pud_offset(pgd, addr); in kern_addr_valid()
1243 pgd_t *pgd; in vmemmap_populate_hugepages() local
1250 pgd = vmemmap_pgd_populate(addr, node); in vmemmap_populate_hugepages()
1251 if (!pgd) in vmemmap_populate_hugepages()
1254 pud = vmemmap_pud_populate(pgd, addr, node); in vmemmap_populate_hugepages()
1315 pgd_t *pgd; in register_page_bootmem_memmap() local
1324 pgd = pgd_offset_k(addr); in register_page_bootmem_memmap()
1325 if (pgd_none(*pgd)) { in register_page_bootmem_memmap()
1329 get_page_bootmem(section_nr, pgd_page(*pgd), MIX_SECTION_INFO); in register_page_bootmem_memmap()
1331 pud = pud_offset(pgd, addr); in register_page_bootmem_memmap()