Lines Matching refs:pte

61 #define pte_ERROR(pte)		__pte_error(__FILE__, __LINE__, pte)
166 #define pte_pfn(pte) ((pte_val(pte) & PHYS_MASK) >> PAGE_SHIFT)
169 #define pte_page(pte) pfn_to_page(pte_pfn(pte))
174 #define pte_isset(pte, val) ((u32)(val) == (val) ? pte_val(pte) & (val) \
175 : !!(pte_val(pte) & (val)))
176 #define pte_isclear(pte, val) (!(pte_val(pte) & (val)))
178 #define pte_none(pte) (!pte_val(pte))
179 #define pte_present(pte) (pte_isset((pte), L_PTE_PRESENT))
180 #define pte_valid(pte) (pte_isset((pte), L_PTE_VALID))
181 #define pte_accessible(mm, pte) (mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid(pte))
182 #define pte_write(pte) (pte_isclear((pte), L_PTE_RDONLY))
183 #define pte_dirty(pte) (pte_isset((pte), L_PTE_DIRTY))
184 #define pte_young(pte) (pte_isset((pte), L_PTE_YOUNG))
185 #define pte_exec(pte) (pte_isclear((pte), L_PTE_XN))
187 #define pte_valid_user(pte) \
188 (pte_valid(pte) && pte_isset((pte), L_PTE_USER) && pte_young(pte))
190 static inline bool pte_access_permitted(pte_t pte, bool write)
198 return (pte_val(pte) & mask) == needed;
214 static inline pte_t clear_pte_bit(pte_t pte, pgprot_t prot)
216 pte_val(pte) &= ~pgprot_val(prot);
217 return pte;
220 static inline pte_t set_pte_bit(pte_t pte, pgprot_t prot)
222 pte_val(pte) |= pgprot_val(prot);
223 return pte;
226 static inline pte_t pte_wrprotect(pte_t pte)
228 return set_pte_bit(pte, __pgprot(L_PTE_RDONLY));
231 static inline pte_t pte_mkwrite_novma(pte_t pte)
233 return clear_pte_bit(pte, __pgprot(L_PTE_RDONLY));
236 static inline pte_t pte_mkclean(pte_t pte)
238 return clear_pte_bit(pte, __pgprot(L_PTE_DIRTY));
241 static inline pte_t pte_mkdirty(pte_t pte)
243 return set_pte_bit(pte, __pgprot(L_PTE_DIRTY));
246 static inline pte_t pte_mkold(pte_t pte)
248 return clear_pte_bit(pte, __pgprot(L_PTE_YOUNG));
251 static inline pte_t pte_mkyoung(pte_t pte)
253 return set_pte_bit(pte, __pgprot(L_PTE_YOUNG));
256 static inline pte_t pte_mkexec(pte_t pte)
258 return clear_pte_bit(pte, __pgprot(L_PTE_XN));
261 static inline pte_t pte_mknexec(pte_t pte)
263 return set_pte_bit(pte, __pgprot(L_PTE_XN));
266 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
270 pte_val(pte) = (pte_val(pte) & ~mask) | (pgprot_val(newprot) & mask);
271 return pte;
299 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
302 static inline int pte_swp_exclusive(pte_t pte)
304 return pte_isset(pte, L_PTE_SWP_EXCLUSIVE);
307 static inline pte_t pte_swp_mkexclusive(pte_t pte)
309 return set_pte_bit(pte, __pgprot(L_PTE_SWP_EXCLUSIVE));
312 static inline pte_t pte_swp_clear_exclusive(pte_t pte)
314 return clear_pte_bit(pte, __pgprot(L_PTE_SWP_EXCLUSIVE));