| /linux/arch/x86/kernel/fpu/ |
| H A D | xstate.c | 395 xstate_init_xcomp_bv(&init_fpstate.regs.xsave, init_fpstate.xfeatures); in setup_init_fpu_buf() 400 os_xrstor_booting(&init_fpstate.regs.xsave); in setup_init_fpu_buf() 998 static void *__raw_xsave_addr(struct xregs_state *xsave, int xfeature_nr) in __raw_xsave_addr() argument 1000 u64 xcomp_bv = xsave->header.xcomp_bv; in __raw_xsave_addr() 1010 return (void *)xsave + xfeature_get_offset(xcomp_bv, xfeature_nr); in __raw_xsave_addr() 1031 void *get_xsave_addr(struct xregs_state *xsave, int xfeature_nr) in get_xsave_addr() argument 1057 if (!(xsave->header.xfeatures & BIT_ULL(xfeature_nr))) in get_xsave_addr() 1060 return __raw_xsave_addr(xsave, xfeature_nr); in get_xsave_addr() 1069 void __user *get_xsave_addr_user(struct xregs_state __user *xsave, int xfeature_nr) in get_xsave_addr_user() argument 1074 return (void __user *)xsave + xstate_offsets[xfeature_nr]; in get_xsave_addr_user() [all …]
|
| H A D | core.c | 123 if (fpu->fpstate->regs.xsave.header.xfeatures & AVX512_TRACKING_MASK) in update_avx_timestamp() 339 fpstate->regs.xsave.header.xfeatures &= ~xfd; in fpu_update_guest_xfd() 429 ustate->xsave.header.xfeatures = XFEATURE_MASK_FPSSE; in fpu_copy_guest_fpstate_to_uabi() 441 if (ustate->xsave.header.xfeatures & ~XFEATURE_MASK_FPSSE) in fpu_copy_uabi_to_guest_fpstate() 449 if (ustate->xsave.header.xfeatures & ~xcr0) in fpu_copy_uabi_to_guest_fpstate() 456 if (WARN_ON_ONCE(ustate->xsave.header.xfeatures & kstate->xfd)) in fpu_copy_uabi_to_guest_fpstate() 464 if (!(ustate->xsave.header.xfeatures & XFEATURE_MASK_PKRU)) in fpu_copy_uabi_to_guest_fpstate() 534 return sizeof(init_fpstate.regs.xsave); in init_fpstate_copy_size() 566 xstate_init_xcomp_bv(&fpstate->regs.xsave, fpstate->xfeatures); in fpstate_init_user() 643 xstate = get_xsave_addr(&x86_task_fpu(dst)->fpstate->regs.xsave, in update_fpu_shstk() [all …]
|
| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | sev_smoke_test.c | 85 struct kvm_xsave __attribute__((aligned(64))) xsave = { 0 }; in test_sync_vmsa() local 99 : "=m"(xsave) in test_sync_vmsa() 100 : "A"(XFEATURE_MASK_X87_AVX), "r"(&xsave), "m" (x87val) in test_sync_vmsa() 102 vcpu_xsave_set(vcpu, &xsave); in test_sync_vmsa() 118 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 | 300 void *amx_start = (void *)tile_state->xsave + amx_offset; in main() 308 vcpu_xsave_set(vcpu, tile_state->xsave); in main()
|
| /linux/arch/x86/include/asm/fpu/ |
| H A D | xstate.h | 111 void xsaves(struct xregs_state *xsave, u64 mask); 112 void xrstors(struct xregs_state *xsave, u64 mask);
|
| H A D | types.h | 373 struct xregs_state xsave; member
|
| /linux/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/tools/testing/selftests/mm/ |
| H A D | protection_keys.c | 1488 void *xsave; in test_ptrace_modifies_pkru() local 1528 xsave = (void *)malloc(xsave_size); in test_ptrace_modifies_pkru() 1529 pkey_assert(xsave > 0); in test_ptrace_modifies_pkru() 1532 iov.iov_base = xsave; in test_ptrace_modifies_pkru() 1537 pkey_register = (u32 *)(xsave + pkey_offset); in test_ptrace_modifies_pkru() 1546 memset(xsave, 0xCC, xsave_size); in test_ptrace_modifies_pkru() 1561 memset(xsave, 0xCC, xsave_size); in test_ptrace_modifies_pkru() 1567 xstate_bv = (u64 *)(xsave + 512); in test_ptrace_modifies_pkru() 1574 memset(xsave, 0xCC, xsave_size); in test_ptrace_modifies_pkru() 1588 memset(xsave, 0xCC, xsave_size); in test_ptrace_modifies_pkru() [all …]
|
| /linux/tools/testing/selftests/kvm/include/x86/ |
| H A D | processor.h | 414 struct kvm_xsave *xsave; 902 struct kvm_xsave *xsave) in vcpu_debugregs_get() 904 vcpu_ioctl(vcpu, KVM_GET_XSAVE, xsave); in vcpu_debugregs_set() 907 struct kvm_xsave *xsave) in vcpu_debugregs_set() 909 vcpu_ioctl(vcpu, KVM_GET_XSAVE2, xsave); in vcpu_xsave_get() argument 912 struct kvm_xsave *xsave) in vcpu_xsave_get() 914 vcpu_ioctl(vcpu, KVM_SET_XSAVE, xsave); in vcpu_xsave2_get() argument 423 struct kvm_xsave *xsave; global() member 919 vcpu_xsave_set(struct kvm_vcpu * vcpu,struct kvm_xsave * xsave) vcpu_xsave_set() argument
|
| /linux/tools/testing/selftests/kvm/lib/x86/ |
| H A D | processor.c | 1213 state->xsave = malloc(size); in get_cpuid_entry() 1214 vcpu_xsave2_get(vcpu, state->xsave); in get_cpuid_entry() 1216 state->xsave = malloc(sizeof(struct kvm_xsave)); in get_cpuid_entry() 1217 vcpu_xsave_get(vcpu, state->xsave); in get_cpuid_entry() 1286 vcpu_xsave_set(vcpu, state->xsave); in vm_compute_max_gfn() 1298 free(state->xsave); in vm_compute_max_gfn()
|
| /linux/tools/testing/selftests/x86/ |
| H A D | xstate.h | 78 static inline void xsave(struct xsave_buffer *xbuf, uint64_t rfbm) in xsave() function
|
| /linux/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/lib/zstd/common/ |
| H A D | cpu.h | 123 C(xsave, 26)
|
| /linux/arch/x86/kvm/svm/ |
| H A D | sev.c | 880 struct xregs_state *xsave; in sev_es_sync_vmsa() local 931 xsave = &vcpu->arch.guest_fpu.fpstate->regs.xsave; in sev_es_sync_vmsa() 932 save->x87_dp = xsave->i387.rdp; in sev_es_sync_vmsa() 933 save->mxcsr = xsave->i387.mxcsr; in sev_es_sync_vmsa() 934 save->x87_ftw = xsave->i387.twd; in sev_es_sync_vmsa() 935 save->x87_fsw = xsave->i387.swd; in sev_es_sync_vmsa() 936 save->x87_fcw = xsave->i387.cwd; in sev_es_sync_vmsa() 937 save->x87_fop = xsave->i387.fop; in sev_es_sync_vmsa() 940 save->x87_rip = xsave->i387.rip; in sev_es_sync_vmsa() 950 s = ((u8 *)xsave->i387.st_space) + i * 16; in sev_es_sync_vmsa() [all …]
|
| /linux/drivers/hv/ |
| H A D | mshv_root_main.c | 783 &state_data.xsave.states.as_uint64); in mshv_vp_ioctl_get_set_state() 794 state_data.xsave.flags = 0; in mshv_vp_ioctl_get_set_state() 796 state_data.xsave.states.legacy_x87 = 1; in mshv_vp_ioctl_get_set_state() 797 state_data.xsave.states.legacy_sse = 1; in mshv_vp_ioctl_get_set_state()
|
| /linux/include/hyperv/ |
| H A D | hvhdk.h | 729 struct hv_vp_state_data_xsave xsave; member
|
| /linux/arch/x86/kvm/ |
| H A D | x86.c | 5836 xstate->xsave.header.xfeatures &= ~vcpu->arch.guest_fpu.fpstate->xfd; in kvm_vcpu_ioctl_x86_set_xsave() 6198 struct kvm_xsave *xsave; in kvm_arch_vcpu_ioctl() member 6413 u.xsave = kzalloc_obj(struct kvm_xsave); in kvm_arch_vcpu_ioctl() 6415 if (!u.xsave) in kvm_arch_vcpu_ioctl() 6418 r = kvm_vcpu_ioctl_x86_get_xsave(vcpu, u.xsave); in kvm_arch_vcpu_ioctl() 6423 if (copy_to_user(argp, u.xsave, sizeof(struct kvm_xsave))) in kvm_arch_vcpu_ioctl() 6431 u.xsave = memdup_user(argp, size); in kvm_arch_vcpu_ioctl() 6432 if (IS_ERR(u.xsave)) { in kvm_arch_vcpu_ioctl() 6433 r = PTR_ERR(u.xsave); in kvm_arch_vcpu_ioctl() 6437 r = kvm_vcpu_ioctl_x86_set_xsave(vcpu, u.xsave); in kvm_arch_vcpu_ioctl() [all …]
|
| /linux/arch/x86/events/ |
| H A D | perf_event.h | 1080 struct xregs_state xsave; member
|
| /linux/tools/arch/x86/kcpuid/ |
| H A D | cpuid.csv | 58 0x1, 0, ecx, 26, xsave , XSAVE (and related instructions) support
|
| /linux/Documentation/admin-guide/ |
| H A D | kernel-parameters.txt | 4728 and restore using xsave. The kernel will fallback to 4733 xsave to save the states. By using this parameter, 4735 xsave doesn't support modified optimization while 4740 form of xsave area. The kernel will fall back to use 4742 in standard form of xsave area. By using this 4743 parameter, xsave area per process might occupy more
|