| /linux-6.15/arch/x86/kernel/fpu/ |
| H A D | xstate.c | 364 os_xrstor_booting(&init_fpstate.regs.xsave); in setup_init_fpu_buf() 922 u64 xcomp_bv = xsave->header.xcomp_bv; in __raw_xsave_addr() 1073 struct xregs_state *xsave = &fpstate->regs.xsave; in __copy_xstate_to_uabi_buf() local 1109 sizeof(xsave->i387.st_space)); in __copy_xstate_to_uabi_buf() 1114 sizeof(xsave->i387.xmm_space)); in __copy_xstate_to_uabi_buf() 1164 __raw_xsave_addr(xsave, i), in __copy_xstate_to_uabi_buf() 1243 struct xregs_state *xsave = &fpstate->regs.xsave; in copy_uabi_to_xstate() local 1271 xsave->i387.mxcsr = mxcsr[0]; in copy_uabi_to_xstate() 1272 xsave->i387.mxcsr_mask = mxcsr[1]; in copy_uabi_to_xstate() 1280 void *dst = __raw_xsave_addr(xsave, i); in copy_uabi_to_xstate() [all …]
|
| H A D | xstate.h | 13 static inline void xstate_init_xcomp_bv(struct xregs_state *xsave, u64 mask) in xstate_init_xcomp_bv() argument 20 xsave->header.xcomp_bv = mask | XCOMP_BV_COMPACTED_FORMAT; in xstate_init_xcomp_bv() 57 extern void __user *get_xsave_addr_user(struct xregs_state __user *xsave, int xfeature_nr); 215 XSTATE_XSAVE(&fpstate->regs.xsave, lmask, hmask, err); in os_xsave() 232 XSTATE_XRESTORE(&fpstate->regs.xsave, lmask, hmask); in os_xrstor() 242 XSTATE_XRESTORE(&fpstate->regs.xsave, lmask, hmask); in os_xrstor_supervisor() 340 struct xregs_state *xstate = &fpstate->regs.xsave; in os_xrstor_safe()
|
| H A D | core.c | 104 if (fpu->fpstate->regs.xsave.header.xfeatures & AVX512_TRACKING_MASK) in update_avx_timestamp() 392 ustate->xsave.header.xfeatures = XFEATURE_MASK_FPSSE; in fpu_copy_guest_fpstate_to_uabi() 404 if (ustate->xsave.header.xfeatures & ~XFEATURE_MASK_FPSSE) in fpu_copy_uabi_to_guest_fpstate() 412 if (ustate->xsave.header.xfeatures & ~xcr0) in fpu_copy_uabi_to_guest_fpstate() 420 if (!(ustate->xsave.header.xfeatures & XFEATURE_MASK_PKRU)) in fpu_copy_uabi_to_guest_fpstate() 488 return sizeof(init_fpstate.regs.xsave); in init_fpstate_copy_size() 520 xstate_init_xcomp_bv(&fpstate->regs.xsave, fpstate->xfeatures); in fpstate_init_user() 575 xstate = get_xsave_addr(&dst->thread.fpu.fpstate->regs.xsave, in update_fpu_shstk() 652 dst_fpu->fpstate->regs.xsave.header.xfeatures &= ~XFEATURE_MASK_PASID; in fpu_clone()
|
| H A D | regset.c | 125 fpu->fpstate->regs.xsave.header.xfeatures |= XFEATURE_MASK_FPSSE; in xfpregs_set() 198 cetregs = get_xsave_addr(&fpu->fpstate->regs.xsave, XFEATURE_CET_USER); in ssp_get() 218 struct xregs_state *xsave = &fpu->fpstate->regs.xsave; in ssp_set() local 243 cetregs = get_xsave_addr(xsave, XFEATURE_CET_USER); in ssp_set() 463 fpu->fpstate->regs.xsave.header.xfeatures |= XFEATURE_MASK_FP; in fpregs_set()
|
| H A D | signal.c | 67 struct xregs_state *xsave = &tsk->thread.fpu.fpstate->regs.xsave; in save_fsave_header() local 79 __put_user(xsave->i387.swd, &fp->status) || in save_fsave_header() 410 fpregs->xsave.header.xfeatures |= XFEATURE_MASK_FPSSE; in __fpu_restore_sig() 429 fpregs->xsave.header.xfeatures &= mask; in __fpu_restore_sig()
|
| /linux-6.15/tools/testing/selftests/kvm/x86/ |
| H A D | sev_smoke_test.c | 73 struct kvm_xsave __attribute__((aligned(64))) xsave = { 0 }; in test_sync_vmsa() local 87 : "=m"(xsave) in test_sync_vmsa() 88 : "A"(XFEATURE_MASK_X87_AVX), "r"(&xsave), "m" (x87val) in test_sync_vmsa() 90 vcpu_xsave_set(vcpu, &xsave); in test_sync_vmsa() 106 compare_xsave((u8 *)&xsave, (u8 *)hva); in test_sync_vmsa()
|
| H A D | state_test.c | 299 xstate_bv = (void *)&((uint8_t *)state->xsave->region)[512]; in main() 303 vcpu_xsave_set(vcpuN, state->xsave); in main() 305 vcpu_xsave_set(vcpuN, state->xsave); in main() 308 vcpu_xsave_set(vcpuN, state->xsave); in main() 310 vcpu_xsave_set(vcpuN, state->xsave); in main()
|
| H A D | amx_test.c | 276 void *amx_start = (void *)state->xsave + amx_offset; in main()
|
| /linux-6.15/arch/x86/include/asm/fpu/ |
| H A D | xstate.h | 107 void xsaves(struct xregs_state *xsave, u64 mask); 108 void xrstors(struct xregs_state *xsave, u64 mask);
|
| H A D | api.h | 143 extern void *get_xsave_addr(struct xregs_state *xsave, int xfeature_nr);
|
| H A D | types.h | 354 struct xregs_state xsave; member
|
| /linux-6.15/arch/x86/include/asm/trace/ |
| H A D | fpu.h | 25 __entry->xfeatures = fpu->fpstate->regs.xsave.header.xfeatures; 26 __entry->xcomp_bv = fpu->fpstate->regs.xsave.header.xcomp_bv;
|
| /linux-6.15/tools/testing/selftests/mm/ |
| H A D | protection_keys.c | 1490 void *xsave; in test_ptrace_modifies_pkru() local 1530 xsave = (void *)malloc(xsave_size); in test_ptrace_modifies_pkru() 1531 pkey_assert(xsave > 0); in test_ptrace_modifies_pkru() 1534 iov.iov_base = xsave; in test_ptrace_modifies_pkru() 1539 pkey_register = (u32 *)(xsave + pkey_offset); in test_ptrace_modifies_pkru() 1548 memset(xsave, 0xCC, xsave_size); in test_ptrace_modifies_pkru() 1563 memset(xsave, 0xCC, xsave_size); in test_ptrace_modifies_pkru() 1569 xstate_bv = (u64 *)(xsave + 512); in test_ptrace_modifies_pkru() 1576 memset(xsave, 0xCC, xsave_size); in test_ptrace_modifies_pkru() 1590 memset(xsave, 0xCC, xsave_size); in test_ptrace_modifies_pkru() [all …]
|
| /linux-6.15/tools/testing/selftests/kvm/include/x86/ |
| H A D | processor.h | 415 struct kvm_xsave *xsave; member 901 struct kvm_xsave *xsave) in vcpu_xsave_get() argument 903 vcpu_ioctl(vcpu, KVM_GET_XSAVE, xsave); in vcpu_xsave_get() 906 struct kvm_xsave *xsave) in vcpu_xsave2_get() argument 908 vcpu_ioctl(vcpu, KVM_GET_XSAVE2, xsave); in vcpu_xsave2_get() 911 struct kvm_xsave *xsave) in vcpu_xsave_set() argument 913 vcpu_ioctl(vcpu, KVM_SET_XSAVE, xsave); in vcpu_xsave_set()
|
| /linux-6.15/arch/x86/events/intel/ |
| H A D | lbr.c | 414 xrstors(&task_ctx->xsave, XFEATURE_MASK_LBR); in intel_pmu_arch_lbr_xrstors() 505 xsaves(&task_ctx->xsave, XFEATURE_MASK_LBR); in intel_pmu_arch_lbr_xsaves() 1000 struct x86_perf_task_context_arch_lbr_xsave *xsave = cpuc->lbr_xsave; in intel_pmu_arch_lbr_read_xsave() local 1002 if (!xsave) { in intel_pmu_arch_lbr_read_xsave() 1006 xsaves(&xsave->xsave, XFEATURE_MASK_LBR); in intel_pmu_arch_lbr_read_xsave() 1008 intel_pmu_store_lbr(cpuc, xsave->lbr.entries); in intel_pmu_arch_lbr_read_xsave()
|
| /linux-6.15/tools/testing/selftests/x86/ |
| H A D | xstate.h | 76 static inline void xsave(struct xsave_buffer *xbuf, uint64_t rfbm) in xsave() function
|
| H A D | amx.c | 415 xsave(xbuf2, XFEATURE_MASK_XTILEDATA); in __validate_tiledata_regs()
|
| H A D | xstate.c | 100 xsave(xbuf2, xstate.mask); in validate_xregs_same()
|
| /linux-6.15/tools/testing/selftests/kvm/lib/x86/ |
| H A D | processor.c | 1057 state->xsave = malloc(size); in vcpu_save_xsave_state() 1058 vcpu_xsave2_get(vcpu, state->xsave); in vcpu_save_xsave_state() 1060 state->xsave = malloc(sizeof(struct kvm_xsave)); in vcpu_save_xsave_state() 1061 vcpu_xsave_get(vcpu, state->xsave); in vcpu_save_xsave_state() 1130 vcpu_xsave_set(vcpu, state->xsave); in vcpu_load_state() 1142 free(state->xsave); in kvm_x86_state_cleanup()
|
| /linux-6.15/include/video/ |
| H A D | newport.h | 162 npireg_t xsave; /* copy of xstart integer value for BLOCk addressing MODE */ member 312 unsigned int xsave; member
|
| /linux-6.15/lib/zstd/common/ |
| H A D | cpu.h | 123 C(xsave, 26)
|
| /linux-6.15/arch/x86/kvm/svm/ |
| H A D | sev.c | 801 struct xregs_state *xsave; in sev_es_sync_vmsa() local 852 xsave = &vcpu->arch.guest_fpu.fpstate->regs.xsave; in sev_es_sync_vmsa() 853 save->x87_dp = xsave->i387.rdp; in sev_es_sync_vmsa() 854 save->mxcsr = xsave->i387.mxcsr; in sev_es_sync_vmsa() 855 save->x87_ftw = xsave->i387.twd; in sev_es_sync_vmsa() 856 save->x87_fsw = xsave->i387.swd; in sev_es_sync_vmsa() 857 save->x87_fcw = xsave->i387.cwd; in sev_es_sync_vmsa() 858 save->x87_fop = xsave->i387.fop; in sev_es_sync_vmsa() 861 save->x87_rip = xsave->i387.rip; in sev_es_sync_vmsa() 871 s = ((u8 *)xsave->i387.st_space) + i * 16; in sev_es_sync_vmsa() [all …]
|
| /linux-6.15/drivers/hv/ |
| H A D | mshv_root_main.c | 703 &state_data.xsave.states.as_uint64); in mshv_vp_ioctl_get_set_state() 714 state_data.xsave.flags = 0; in mshv_vp_ioctl_get_set_state() 716 state_data.xsave.states.legacy_x87 = 1; in mshv_vp_ioctl_get_set_state() 717 state_data.xsave.states.legacy_sse = 1; in mshv_vp_ioctl_get_set_state()
|
| /linux-6.15/include/hyperv/ |
| H A D | hvhdk.h | 674 struct hv_vp_state_data_xsave xsave; member
|
| /linux-6.15/arch/x86/kvm/ |
| H A D | x86.c | 5863 struct kvm_xsave *xsave; in kvm_arch_vcpu_ioctl() member 6071 u.xsave = kzalloc(sizeof(struct kvm_xsave), GFP_KERNEL); in kvm_arch_vcpu_ioctl() 6073 if (!u.xsave) in kvm_arch_vcpu_ioctl() 6076 r = kvm_vcpu_ioctl_x86_get_xsave(vcpu, u.xsave); in kvm_arch_vcpu_ioctl() 6089 u.xsave = memdup_user(argp, size); in kvm_arch_vcpu_ioctl() 6090 if (IS_ERR(u.xsave)) { in kvm_arch_vcpu_ioctl() 6091 r = PTR_ERR(u.xsave); in kvm_arch_vcpu_ioctl() 6095 r = kvm_vcpu_ioctl_x86_set_xsave(vcpu, u.xsave); in kvm_arch_vcpu_ioctl() 6102 u.xsave = kzalloc(size, GFP_KERNEL); in kvm_arch_vcpu_ioctl() 6104 if (!u.xsave) in kvm_arch_vcpu_ioctl() [all …]
|