Lines Matching refs:pmdp
86 static int walk_pte_level(pmd_t *pmdp, unsigned long addr, unsigned long end,
93 ptep = pte_offset_kernel(pmdp, addr);
122 static int split_pmd_page(pmd_t *pmdp, unsigned long addr)
132 pte_addr = pmd_pfn(*pmdp) << PAGE_SHIFT;
133 ro = !!(pmd_val(*pmdp) & _SEGMENT_ENTRY_PROTECT);
134 nx = !!(pmd_val(*pmdp) & _SEGMENT_ENTRY_NOEXEC);
145 pgt_set((unsigned long *)pmdp, pmd_val(new), addr, CRDTE_DTT_SEGMENT);
151 static void modify_pmd_page(pmd_t *pmdp, unsigned long addr,
154 pmd_t new = *pmdp;
172 pgt_set((unsigned long *)pmdp, pmd_val(new), addr, CRDTE_DTT_SEGMENT);
180 pmd_t *pmdp;
183 pmdp = pmd_offset(pudp, addr);
185 if (pmd_none(*pmdp))
188 if (pmd_leaf(*pmdp)) {
193 rc = split_pmd_page(pmdp, addr);
198 modify_pmd_page(pmdp, addr, flags);
200 rc = walk_pte_level(pmdp, addr, next, flags);
204 pmdp++;
214 pmd_t *pm_dir, *pmdp;
227 pmdp = pm_dir;
229 set_pmd(pmdp, __pmd(pmd_addr | prot));
231 pmdp++;