Lines Matching refs:pmdp
83 static int walk_pte_level(pmd_t *pmdp, unsigned long addr, unsigned long end, in walk_pte_level() argument
88 ptep = pte_offset_kernel(pmdp, addr); in walk_pte_level()
109 static int split_pmd_page(pmd_t *pmdp, unsigned long addr) in split_pmd_page() argument
119 pte_addr = pmd_pfn(*pmdp) << PAGE_SHIFT; in split_pmd_page()
120 ro = !!(pmd_val(*pmdp) & _SEGMENT_ENTRY_PROTECT); in split_pmd_page()
121 nx = !!(pmd_val(*pmdp) & _SEGMENT_ENTRY_NOEXEC); in split_pmd_page()
132 pgt_set((unsigned long *)pmdp, pmd_val(new), addr, CRDTE_DTT_SEGMENT); in split_pmd_page()
138 static void modify_pmd_page(pmd_t *pmdp, unsigned long addr, in modify_pmd_page() argument
141 pmd_t new = *pmdp; in modify_pmd_page()
151 pgt_set((unsigned long *)pmdp, pmd_val(new), addr, CRDTE_DTT_SEGMENT); in modify_pmd_page()
158 pmd_t *pmdp; in walk_pmd_level() local
161 pmdp = pmd_offset(pudp, addr); in walk_pmd_level()
163 if (pmd_none(*pmdp)) in walk_pmd_level()
166 if (pmd_large(*pmdp)) { in walk_pmd_level()
168 rc = split_pmd_page(pmdp, addr); in walk_pmd_level()
173 modify_pmd_page(pmdp, addr, flags); in walk_pmd_level()
175 rc = walk_pte_level(pmdp, addr, next, flags); in walk_pmd_level()
179 pmdp++; in walk_pmd_level()
189 pmd_t *pm_dir, *pmdp; in split_pud_page() local
202 pmdp = pm_dir; in split_pud_page()
204 pmd_val(*pmdp) = pmd_addr | prot; in split_pud_page()
206 pmdp++; in split_pud_page()