Lines Matching refs:rste
26 unsigned long rste; in __pte_to_rste() local
49 rste = pte_val(pte) & PAGE_MASK; in __pte_to_rste()
50 rste |= move_set_bit(pte_val(pte), _PAGE_READ, in __pte_to_rste()
52 rste |= move_set_bit(pte_val(pte), _PAGE_WRITE, in __pte_to_rste()
54 rste |= move_set_bit(pte_val(pte), _PAGE_INVALID, in __pte_to_rste()
56 rste |= move_set_bit(pte_val(pte), _PAGE_PROTECT, in __pte_to_rste()
58 rste |= move_set_bit(pte_val(pte), _PAGE_DIRTY, in __pte_to_rste()
60 rste |= move_set_bit(pte_val(pte), _PAGE_YOUNG, in __pte_to_rste()
63 rste |= move_set_bit(pte_val(pte), _PAGE_SOFT_DIRTY, in __pte_to_rste()
66 rste |= move_set_bit(pte_val(pte), _PAGE_NOEXEC, in __pte_to_rste()
69 rste = _SEGMENT_ENTRY_EMPTY; in __pte_to_rste()
70 return rste; in __pte_to_rste()
73 static inline pte_t __rste_to_pte(unsigned long rste) in __rste_to_pte() argument
78 if ((rste & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) in __rste_to_pte()
79 present = pud_present(__pud(rste)); in __rste_to_pte()
81 present = pmd_present(__pmd(rste)); in __rste_to_pte()
104 pte_val(pte) = rste & _SEGMENT_ENTRY_ORIGIN_LARGE; in __rste_to_pte()
106 pte_val(pte) |= move_set_bit(rste, _SEGMENT_ENTRY_READ, in __rste_to_pte()
108 pte_val(pte) |= move_set_bit(rste, _SEGMENT_ENTRY_WRITE, in __rste_to_pte()
110 pte_val(pte) |= move_set_bit(rste, _SEGMENT_ENTRY_INVALID, in __rste_to_pte()
112 pte_val(pte) |= move_set_bit(rste, _SEGMENT_ENTRY_PROTECT, in __rste_to_pte()
114 pte_val(pte) |= move_set_bit(rste, _SEGMENT_ENTRY_DIRTY, in __rste_to_pte()
116 pte_val(pte) |= move_set_bit(rste, _SEGMENT_ENTRY_YOUNG, in __rste_to_pte()
119 pte_val(pte) |= move_set_bit(rste, _SEGMENT_ENTRY_SOFT_DIRTY, in __rste_to_pte()
122 pte_val(pte) |= move_set_bit(rste, _SEGMENT_ENTRY_NOEXEC, in __rste_to_pte()
129 static void clear_huge_pte_skeys(struct mm_struct *mm, unsigned long rste) in clear_huge_pte_skeys() argument
135 rste & _SEGMENT_ENTRY_INVALID) in clear_huge_pte_skeys()
138 if ((rste & _REGION_ENTRY_TYPE_MASK) == _REGION_ENTRY_TYPE_R3) { in clear_huge_pte_skeys()
139 page = pud_page(__pud(rste)); in clear_huge_pte_skeys()
141 paddr = rste & PUD_MASK; in clear_huge_pte_skeys()
143 page = pmd_page(__pmd(rste)); in clear_huge_pte_skeys()
145 paddr = rste & PMD_MASK; in clear_huge_pte_skeys()
155 unsigned long rste; in set_huge_pte_at() local
157 rste = __pte_to_rste(pte); in set_huge_pte_at()
159 rste &= ~_SEGMENT_ENTRY_NOEXEC; in set_huge_pte_at()
164 rste |= _REGION3_ENTRY_LARGE; in set_huge_pte_at()
165 rste |= _REGION_ENTRY_TYPE_R3; in set_huge_pte_at()
167 rste |= _SEGMENT_ENTRY_LARGE; in set_huge_pte_at()
169 clear_huge_pte_skeys(mm, rste); in set_huge_pte_at()
170 pte_val(*ptep) = rste; in set_huge_pte_at()