Lines Matching refs:pgste

599 static inline void pgste_set_unlock(pte_t *ptep, pgste_t pgste)  in pgste_set_unlock()  argument
606 : "d" (pgste_val(pgste)), "Q" (ptep[PTRS_PER_PTE]) in pgste_set_unlock()
614 unsigned long pgste = 0; in pgste_get() local
616 pgste = *(unsigned long *)(ptep + PTRS_PER_PTE); in pgste_get()
618 return __pgste(pgste); in pgste_get()
621 static inline void pgste_set(pte_t *ptep, pgste_t pgste) in pgste_set() argument
624 *(pgste_t *)(ptep + PTRS_PER_PTE) = pgste; in pgste_set()
628 static inline pgste_t pgste_update_all(pte_t *ptep, pgste_t pgste, in pgste_update_all() argument
635 return pgste; in pgste_update_all()
640 pgste_val(pgste) |= bits << 48; /* GR bit & GC bit */ in pgste_update_all()
642 pgste_val(pgste) &= ~(PGSTE_ACC_BITS | PGSTE_FP_BIT); in pgste_update_all()
643 pgste_val(pgste) |= (skey & (_PAGE_ACC_BITS | _PAGE_FP_BIT)) << 56; in pgste_update_all()
645 return pgste; in pgste_update_all()
649 static inline void pgste_set_key(pte_t *ptep, pgste_t pgste, pte_t entry, in pgste_set_key() argument
665 nkey = (pgste_val(pgste) & (PGSTE_ACC_BITS | PGSTE_FP_BIT)) >> 56; in pgste_set_key()
666 nkey |= (pgste_val(pgste) & (PGSTE_GR_BIT | PGSTE_GC_BIT)) >> 48; in pgste_set_key()
671 static inline pgste_t pgste_set_pte(pte_t *ptep, pgste_t pgste, pte_t entry) in pgste_set_pte() argument
686 pgste_val(pgste) |= PGSTE_UC_BIT; in pgste_set_pte()
689 return pgste; in pgste_set_pte()
749 pte_t *ptep, pgste_t pgste) in pgste_ipte_notify()
752 if (pgste_val(pgste) & PGSTE_IN_BIT) { in pgste_ipte_notify()
753 pgste_val(pgste) &= ~PGSTE_IN_BIT; in pgste_ipte_notify()
757 return pgste; in pgste_ipte_notify()
768 pgste_t pgste; in set_pte_at() local
771 pgste = pgste_get_lock(ptep); in set_pte_at()
772 pgste_val(pgste) &= ~_PGSTE_GPS_ZERO; in set_pte_at()
773 pgste_set_key(ptep, pgste, entry, mm); in set_pte_at()
774 pgste = pgste_set_pte(ptep, pgste, entry); in set_pte_at()
775 pgste_set_unlock(ptep, pgste); in set_pte_at()
987 pgste_t pgste; in ptep_test_and_clear_user_dirty() local
993 pgste = pgste_get_lock(ptep); in ptep_test_and_clear_user_dirty()
994 dirty = !!(pgste_val(pgste) & PGSTE_UC_BIT); in ptep_test_and_clear_user_dirty()
995 pgste_val(pgste) &= ~PGSTE_UC_BIT; in ptep_test_and_clear_user_dirty()
998 pgste = pgste_ipte_notify(mm, addr, ptep, pgste); in ptep_test_and_clear_user_dirty()
1006 pgste_set_unlock(ptep, pgste); in ptep_test_and_clear_user_dirty()
1014 pgste_t pgste; in ptep_test_and_clear_young() local
1019 pgste = pgste_get_lock(ptep); in ptep_test_and_clear_young()
1020 pgste = pgste_ipte_notify(vma->vm_mm, addr, ptep, pgste); in ptep_test_and_clear_young()
1029 pgste = pgste_update_all(&oldpte, pgste, vma->vm_mm); in ptep_test_and_clear_young()
1030 pgste = pgste_set_pte(ptep, pgste, pte); in ptep_test_and_clear_young()
1031 pgste_set_unlock(ptep, pgste); in ptep_test_and_clear_young()
1062 pgste_t pgste; in ptep_get_and_clear() local
1066 pgste = pgste_get_lock(ptep); in ptep_get_and_clear()
1067 pgste = pgste_ipte_notify(mm, address, ptep, pgste); in ptep_get_and_clear()
1075 pgste = pgste_update_all(&pte, pgste, mm); in ptep_get_and_clear()
1076 pgste_set_unlock(ptep, pgste); in ptep_get_and_clear()
1086 pgste_t pgste; in ptep_modify_prot_start() local
1090 pgste = pgste_get_lock(ptep); in ptep_modify_prot_start()
1091 pgste_ipte_notify(mm, address, ptep, pgste); in ptep_modify_prot_start()
1098 pgste = pgste_update_all(&pte, pgste, mm); in ptep_modify_prot_start()
1099 pgste_set(ptep, pgste); in ptep_modify_prot_start()
1108 pgste_t pgste; in ptep_modify_prot_commit() local
1111 pgste = pgste_get(ptep); in ptep_modify_prot_commit()
1112 pgste_set_key(ptep, pgste, pte, mm); in ptep_modify_prot_commit()
1113 pgste = pgste_set_pte(ptep, pgste, pte); in ptep_modify_prot_commit()
1114 pgste_set_unlock(ptep, pgste); in ptep_modify_prot_commit()
1123 pgste_t pgste; in ptep_clear_flush() local
1127 pgste = pgste_get_lock(ptep); in ptep_clear_flush()
1128 pgste = pgste_ipte_notify(vma->vm_mm, address, ptep, pgste); in ptep_clear_flush()
1136 if ((pgste_val(pgste) & _PGSTE_GPS_USAGE_MASK) == in ptep_clear_flush()
1139 pgste = pgste_update_all(&pte, pgste, vma->vm_mm); in ptep_clear_flush()
1140 pgste_set_unlock(ptep, pgste); in ptep_clear_flush()
1157 pgste_t pgste; in ptep_get_and_clear_full() local
1161 pgste = pgste_get_lock(ptep); in ptep_get_and_clear_full()
1162 pgste = pgste_ipte_notify(mm, address, ptep, pgste); in ptep_get_and_clear_full()
1171 pgste = pgste_update_all(&pte, pgste, mm); in ptep_get_and_clear_full()
1172 pgste_set_unlock(ptep, pgste); in ptep_get_and_clear_full()
1181 pgste_t pgste; in ptep_set_wrprotect() local
1186 pgste = pgste_get_lock(ptep); in ptep_set_wrprotect()
1187 pgste = pgste_ipte_notify(mm, address, ptep, pgste); in ptep_set_wrprotect()
1194 pgste = pgste_set_pte(ptep, pgste, pte); in ptep_set_wrprotect()
1195 pgste_set_unlock(ptep, pgste); in ptep_set_wrprotect()
1207 pgste_t pgste; in ptep_set_access_flags() local
1212 pgste = pgste_get_lock(ptep); in ptep_set_access_flags()
1213 pgste = pgste_ipte_notify(vma->vm_mm, address, ptep, pgste); in ptep_set_access_flags()
1219 pgste_set_key(ptep, pgste, entry, vma->vm_mm); in ptep_set_access_flags()
1220 pgste = pgste_set_pte(ptep, pgste, entry); in ptep_set_access_flags()
1221 pgste_set_unlock(ptep, pgste); in ptep_set_access_flags()