Lines Matching defs:pmd
74 DEFINE_POPULATE(pud_populate, pud, pmd, init)
75 DEFINE_POPULATE(pmd_populate_kernel, pmd, pte, init)
89 DEFINE_ENTRY(pmd, pmd, init)
270 pmd_t *pmd = (pmd_t *) spp_getpage();
271 pud_populate(&init_mm, pud, pmd);
272 if (pmd != pmd_offset(pud, 0))
274 pmd, pmd_offset(pud, 0));
279 static pte_t *fill_pte(pmd_t *pmd, unsigned long vaddr)
281 if (pmd_none(*pmd)) {
283 pmd_populate_kernel(&init_mm, pmd, pte);
284 if (pte != pte_offset_kernel(pmd, 0))
287 return pte_offset_kernel(pmd, vaddr);
292 pmd_t *pmd = fill_pmd(pud, vaddr);
293 pte_t *pte = fill_pte(pmd, vaddr);
351 pmd_t *pmd;
353 pmd = populate_extra_pmd(vaddr);
354 return fill_pte(pmd, vaddr);
366 pmd_t *pmd;
387 pmd = (pmd_t *) spp_getpage();
388 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE |
391 pmd = pmd_offset(pud, phys);
392 BUG_ON(!pmd_none(*pmd));
393 set_pmd(pmd, __pmd(phys | pgprot_val(prot)));
425 pmd_t *pmd = level2_kernel_pgt;
435 for (; vaddr + PMD_SIZE - 1 < vaddr_end; pmd++, vaddr += PMD_SIZE) {
436 if (pmd_none(*pmd))
439 set_pmd(pmd, __pmd(0));
511 pmd_t *pmd = pmd_page + pmd_index(paddr);
522 set_pmd_init(pmd, __pmd(0), init);
526 if (!pmd_none(*pmd)) {
527 if (!pmd_large(*pmd)) {
529 pte = (pte_t *)pmd_page_vaddr(*pmd);
554 new_prot = pte_pgprot(pte_clrhuge(*(pte_t *)pmd));
560 set_pte_init((pte_t *)pmd,
573 pmd_populate_kernel_init(&init_mm, pmd, pte, init);
597 pmd_t *pmd;
616 pmd = pmd_offset(pud, 0);
617 paddr_last = phys_pmd_init(pmd, paddr,
659 pmd = alloc_low_page();
660 paddr_last = phys_pmd_init(pmd, paddr, paddr_end,
664 pud_populate_init(&init_mm, pud, pmd, init);
792 * exception that it uses set_{pud,pmd}() instead of the set_{pud,pte}_safe()
905 static void __meminit free_pte_table(pte_t *pte_start, pmd_t *pmd)
917 free_pagetable(pmd_page(*pmd), 0);
919 pmd_clear(pmd);
925 pmd_t *pmd;
929 pmd = pmd_start + i;
930 if (!pmd_none(*pmd))
934 /* free a pmd talbe */
1036 pmd_t *pmd;
1039 pmd = pmd_start + pmd_index(addr);
1040 for (; addr < end; addr = next, pmd++) {
1043 if (!pmd_present(*pmd))
1046 if (pmd_large(*pmd)) {
1050 free_hugepage_table(pmd_page(*pmd),
1054 pmd_clear(pmd);
1061 page_addr = page_address(pmd_page(*pmd));
1064 free_hugepage_table(pmd_page(*pmd),
1068 pmd_clear(pmd);
1076 pte_base = (pte_t *)pmd_page_vaddr(*pmd);
1078 free_pte_table(pte_base, pmd);
1381 pmd_t *pmd;
1402 pmd = pmd_offset(pud, addr);
1403 if (!pmd_present(*pmd))
1406 if (pmd_large(*pmd))
1407 return pfn_valid(pmd_pfn(*pmd));
1409 pte = pte_offset_kernel(pmd, addr);
1500 pmd_t *pmd;
1517 pmd = pmd_offset(pud, addr);
1518 if (pmd_none(*pmd)) {
1527 set_pmd(pmd, __pmd(pte_val(entry)));
1544 } else if (pmd_large(*pmd)) {
1545 vmemmap_verify((pte_t *)pmd, node, addr, next);
1584 pmd_t *pmd;
1614 pmd = pmd_offset(pud, addr);
1615 if (pmd_none(*pmd))
1617 get_page_bootmem(section_nr, pmd_page(*pmd),
1620 pte = pte_offset_kernel(pmd, addr);
1628 pmd = pmd_offset(pud, addr);
1629 if (pmd_none(*pmd))
1633 page = pmd_page(*pmd);