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