Lines Matching refs:rste
27 unsigned long rste; in __pte_to_rste() local
50 rste = pte_val(pte) & PAGE_MASK; in __pte_to_rste()
51 rste |= move_set_bit(pte_val(pte), _PAGE_READ, in __pte_to_rste()
53 rste |= move_set_bit(pte_val(pte), _PAGE_WRITE, in __pte_to_rste()
55 rste |= move_set_bit(pte_val(pte), _PAGE_INVALID, in __pte_to_rste()
57 rste |= move_set_bit(pte_val(pte), _PAGE_PROTECT, in __pte_to_rste()
59 rste |= move_set_bit(pte_val(pte), _PAGE_DIRTY, in __pte_to_rste()
61 rste |= move_set_bit(pte_val(pte), _PAGE_YOUNG, in __pte_to_rste()
64 rste |= move_set_bit(pte_val(pte), _PAGE_SOFT_DIRTY, in __pte_to_rste()
67 rste |= move_set_bit(pte_val(pte), _PAGE_NOEXEC, in __pte_to_rste()
70 rste = _SEGMENT_ENTRY_EMPTY; in __pte_to_rste()
71 return rste; in __pte_to_rste()
74 static inline pte_t __rste_to_pte(unsigned long rste) in __rste_to_pte() argument
79 if ((rste & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) in __rste_to_pte()
80 present = pud_present(__pud(rste)); in __rste_to_pte()
82 present = pmd_present(__pmd(rste)); in __rste_to_pte()
105 pteval = rste & _SEGMENT_ENTRY_ORIGIN_LARGE; in __rste_to_pte()
107 pteval |= move_set_bit(rste, _SEGMENT_ENTRY_READ, _PAGE_READ); in __rste_to_pte()
108 pteval |= move_set_bit(rste, _SEGMENT_ENTRY_WRITE, _PAGE_WRITE); in __rste_to_pte()
109 pteval |= move_set_bit(rste, _SEGMENT_ENTRY_INVALID, _PAGE_INVALID); in __rste_to_pte()
110 pteval |= move_set_bit(rste, _SEGMENT_ENTRY_PROTECT, _PAGE_PROTECT); in __rste_to_pte()
111 pteval |= move_set_bit(rste, _SEGMENT_ENTRY_DIRTY, _PAGE_DIRTY); in __rste_to_pte()
112 pteval |= move_set_bit(rste, _SEGMENT_ENTRY_YOUNG, _PAGE_YOUNG); in __rste_to_pte()
114 pteval |= move_set_bit(rste, _SEGMENT_ENTRY_SOFT_DIRTY, _PAGE_SOFT_DIRTY); in __rste_to_pte()
116 pteval |= move_set_bit(rste, _SEGMENT_ENTRY_NOEXEC, _PAGE_NOEXEC); in __rste_to_pte()
122 static void clear_huge_pte_skeys(struct mm_struct *mm, unsigned long rste) in clear_huge_pte_skeys() argument
128 rste & _SEGMENT_ENTRY_INVALID) in clear_huge_pte_skeys()
131 if ((rste & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) { in clear_huge_pte_skeys()
132 page = pud_page(__pud(rste)); in clear_huge_pte_skeys()
134 paddr = rste & PUD_MASK; in clear_huge_pte_skeys()
136 page = pmd_page(__pmd(rste)); in clear_huge_pte_skeys()
138 paddr = rste & PMD_MASK; in clear_huge_pte_skeys()
148 unsigned long rste; in __set_huge_pte_at() local
150 rste = __pte_to_rste(pte); in __set_huge_pte_at()
152 rste &= ~_SEGMENT_ENTRY_NOEXEC; in __set_huge_pte_at()
157 rste |= _REGION3_ENTRY_LARGE; in __set_huge_pte_at()
158 rste |= _REGION_ENTRY_TYPE_R3; in __set_huge_pte_at()
160 rste |= _SEGMENT_ENTRY_LARGE; in __set_huge_pte_at()
162 clear_huge_pte_skeys(mm, rste); in __set_huge_pte_at()
163 set_pte(ptep, __pte(rste)); in __set_huge_pte_at()