| /Linux-v5.15/arch/x86/kernel/fpu/ |
| D | xstate.c | 398 init_fpstate.xsave.header.xcomp_bv = XCOMP_BV_COMPACTED_FORMAT | in setup_init_fpu_buf() 404 os_xrstor_booting(&init_fpstate.xsave); in setup_init_fpu_buf() 850 static void *__raw_xsave_addr(struct xregs_state *xsave, int xfeature_nr) in __raw_xsave_addr() argument 857 return (void *)xsave + xstate_comp_offsets[xfeature_nr]; in __raw_xsave_addr() 877 void *get_xsave_addr(struct xregs_state *xsave, int xfeature_nr) in get_xsave_addr() argument 902 if (!(xsave->header.xfeatures & BIT_ULL(xfeature_nr))) in get_xsave_addr() 905 return __raw_xsave_addr(xsave, xfeature_nr); in get_xsave_addr() 979 struct xregs_state *xsave = &tsk->thread.fpu.state.xsave; in copy_xstate_to_uabi_buf() local 980 struct xregs_state *xinit = &init_fpstate.xsave; in copy_xstate_to_uabi_buf() 986 header.xfeatures = xsave->header.xfeatures; in copy_xstate_to_uabi_buf() [all …]
|
| D | core.c | 102 os_xsave(&fpu->state.xsave); in save_fpregs_to_fpstate() 108 if (fpu->state.xsave.header.xfeatures & XFEATURE_MASK_AVX512) in save_fpregs_to_fpstate() 144 os_xrstor(&fpstate->xsave, mask); in __restore_fpregs_from_fpstate() 206 static inline void fpstate_init_xstate(struct xregs_state *xsave) in fpstate_init_xstate() argument 212 xsave->header.xcomp_bv = XCOMP_BV_COMPACTED_FORMAT | xfeatures_mask_all; in fpstate_init_xstate() 242 fpstate_init_xstate(&state->xsave); in fpstate_init() 266 memset(&dst_fpu->state.xsave, 0, fpu_kernel_xstate_size); in fpu_clone() 322 os_xrstor(&init_fpstate.xsave, features_mask); in restore_fpregs_from_init_fpstate() 337 return sizeof(init_fpstate.xsave); in init_fpstate_copy_size() 389 os_xrstor(&fpu->state.xsave, xfeatures_mask_supervisor()); in fpu__clear_user_states()
|
| D | signal.c | 70 struct xregs_state *xsave = &tsk->thread.fpu.state.xsave; in save_fsave_header() local 82 __put_user(xsave->i387.swd, &fp->status) || in save_fsave_header() 236 os_xrstor(&init_fpstate.xsave, init_bv); in __restore_fpregs_from_user() 297 os_xrstor(&fpu->state.xsave, xfeatures_mask_supervisor()); in restore_fpregs_from_user() 366 os_xsave(&fpu->state.xsave); in __fpu_restore_sig() 374 ret = copy_sigframe_from_user_to_xstate(&fpu->state.xsave, buf_fx); in __fpu_restore_sig() 393 fpu->state.xsave.header.xfeatures |= XFEATURE_MASK_FPSSE; in __fpu_restore_sig() 412 fpu->state.xsave.header.xfeatures &= mask; in __fpu_restore_sig() 413 ret = os_xrstor_safe(&fpu->state.xsave, xfeatures_mask_all); in __fpu_restore_sig()
|
| D | regset.c | 121 fpu->state.xsave.header.xfeatures |= XFEATURE_MASK_FPSSE; in xfpregs_set() 167 ret = copy_uabi_from_kernel_to_xstate(&fpu->state.xsave, kbuf ?: tmpbuf); in xstateregs_set() 378 fpu->state.xsave.header.xfeatures |= XFEATURE_MASK_FP; in fpregs_set()
|
| /Linux-v5.15/arch/x86/include/asm/fpu/ |
| D | xstate.h | 137 void *get_xsave_addr(struct xregs_state *xsave, int xfeature_nr); 139 int copy_uabi_from_kernel_to_xstate(struct xregs_state *xsave, const void *kbuf); 140 int copy_sigframe_from_user_to_xstate(struct xregs_state *xsave, const void __user *ubuf); 142 void xsaves(struct xregs_state *xsave, u64 mask); 143 void xrstors(struct xregs_state *xsave, u64 mask);
|
| D | types.h | 308 struct xregs_state xsave; member
|
| /Linux-v5.15/arch/x86/include/asm/trace/ |
| D | fpu.h | 25 __entry->xfeatures = fpu->state.xsave.header.xfeatures; 26 __entry->xcomp_bv = fpu->state.xsave.header.xcomp_bv;
|
| /Linux-v5.15/arch/x86/events/intel/ |
| D | lbr.c | 494 xrstors(&task_ctx->xsave, XFEATURE_MASK_LBR); in intel_pmu_arch_lbr_xrstors() 579 xsaves(&task_ctx->xsave, XFEATURE_MASK_LBR); in intel_pmu_arch_lbr_xsaves() 990 struct x86_perf_task_context_arch_lbr_xsave *xsave = cpuc->lbr_xsave; in intel_pmu_arch_lbr_read_xsave() local 992 if (!xsave) { in intel_pmu_arch_lbr_read_xsave() 996 xsaves(&xsave->xsave, XFEATURE_MASK_LBR); in intel_pmu_arch_lbr_read_xsave() 998 intel_pmu_store_lbr(cpuc, xsave->lbr.entries); in intel_pmu_arch_lbr_read_xsave()
|
| /Linux-v5.15/include/video/ |
| D | newport.h | 162 npireg_t xsave; /* copy of xstart integer value for BLOCk addressing MODE */ member 312 unsigned int xsave; member
|
| /Linux-v5.15/arch/x86/kvm/ |
| D | x86.c | 4707 struct xregs_state *xsave = &vcpu->arch.guest_fpu->state.xsave; in fill_xsave() local 4708 u64 xstate_bv = xsave->header.xfeatures; in fill_xsave() 4715 memcpy(dest, xsave, XSAVE_HDR_OFFSET); in fill_xsave() 4739 src = get_xsave_addr(xsave, xfeature_nr); in fill_xsave() 4750 struct xregs_state *xsave = &vcpu->arch.guest_fpu->state.xsave; in load_xsave() local 4758 memcpy(xsave, src, XSAVE_HDR_OFFSET); in load_xsave() 4761 xsave->header.xfeatures = xstate_bv; in load_xsave() 4763 xsave->header.xcomp_bv = host_xcr0 | XSTATE_COMPACTION_ENABLED; in load_xsave() 4782 void *dest = get_xsave_addr(xsave, xfeature_nr); in load_xsave() 4956 struct kvm_xsave *xsave; in kvm_arch_vcpu_ioctl() member [all …]
|
| /Linux-v5.15/tools/testing/selftests/kvm/lib/x86_64/ |
| D | processor.c | 1026 struct kvm_xsave xsave; member 1117 r = ioctl(vcpu->fd, KVM_GET_XSAVE, &state->xsave); in vcpu_save_state() 1162 r = ioctl(vcpu->fd, KVM_SET_XSAVE, &state->xsave); in vcpu_load_state()
|
| /Linux-v5.15/arch/x86/events/ |
| D | perf_event.h | 948 struct xregs_state xsave; member
|
| /Linux-v5.15/tools/arch/x86/kcpuid/ |
| D | cpuid.csv | 45 1, 0, ECX, 26, xsave, XSAVE/XRSTOR processor extended states (XSETBV/XGETBV/XCR0)
|
| /Linux-v5.15/Documentation/admin-guide/ |
| D | kernel-parameters.txt | 3401 and restore using xsave. The kernel will fallback to 3406 xsave to save the states. By using this parameter, 3408 xsave doesn't support modified optimization while 3413 form of xsave area. The kernel will fall back to use 3415 in standard form of xsave area. By using this 3416 parameter, xsave area per process might occupy more
|
| /Linux-v5.15/Documentation/virt/kvm/ |
| D | api.rst | 1523 This ioctl would copy current vcpu's xsave struct to the userspace. 1542 This ioctl would copy userspace's xsave struct to the kernel.
|