Lines Matching refs:pte
558 static inline pte_t clear_pte_bit(pte_t pte, pgprot_t prot) in clear_pte_bit() argument
560 return __pte(pte_val(pte) & ~pgprot_val(prot)); in clear_pte_bit()
563 static inline pte_t set_pte_bit(pte_t pte, pgprot_t prot) in set_pte_bit() argument
565 return __pte(pte_val(pte) | pgprot_val(prot)); in set_pte_bit()
815 static inline int pte_present(pte_t pte) in pte_present() argument
818 return (pte_val(pte) & _PAGE_PRESENT) != 0; in pte_present()
821 static inline int pte_none(pte_t pte) in pte_none() argument
824 return pte_val(pte) == _PAGE_INVALID; in pte_none()
827 static inline int pte_swap(pte_t pte) in pte_swap() argument
830 return (pte_val(pte) & (_PAGE_PROTECT | _PAGE_PRESENT)) in pte_swap()
834 static inline int pte_special(pte_t pte) in pte_special() argument
836 return (pte_val(pte) & _PAGE_SPECIAL); in pte_special()
846 static inline int pte_protnone(pte_t pte) in pte_protnone() argument
848 return pte_present(pte) && !(pte_val(pte) & _PAGE_READ); in pte_protnone()
858 static inline bool pte_swp_exclusive(pte_t pte) in pte_swp_exclusive() argument
860 return pte_val(pte) & _PAGE_SWP_EXCLUSIVE; in pte_swp_exclusive()
863 static inline pte_t pte_swp_mkexclusive(pte_t pte) in pte_swp_mkexclusive() argument
865 return set_pte_bit(pte, __pgprot(_PAGE_SWP_EXCLUSIVE)); in pte_swp_mkexclusive()
868 static inline pte_t pte_swp_clear_exclusive(pte_t pte) in pte_swp_clear_exclusive() argument
870 return clear_pte_bit(pte, __pgprot(_PAGE_SWP_EXCLUSIVE)); in pte_swp_clear_exclusive()
873 static inline int pte_soft_dirty(pte_t pte) in pte_soft_dirty() argument
875 return pte_val(pte) & _PAGE_SOFT_DIRTY; in pte_soft_dirty()
879 static inline pte_t pte_mksoft_dirty(pte_t pte) in pte_mksoft_dirty() argument
881 return set_pte_bit(pte, __pgprot(_PAGE_SOFT_DIRTY)); in pte_mksoft_dirty()
885 static inline pte_t pte_clear_soft_dirty(pte_t pte) in pte_clear_soft_dirty() argument
887 return clear_pte_bit(pte, __pgprot(_PAGE_SOFT_DIRTY)); in pte_clear_soft_dirty()
916 static inline int pte_write(pte_t pte) in pte_write() argument
918 return (pte_val(pte) & _PAGE_WRITE) != 0; in pte_write()
921 static inline int pte_dirty(pte_t pte) in pte_dirty() argument
923 return (pte_val(pte) & _PAGE_DIRTY) != 0; in pte_dirty()
926 static inline int pte_young(pte_t pte) in pte_young() argument
928 return (pte_val(pte) & _PAGE_YOUNG) != 0; in pte_young()
932 static inline int pte_unused(pte_t pte) in pte_unused() argument
934 return pte_val(pte) & _PAGE_UNUSED; in pte_unused()
944 static inline pgprot_t pte_pgprot(pte_t pte) in pte_pgprot() argument
946 unsigned long pte_flags = pte_val(pte) & _PAGE_CHG_MASK; in pte_pgprot()
948 if (pte_write(pte)) in pte_pgprot()
952 pte_flags |= pte_val(pte) & mio_wb_bit_mask; in pte_pgprot()
981 static inline void set_pte(pte_t *ptep, pte_t pte) in set_pte() argument
983 WRITE_ONCE(*ptep, pte); in set_pte()
1018 static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) in pte_modify() argument
1020 pte = clear_pte_bit(pte, __pgprot(~_PAGE_CHG_MASK)); in pte_modify()
1021 pte = set_pte_bit(pte, newprot); in pte_modify()
1026 if ((pte_val(pte) & _PAGE_YOUNG) && (pte_val(pte) & _PAGE_READ)) in pte_modify()
1027 pte = clear_pte_bit(pte, __pgprot(_PAGE_INVALID)); in pte_modify()
1032 if ((pte_val(pte) & _PAGE_DIRTY) && (pte_val(pte) & _PAGE_WRITE)) in pte_modify()
1033 pte = clear_pte_bit(pte, __pgprot(_PAGE_PROTECT)); in pte_modify()
1034 return pte; in pte_modify()
1037 static inline pte_t pte_wrprotect(pte_t pte) in pte_wrprotect() argument
1039 pte = clear_pte_bit(pte, __pgprot(_PAGE_WRITE)); in pte_wrprotect()
1040 return set_pte_bit(pte, __pgprot(_PAGE_PROTECT)); in pte_wrprotect()
1043 static inline pte_t pte_mkwrite_novma(pte_t pte) in pte_mkwrite_novma() argument
1045 pte = set_pte_bit(pte, __pgprot(_PAGE_WRITE)); in pte_mkwrite_novma()
1046 if (pte_val(pte) & _PAGE_DIRTY) in pte_mkwrite_novma()
1047 pte = clear_pte_bit(pte, __pgprot(_PAGE_PROTECT)); in pte_mkwrite_novma()
1048 return pte; in pte_mkwrite_novma()
1051 static inline pte_t pte_mkclean(pte_t pte) in pte_mkclean() argument
1053 pte = clear_pte_bit(pte, __pgprot(_PAGE_DIRTY)); in pte_mkclean()
1054 return set_pte_bit(pte, __pgprot(_PAGE_PROTECT)); in pte_mkclean()
1057 static inline pte_t pte_mkdirty(pte_t pte) in pte_mkdirty() argument
1059 pte = set_pte_bit(pte, __pgprot(_PAGE_DIRTY | _PAGE_SOFT_DIRTY)); in pte_mkdirty()
1060 if (pte_val(pte) & _PAGE_WRITE) in pte_mkdirty()
1061 pte = clear_pte_bit(pte, __pgprot(_PAGE_PROTECT)); in pte_mkdirty()
1062 return pte; in pte_mkdirty()
1065 static inline pte_t pte_mkold(pte_t pte) in pte_mkold() argument
1067 pte = clear_pte_bit(pte, __pgprot(_PAGE_YOUNG)); in pte_mkold()
1068 return set_pte_bit(pte, __pgprot(_PAGE_INVALID)); in pte_mkold()
1071 static inline pte_t pte_mkyoung(pte_t pte) in pte_mkyoung() argument
1073 pte = set_pte_bit(pte, __pgprot(_PAGE_YOUNG)); in pte_mkyoung()
1074 if (pte_val(pte) & _PAGE_READ) in pte_mkyoung()
1075 pte = clear_pte_bit(pte, __pgprot(_PAGE_INVALID)); in pte_mkyoung()
1076 return pte; in pte_mkyoung()
1079 static inline pte_t pte_mkspecial(pte_t pte) in pte_mkspecial() argument
1081 return set_pte_bit(pte, __pgprot(_PAGE_SPECIAL)); in pte_mkspecial()
1085 static inline pte_t pte_mkhuge(pte_t pte) in pte_mkhuge() argument
1087 return set_pte_bit(pte, __pgprot(_PAGE_LARGE)); in pte_mkhuge()
1172 pte_t pte = *ptep; in ptep_test_and_clear_young() local
1174 pte = ptep_xchg_direct(vma->vm_mm, addr, ptep, pte_mkold(pte)); in ptep_test_and_clear_young()
1175 return pte_young(pte); in ptep_test_and_clear_young()
1265 pte_t pte = *ptep; in ptep_set_wrprotect() local
1267 if (pte_write(pte)) in ptep_set_wrprotect()
1268 ptep_xchg_lazy(mm, addr, ptep, pte_wrprotect(pte)); in ptep_set_wrprotect()
1810 static inline bool pte_user_accessible_page(struct mm_struct *mm, unsigned long addr, pte_t pte) in pte_user_accessible_page() argument
1814 return pte_present(pte); in pte_user_accessible_page()
1879 #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) argument
1953 pte_t pte; in __pmd_to_swp_entry() local
1956 pte = mk_swap_pte(__swp_type_rste(arch_entry), __swp_offset_rste(arch_entry)); in __pmd_to_swp_entry()
1957 return __pte_to_swp_entry(pte); in __pmd_to_swp_entry()