Lines Matching +full:supervisor +full:- +full:mode +full:- +full:visible

1 /* SPDX-License-Identifier: GPL-2.0 */
20 xsave->header.xcomp_bv = mask | XCOMP_BV_COMPACTED_FORMAT; in xstate_init_xcomp_bv()
25 struct fpu *fpu = &current->group_leader->thread.fpu; in xstate_get_group_perm()
29 perm = guest ? &fpu->guest_perm : &fpu->perm; in xstate_get_group_perm()
30 return READ_ONCE(perm->__state_perm); in xstate_get_group_perm()
49 enum xstate_copy_mode mode);
83 /* Mark PKRU as in-use so that it is restored correctly. */ in update_pkru_in_sigframe()
86 err = __put_user(xstate_bv, &buf->header.xfeatures); in update_pkru_in_sigframe()
127 * If XSAVES is enabled, it replaces XSAVEC because it supports supervisor
181 u64 xfd = fpstate->xfd; in xfd_update_state()
195 return -EPERM; in __xfd_enable_feature()
207 u64 mask = fpstate->xfeatures; in os_xsave()
215 XSTATE_XSAVE(&fpstate->regs.xsave, lmask, hmask, err); in os_xsave()
232 XSTATE_XRESTORE(&fpstate->regs.xsave, lmask, hmask); in os_xrstor()
235 /* Restore of supervisor state. Does not require XFD */
242 XSTATE_XRESTORE(&fpstate->regs.xsave, lmask, hmask); in os_xrstor_supervisor()
251 * This optimization is user-visible. Only use for states where
261 /* In-use features must be written: */ in xfeatures_need_sigframe_write()
264 /* Also write all non-optimizable sigframe features: */ in xfeatures_need_sigframe_write()
291 struct fpstate *fpstate = current->thread.fpu.fpstate; in xsave_to_user_sigframe()
292 u64 mask = fpstate->user_xfeatures; in xsave_to_user_sigframe()
325 xfd_validate_state(current->thread.fpu.fpstate, mask, true); in xrstor_from_user_sigframe()
340 struct xregs_state *xstate = &fpstate->regs.xsave; in os_xrstor_safe()