| /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 | 115 struct kvm_xsave __attribute__((aligned(64))) xsave = { 0 }; in test_sync_vmsa() local 129 : "=m"(xsave) in test_sync_vmsa() 130 : "A"(XFEATURE_MASK_X87_AVX), "r"(&xsave), "m" (x87val) in test_sync_vmsa() 132 vcpu_xsave_set(vcpu, &xsave); in test_sync_vmsa() 148 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; member 925 struct kvm_xsave *xsave) in vcpu_xsave_get() argument 927 vcpu_ioctl(vcpu, KVM_GET_XSAVE, xsave); in vcpu_xsave_get() 930 struct kvm_xsave *xsave) in vcpu_xsave2_get() argument 932 vcpu_ioctl(vcpu, KVM_GET_XSAVE2, xsave); in vcpu_xsave2_get() 935 struct kvm_xsave *xsave) in vcpu_xsave_set() argument 937 vcpu_ioctl(vcpu, KVM_SET_XSAVE, xsave); in vcpu_xsave_set()
|
| /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/tools/testing/selftests/kvm/lib/x86/ |
| H A D | processor.c | 1214 state->xsave = malloc(size); in vcpu_save_xsave_state() 1215 vcpu_xsave2_get(vcpu, state->xsave); in vcpu_save_xsave_state() 1217 state->xsave = malloc(sizeof(struct kvm_xsave)); in vcpu_save_xsave_state() 1218 vcpu_xsave_get(vcpu, state->xsave); in vcpu_save_xsave_state() 1287 vcpu_xsave_set(vcpu, state->xsave); in vcpu_load_state() 1299 free(state->xsave); in kvm_x86_state_cleanup()
|
| /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 | 791 &state_data.xsave.states.as_uint64); in mshv_vp_ioctl_get_set_state() 802 state_data.xsave.flags = 0; in mshv_vp_ioctl_get_set_state() 804 state_data.xsave.states.legacy_x87 = 1; in mshv_vp_ioctl_get_set_state() 805 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 | 5835 xstate->xsave.header.xfeatures &= ~vcpu->arch.guest_fpu.fpstate->xfd; in kvm_vcpu_ioctl_x86_set_xsave() 6197 struct kvm_xsave *xsave; in kvm_arch_vcpu_ioctl() member 6412 u.xsave = kzalloc_obj(struct kvm_xsave); in kvm_arch_vcpu_ioctl() 6414 if (!u.xsave) in kvm_arch_vcpu_ioctl() 6417 r = kvm_vcpu_ioctl_x86_get_xsave(vcpu, u.xsave); in kvm_arch_vcpu_ioctl() 6422 if (copy_to_user(argp, u.xsave, sizeof(struct kvm_xsave))) in kvm_arch_vcpu_ioctl() 6430 u.xsave = memdup_user(argp, size); in kvm_arch_vcpu_ioctl() 6431 if (IS_ERR(u.xsave)) { in kvm_arch_vcpu_ioctl() 6432 r = PTR_ERR(u.xsave); in kvm_arch_vcpu_ioctl() 6436 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 | 4729 and restore using xsave. The kernel will fallback to 4734 xsave to save the states. By using this parameter, 4736 xsave doesn't support modified optimization while 4741 form of xsave area. The kernel will fall back to use 4743 in standard form of xsave area. By using this 4744 parameter, xsave area per process might occupy more
|
| /linux/Documentation/virt/kvm/ |
| H A D | api.rst | 1675 This ioctl would copy current vcpu's xsave struct to the userspace. 1695 This ioctl would copy userspace's xsave struct to the kernel. It copies 6121 This ioctl would copy current vcpu's xsave struct to the userspace. It
|