Lines Matching refs:pte
62 #define pte_ERROR(pte) __pte_error(__FILE__, __LINE__, pte)
181 #define pte_pfn(pte) ((pte_val(pte) & PHYS_MASK) >> PAGE_SHIFT)
184 #define pte_page(pte) pfn_to_page(pte_pfn(pte))
189 #define pte_isset(pte, val) ((u32)(val) == (val) ? pte_val(pte) & (val) \
190 : !!(pte_val(pte) & (val)))
191 #define pte_isclear(pte, val) (!(pte_val(pte) & (val)))
193 #define pte_none(pte) (!pte_val(pte))
194 #define pte_present(pte) (pte_isset((pte), L_PTE_PRESENT))
195 #define pte_valid(pte) (pte_isset((pte), L_PTE_VALID))
196 #define pte_accessible(mm, pte) (mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid(pte))
197 #define pte_write(pte) (pte_isclear((pte), L_PTE_RDONLY))
198 #define pte_dirty(pte) (pte_isset((pte), L_PTE_DIRTY))
199 #define pte_young(pte) (pte_isset((pte), L_PTE_YOUNG))
200 #define pte_exec(pte) (pte_isclear((pte), L_PTE_XN))
202 #define pte_valid_user(pte) \
203 (pte_valid(pte) && pte_isset((pte), L_PTE_USER) && pte_young(pte))
205 static inline bool pte_access_permitted(pte_t pte, bool write)
213 return (pte_val(pte) & mask) == needed;
228 static inline pte_t clear_pte_bit(pte_t pte, pgprot_t prot)
230 pte_val(pte) &= ~pgprot_val(prot);
231 return pte;
234 static inline pte_t set_pte_bit(pte_t pte, pgprot_t prot)
236 pte_val(pte) |= pgprot_val(prot);
237 return pte;
240 static inline pte_t pte_wrprotect(pte_t pte)
242 return set_pte_bit(pte, __pgprot(L_PTE_RDONLY));
245 static inline pte_t pte_mkwrite(pte_t pte)
247 return clear_pte_bit(pte, __pgprot(L_PTE_RDONLY));
250 static inline pte_t pte_mkclean(pte_t pte)
252 return clear_pte_bit(pte, __pgprot(L_PTE_DIRTY));
255 static inline pte_t pte_mkdirty(pte_t pte)
257 return set_pte_bit(pte, __pgprot(L_PTE_DIRTY));
260 static inline pte_t pte_mkold(pte_t pte)
262 return clear_pte_bit(pte, __pgprot(L_PTE_YOUNG));
265 static inline pte_t pte_mkyoung(pte_t pte)
267 return set_pte_bit(pte, __pgprot(L_PTE_YOUNG));
270 static inline pte_t pte_mkexec(pte_t pte)
272 return clear_pte_bit(pte, __pgprot(L_PTE_XN));
275 static inline pte_t pte_mknexec(pte_t pte)
277 return set_pte_bit(pte, __pgprot(L_PTE_XN));
280 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
284 pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask);
285 return pte;
308 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })