Lines Matching refs:pmd
175 pmd_t *pmd = (pmd_t *) spp_getpage(); in fill_pmd() local
176 pud_populate(&init_mm, pud, pmd); in fill_pmd()
177 if (pmd != pmd_offset(pud, 0)) in fill_pmd()
179 pmd, pmd_offset(pud, 0)); in fill_pmd()
184 static pte_t *fill_pte(pmd_t *pmd, unsigned long vaddr) in fill_pte() argument
186 if (pmd_none(*pmd)) { in fill_pte()
188 pmd_populate_kernel(&init_mm, pmd, pte); in fill_pte()
189 if (pte != pte_offset_kernel(pmd, 0)) in fill_pte()
192 return pte_offset_kernel(pmd, vaddr); in fill_pte()
198 pmd_t *pmd; in set_pte_vaddr_pud() local
202 pmd = fill_pmd(pud, vaddr); in set_pte_vaddr_pud()
203 pte = fill_pte(pmd, vaddr); in set_pte_vaddr_pud()
243 pmd_t *pmd; in populate_extra_pte() local
245 pmd = populate_extra_pmd(vaddr); in populate_extra_pte()
246 return fill_pte(pmd, vaddr); in populate_extra_pte()
257 pmd_t *pmd; in __init_extra_mapping() local
269 pmd = (pmd_t *) spp_getpage(); in __init_extra_mapping()
270 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE | in __init_extra_mapping()
273 pmd = pmd_offset(pud, phys); in __init_extra_mapping()
274 BUG_ON(!pmd_none(*pmd)); in __init_extra_mapping()
275 set_pmd(pmd, __pmd(phys | pgprot_val(prot))); in __init_extra_mapping()
307 pmd_t *pmd = level2_kernel_pgt; in cleanup_highmap() local
309 for (; vaddr + PMD_SIZE - 1 < vaddr_end; pmd++, vaddr += PMD_SIZE) { in cleanup_highmap()
310 if (pmd_none(*pmd)) in cleanup_highmap()
313 set_pmd(pmd, __pmd(0)); in cleanup_highmap()
417 pmd_t *pmd = pmd_page + pmd_index(address); in phys_pmd_init() local
423 for (; i < PTRS_PER_PMD; i++, pmd++) in phys_pmd_init()
424 set_pmd(pmd, __pmd(0)); in phys_pmd_init()
429 if (pmd_val(*pmd)) { in phys_pmd_init()
430 if (!pmd_large(*pmd)) { in phys_pmd_init()
432 pte = map_low_page((pte_t *)pmd_page_vaddr(*pmd)); in phys_pmd_init()
455 new_prot = pte_pgprot(pte_clrhuge(*(pte_t *)pmd)); in phys_pmd_init()
461 set_pte((pte_t *)pmd, in phys_pmd_init()
474 pmd_populate_kernel(&init_mm, pmd, __va(pte_phys)); in phys_pmd_init()
492 pmd_t *pmd; in phys_pud_init() local
506 pmd = map_low_page(pmd_offset(pud, 0)); in phys_pud_init()
507 last_map_addr = phys_pmd_init(pmd, addr, end, in phys_pud_init()
509 unmap_low_page(pmd); in phys_pud_init()
542 pmd = alloc_low_page(&pmd_phys); in phys_pud_init()
543 last_map_addr = phys_pmd_init(pmd, addr, end, page_size_mask, in phys_pud_init()
545 unmap_low_page(pmd); in phys_pud_init()
810 pmd_t *pmd; in kern_addr_valid() local
827 pmd = pmd_offset(pud, addr); in kern_addr_valid()
828 if (pmd_none(*pmd)) in kern_addr_valid()
831 if (pmd_large(*pmd)) in kern_addr_valid()
832 return pfn_valid(pmd_pfn(*pmd)); in kern_addr_valid()
834 pte = pte_offset_kernel(pmd, addr); in kern_addr_valid()
918 pmd_t *pmd; in vmemmap_populate() local
933 pmd = vmemmap_pmd_populate(pud, addr, node); in vmemmap_populate()
935 if (!pmd) in vmemmap_populate()
938 p = vmemmap_pte_populate(pmd, addr, node); in vmemmap_populate()
948 pmd = pmd_offset(pud, addr); in vmemmap_populate()
949 if (pmd_none(*pmd)) { in vmemmap_populate()
958 set_pmd(pmd, __pmd(pte_val(entry))); in vmemmap_populate()
973 vmemmap_verify((pte_t *)pmd, node, addr, next); in vmemmap_populate()