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 = ¤t->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);
102 * If XSAVES is enabled, it replaces XSAVEC because it supports supervisor
160 u64 xfd = fpstate->xfd; in xfd_update_state()
174 return -EPERM; in __xfd_enable_feature()
186 u64 mask = fpstate->xfeatures; in os_xsave()
194 XSTATE_XSAVE(&fpstate->regs.xsave, lmask, hmask, err); in os_xsave()
211 XSTATE_XRESTORE(&fpstate->regs.xsave, lmask, hmask); in os_xrstor()
214 /* Restore of supervisor state. Does not require XFD */
221 XSTATE_XRESTORE(&fpstate->regs.xsave, lmask, hmask); in os_xrstor_supervisor()
230 * This optimization is user-visible. Only use for states where
240 /* In-use features must be written: */ in xfeatures_need_sigframe_write()
243 /* Also write all non-optimizable sigframe features: */ in xfeatures_need_sigframe_write()
270 struct fpstate *fpstate = current->thread.fpu.fpstate; in xsave_to_user_sigframe()
271 u64 mask = fpstate->user_xfeatures; in xsave_to_user_sigframe()
301 xfd_validate_state(current->thread.fpu.fpstate, mask, true); in xrstor_from_user_sigframe()
316 struct xregs_state *xstate = &fpstate->regs.xsave; in os_xrstor_safe()