Lines Matching refs:pmd

80 static void split_pmd(pmd_t *pmd, pte_t *pte)  in split_pmd()  argument
82 unsigned long pfn = pmd_pfn(*pmd); in split_pmd()
95 static void alloc_init_pte(pmd_t *pmd, unsigned long addr, in alloc_init_pte() argument
102 if (pmd_none(*pmd) || pmd_sect(*pmd)) { in alloc_init_pte()
104 if (pmd_sect(*pmd)) in alloc_init_pte()
105 split_pmd(pmd, pte); in alloc_init_pte()
106 __pmd_populate(pmd, __pa(pte), PMD_TYPE_TABLE); in alloc_init_pte()
109 BUG_ON(pmd_bad(*pmd)); in alloc_init_pte()
111 pte = pte_offset_kernel(pmd, addr); in alloc_init_pte()
118 static void split_pud(pud_t *old_pud, pmd_t *pmd) in split_pud() argument
125 set_pmd(pmd, __pmd(addr | pgprot_val(prot))); in split_pud()
127 } while (pmd++, i++, i < PTRS_PER_PMD); in split_pud()
135 pmd_t *pmd; in alloc_init_pmd() local
142 pmd = alloc(PTRS_PER_PMD * sizeof(pmd_t)); in alloc_init_pmd()
148 split_pud(pud, pmd); in alloc_init_pmd()
150 pud_populate(mm, pud, pmd); in alloc_init_pmd()
155 pmd = pmd_offset(pud, addr); in alloc_init_pmd()
160 pmd_t old_pmd =*pmd; in alloc_init_pmd()
161 set_pmd(pmd, __pmd(phys | in alloc_init_pmd()
176 alloc_init_pte(pmd, addr, next, __phys_to_pfn(phys), in alloc_init_pmd()
180 } while (pmd++, addr = next, addr != end); in alloc_init_pmd()
478 pmd_t *pmd; in kern_addr_valid() local
495 pmd = pmd_offset(pud, addr); in kern_addr_valid()
496 if (pmd_none(*pmd)) in kern_addr_valid()
499 if (pmd_sect(*pmd)) in kern_addr_valid()
500 return pfn_valid(pmd_pfn(*pmd)); in kern_addr_valid()
502 pte = pte_offset_kernel(pmd, addr); in kern_addr_valid()
521 pmd_t *pmd; in vmemmap_populate() local
534 pmd = pmd_offset(pud, addr); in vmemmap_populate()
535 if (pmd_none(*pmd)) { in vmemmap_populate()
542 set_pmd(pmd, __pmd(__pa(p) | PROT_SECT_NORMAL)); in vmemmap_populate()
544 vmemmap_verify((pte_t *)pmd, node, addr, next); in vmemmap_populate()
583 pmd_t *pmd = fixmap_pmd(addr); in fixmap_pte() local
585 BUG_ON(pmd_none(*pmd) || pmd_bad(*pmd)); in fixmap_pte()
587 return pte_offset_kernel(pmd, addr); in fixmap_pte()
594 pmd_t *pmd; in early_fixmap_init() local
601 pmd = pmd_offset(pud, addr); in early_fixmap_init()
602 pmd_populate_kernel(&init_mm, pmd, bm_pte); in early_fixmap_init()
611 if ((pmd != fixmap_pmd(fix_to_virt(FIX_BTMAP_BEGIN))) in early_fixmap_init()
612 || pmd != fixmap_pmd(fix_to_virt(FIX_BTMAP_END))) { in early_fixmap_init()
615 pmd, fixmap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)), in early_fixmap_init()