Lines Matching defs:pmd
75 DEFINE_POPULATE(pud_populate, pud, pmd, init)
76 DEFINE_POPULATE(pmd_populate_kernel, pmd, pte, init)
90 DEFINE_ENTRY(pmd, pmd, init)
276 pmd_t *pmd = (pmd_t *) spp_getpage();
277 pud_populate(&init_mm, pud, pmd);
278 if (pmd != pmd_offset(pud, 0))
280 pmd, pmd_offset(pud, 0));
285 static pte_t *fill_pte(pmd_t *pmd, unsigned long vaddr)
287 if (pmd_none(*pmd)) {
289 pmd_populate_kernel(&init_mm, pmd, pte);
290 if (pte != pte_offset_kernel(pmd, 0))
293 return pte_offset_kernel(pmd, vaddr);
298 pmd_t *pmd = fill_pmd(pud, vaddr);
299 pte_t *pte = fill_pte(pmd, vaddr);
357 pmd_t *pmd;
359 pmd = populate_extra_pmd(vaddr);
360 return fill_pte(pmd, vaddr);
372 pmd_t *pmd;
393 pmd = (pmd_t *) spp_getpage();
394 set_pud(pud, __pud(__pa(pmd) | _KERNPG_TABLE |
397 pmd = pmd_offset(pud, phys);
398 BUG_ON(!pmd_none(*pmd));
399 set_pmd(pmd, __pmd(phys | pgprot_val(prot)));
431 pmd_t *pmd = level2_kernel_pgt;
441 for (; vaddr + PMD_SIZE - 1 < vaddr_end; pmd++, vaddr += PMD_SIZE) {
442 if (pmd_none(*pmd))
445 set_pmd(pmd, __pmd(0));
517 pmd_t *pmd = pmd_page + pmd_index(paddr);
528 set_pmd_init(pmd, __pmd(0), init);
532 if (!pmd_none(*pmd)) {
533 if (!pmd_large(*pmd)) {
535 pte = (pte_t *)pmd_page_vaddr(*pmd);
560 new_prot = pte_pgprot(pte_clrhuge(*(pte_t *)pmd));
566 set_pmd_init(pmd,
578 pmd_populate_kernel_init(&init_mm, pmd, pte, init);
602 pmd_t *pmd;
621 pmd = pmd_offset(pud, 0);
622 paddr_last = phys_pmd_init(pmd, paddr,
660 pmd = alloc_low_page();
661 paddr_last = phys_pmd_init(pmd, paddr, paddr_end,
665 pud_populate_init(&init_mm, pud, pmd, init);
793 * exception that it uses set_{pud,pmd}() instead of the set_{pud,pte}_safe()
1005 static void __meminit free_pte_table(pte_t *pte_start, pmd_t *pmd)
1017 free_pagetable(pmd_page(*pmd), 0);
1019 pmd_clear(pmd);
1025 pmd_t *pmd;
1029 pmd = pmd_start + i;
1030 if (!pmd_none(*pmd))
1034 /* free a pmd talbe */
1108 pmd_t *pmd;
1110 pmd = pmd_start + pmd_index(addr);
1111 for (; addr < end; addr = next, pmd++) {
1114 if (!pmd_present(*pmd))
1117 if (pmd_large(*pmd)) {
1121 free_hugepage_table(pmd_page(*pmd),
1125 pmd_clear(pmd);
1131 free_hugepage_table(pmd_page(*pmd),
1134 pmd_clear(pmd);
1141 pte_base = (pte_t *)pmd_page_vaddr(*pmd);
1143 free_pte_table(pte_base, pmd);
1495 void __meminit vmemmap_set_pmd(pmd_t *pmd, void *p, int node,
1502 set_pmd(pmd, __pmd(pte_val(entry)));
1522 int __meminit vmemmap_check_pmd(pmd_t *pmd, int node,
1525 int large = pmd_large(*pmd);
1527 if (pmd_large(*pmd)) {
1528 vmemmap_verify((pte_t *)pmd, node, addr, next);
1568 pmd_t *pmd;
1598 pmd = pmd_offset(pud, addr);
1599 if (pmd_none(*pmd))
1601 get_page_bootmem(section_nr, pmd_page(*pmd),
1604 pte = pte_offset_kernel(pmd, addr);
1612 pmd = pmd_offset(pud, addr);
1613 if (pmd_none(*pmd))
1617 page = pmd_page(*pmd);