Lines Matching refs:pte

129 #define pte_ERROR(pte)		__pte_error(__FILE__, __LINE__, pte_val(pte))  argument
131 #define pte_pfn(pte) ((pte_val(pte) & PHYS_MASK) >> PAGE_SHIFT) argument
135 #define pte_none(pte) (!pte_val(pte)) argument
137 #define pte_page(pte) (pfn_to_page(pte_pfn(pte))) argument
146 #define pte_unmap(pte) do { } while (0) argument
147 #define pte_unmap_nested(pte) do { } while (0) argument
152 #define pte_present(pte) (!!(pte_val(pte) & (PTE_VALID | PTE_PROT_NONE))) argument
153 #define pte_young(pte) (!!(pte_val(pte) & PTE_AF)) argument
154 #define pte_special(pte) (!!(pte_val(pte) & PTE_SPECIAL)) argument
155 #define pte_write(pte) (!!(pte_val(pte) & PTE_WRITE)) argument
156 #define pte_exec(pte) (!(pte_val(pte) & PTE_UXN)) argument
157 #define pte_cont(pte) (!!(pte_val(pte) & PTE_CONT)) argument
158 #define pte_user(pte) (!!(pte_val(pte) & PTE_USER)) argument
161 #define pte_hw_dirty(pte) (pte_write(pte) && !(pte_val(pte) & PTE_RDONLY)) argument
163 #define pte_hw_dirty(pte) (0) argument
165 #define pte_sw_dirty(pte) (!!(pte_val(pte) & PTE_DIRTY)) argument
166 #define pte_dirty(pte) (pte_sw_dirty(pte) || pte_hw_dirty(pte)) argument
168 #define pte_valid(pte) (!!(pte_val(pte) & PTE_VALID)) argument
169 #define pte_valid_not_user(pte) \ argument
170 ((pte_val(pte) & (PTE_VALID | PTE_USER)) == PTE_VALID)
172 static inline pte_t clear_pte_bit(pte_t pte, pgprot_t prot) in clear_pte_bit() argument
174 pte_val(pte) &= ~pgprot_val(prot); in clear_pte_bit()
175 return pte; in clear_pte_bit()
178 static inline pte_t set_pte_bit(pte_t pte, pgprot_t prot) in set_pte_bit() argument
180 pte_val(pte) |= pgprot_val(prot); in set_pte_bit()
181 return pte; in set_pte_bit()
184 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
186 return clear_pte_bit(pte, __pgprot(PTE_WRITE)); in pte_wrprotect()
189 static inline pte_t pte_mkwrite(pte_t pte) in pte_mkwrite() argument
191 return set_pte_bit(pte, __pgprot(PTE_WRITE)); in pte_mkwrite()
194 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean() argument
196 return clear_pte_bit(pte, __pgprot(PTE_DIRTY)); in pte_mkclean()
199 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty() argument
201 return set_pte_bit(pte, __pgprot(PTE_DIRTY)); in pte_mkdirty()
204 static inline pte_t pte_mkold(pte_t pte) in pte_mkold() argument
206 return clear_pte_bit(pte, __pgprot(PTE_AF)); in pte_mkold()
209 static inline pte_t pte_mkyoung(pte_t pte) in pte_mkyoung() argument
211 return set_pte_bit(pte, __pgprot(PTE_AF)); in pte_mkyoung()
214 static inline pte_t pte_mkspecial(pte_t pte) in pte_mkspecial() argument
216 return set_pte_bit(pte, __pgprot(PTE_SPECIAL)); in pte_mkspecial()
219 static inline pte_t pte_mkcont(pte_t pte) in pte_mkcont() argument
221 return set_pte_bit(pte, __pgprot(PTE_CONT)); in pte_mkcont()
224 static inline pte_t pte_mknoncont(pte_t pte) in pte_mknoncont() argument
226 return clear_pte_bit(pte, __pgprot(PTE_CONT)); in pte_mknoncont()
229 static inline void set_pte(pte_t *ptep, pte_t pte) in set_pte() argument
231 *ptep = pte; in set_pte()
237 if (pte_valid_not_user(pte)) { in set_pte()
264 pte_t *ptep, pte_t pte) in set_pte_at() argument
266 if (pte_present(pte)) { in set_pte_at()
267 if (pte_sw_dirty(pte) && pte_write(pte)) in set_pte_at()
268 pte_val(pte) &= ~PTE_RDONLY; in set_pte_at()
270 pte_val(pte) |= PTE_RDONLY; in set_pte_at()
271 if (pte_user(pte) && pte_exec(pte) && !pte_special(pte)) in set_pte_at()
272 __sync_icache_dcache(pte, addr); in set_pte_at()
281 pte_valid(*ptep) && pte_valid(pte)) { in set_pte_at()
282 VM_WARN_ONCE(!pte_young(pte), in set_pte_at()
284 __func__, pte_val(*ptep), pte_val(pte)); in set_pte_at()
285 VM_WARN_ONCE(pte_write(*ptep) && !pte_dirty(pte), in set_pte_at()
287 __func__, pte_val(*ptep), pte_val(pte)); in set_pte_at()
290 set_pte(ptep, pte); in set_pte_at()
296 #define pte_huge(pte) (!(pte_val(pte) & PTE_TABLE_BIT)) argument
297 #define pte_mkhuge(pte) (__pte(pte_val(pte) & ~PTE_TABLE_BIT)) argument
325 static inline pmd_t pte_pmd(pte_t pte) in pte_pmd() argument
327 return __pmd(pte_val(pte)); in pte_pmd()
524 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify() argument
529 if (pte_hw_dirty(pte)) in pte_modify()
530 pte = pte_mkdirty(pte); in pte_modify()
531 pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask); in pte_modify()
532 return pte; in pte_modify()
671 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument