/freebsd/sys/i386/i386/ |
H A D | ptrace_machdep.c | 97 char *savefpu; in cpu_ptrace_xstate() local 106 savefpu = (char *)(get_pcb_user_save_td(td) + 1); in cpu_ptrace_xstate() 107 error = copyout(savefpu, addr, in cpu_ptrace_xstate() 108 cpu_max_ext_state_size - sizeof(union savefpu)); in cpu_ptrace_xstate() 112 if (data > cpu_max_ext_state_size - sizeof(union savefpu)) { in cpu_ptrace_xstate() 116 savefpu = malloc(data, M_TEMP, M_WAITOK); in cpu_ptrace_xstate() 117 error = copyin(addr, savefpu, data); in cpu_ptrace_xstate() 120 error = npxsetxstate(td, savefpu, data); in cpu_ptrace_xstate() 122 free(savefpu, M_TEMP); in cpu_ptrace_xstate() 137 savefpu = (char *)(get_pcb_user_save_td(td)); in cpu_ptrace_xstate() [all …]
|
H A D | npx.c | 132 #define SET_FPU_CW(savefpu, value) do { \ argument 134 (savefpu)->sv_xmm.sv_env.en_cw = (value); \ 136 (savefpu)->sv_87.sv_env.en_cw = (value); \ 139 CTASSERT(sizeof(union savefpu) == 512); 159 static void fpurstor(union savefpu *); 175 static union savefpu *npx_initialstate; 289 fpusave_xsaveopt(union savefpu *addr) in fpusave_xsaveopt() 296 fpusave_xsave(union savefpu *addr) in fpusave_xsave() 303 fpusave_fxsave(union savefpu *addr) in fpusave_fxsave() 310 fpusave_fnsave(union savefpu *addr) in fpusave_fnsave() [all …]
|
H A D | vm_machdep.c | 87 union savefpu * 95 return ((union savefpu *)p); in get_pcb_user_save_td() 98 union savefpu * 104 return ((union savefpu *)p); in get_pcb_user_save_pcb()
|
H A D | exec_machdep.c | 411 if (cpu_max_ext_state_size > sizeof(union savefpu) && use_xsave) { in sendsig() 412 xfpusave_len = cpu_max_ext_state_size - sizeof(union savefpu); in sendsig() 848 sizeof(union savefpu)) { in sys_sigreturn() 1175 sizeof(union savefpu)) in set_mcontext() 1217 max_len = cpu_max_ext_state_size - sizeof(union savefpu); in get_fpcontext() 1245 error = npxsetregs(td, (union savefpu *)&mcp->mc_fpstate, in set_fpcontext()
|
H A D | sys_machdep.c | 265 sizeof(union savefpu)) in sysarch()
|
/freebsd/sys/amd64/amd64/ |
H A D | ptrace_machdep.c | 157 char *savefpu; in cpu_ptrace_xstate() local 166 savefpu = (char *)(get_pcb_user_save_td(td) + 1); in cpu_ptrace_xstate() 167 error = copyout(savefpu, addr, in cpu_ptrace_xstate() 168 cpu_max_ext_state_size - sizeof(struct savefpu)); in cpu_ptrace_xstate() 172 if (data > cpu_max_ext_state_size - sizeof(struct savefpu)) { in cpu_ptrace_xstate() 176 savefpu = malloc(data, M_TEMP, M_WAITOK); in cpu_ptrace_xstate() 177 error = copyin(addr, savefpu, data); in cpu_ptrace_xstate() 180 error = fpusetxstate(td, savefpu, data); in cpu_ptrace_xstate() 182 free(savefpu, M_TEMP); in cpu_ptrace_xstate() 212 savefpu = (char *)(get_pcb_user_save_td(td)); in cpu_ptrace_xstate() [all …]
|
H A D | fpu.c | 142 CTASSERT(sizeof(struct savefpu) == 512); 157 CTASSERT(X86_XSTATE_XCR0_OFFSET >= offsetof(struct savefpu, sv_pad) && 158 X86_XSTATE_XCR0_OFFSET + sizeof(uint64_t) <= sizeof(struct savefpu)); 170 static struct savefpu *fpu_initialstate; 349 cpu_max_ext_state_size = sizeof(struct savefpu); in fpuinit_bsp2() 702 struct savefpu *pcb_save; in fputrap_x87() 861 struct savefpu *s; in fpugetregs() 888 xstate_bv = (uint64_t *)(sa + sizeof(struct savefpu) + in fpugetregs() 904 s = (struct savefpu *)sa; in fpugetregs() 954 max_len = cpu_max_ext_state_size - sizeof(struct savefpu); in fpusetxstate() [all …]
|
H A D | exec_machdep.c | 286 sizeof(struct savefpu)) { in sys_sigreturn() 295 fpu_save_area_free((struct savefpu *)xfpustate); in sys_sigreturn() 306 fpu_save_area_free((struct savefpu *)xfpustate); in sys_sigreturn() 503 fill_fpregs_xmm(struct savefpu *sv_xmm, struct fpreg *fpregs) in fill_fpregs_xmm() 533 set_fpregs_xmm(struct fpreg *fpregs, struct savefpu *sv_xmm) in set_fpregs_xmm() 664 sizeof(struct savefpu)) in set_mcontext() 670 fpu_save_area_free((struct savefpu *)xfpustate); in set_mcontext() 676 fpu_save_area_free((struct savefpu *)xfpustate); in set_mcontext() 723 if (!use_xsave || cpu_max_ext_state_size <= sizeof(struct savefpu)) { in get_fpcontext() 729 cpu_max_ext_state_size - sizeof(struct savefpu); in get_fpcontext() [all …]
|
H A D | vm_machdep.c | 92 struct savefpu * 109 struct savefpu *
|
H A D | sys_machdep.c | 348 sizeof(struct savefpu)) in sysarch()
|
H A D | machdep.c | 1517 cpu_max_ext_state_size = sizeof(struct savefpu); in hammer_time()
|
/freebsd/sys/i386/include/ |
H A D | npx.h | 59 void npxresume(union savefpu *addr); 60 void npxsave(union savefpu *addr); 61 int npxsetregs(struct thread *td, union savefpu *addr, 65 void npxsuspend(union savefpu *addr); 82 union savefpu *fpu_save_area_alloc(void); 83 void fpu_save_area_free(union savefpu *fsa); 84 void fpu_save_area_reset(union savefpu *fsa);
|
H A D | md_var.h | 53 union savefpu; 80 union savefpu *get_pcb_user_save_td(struct thread *td); 81 union savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
|
H A D | pcb.h | 95 union savefpu *pcb_save;
|
/freebsd/sys/amd64/include/ |
H A D | fpu.h | 62 int fpusetregs(struct thread *td, struct savefpu *addr, 79 struct savefpu *fpu_save_area_alloc(void); 80 void fpu_save_area_free(struct savefpu *fsa); 81 void fpu_save_area_reset(struct savefpu *fsa);
|
H A D | md_var.h | 60 struct savefpu; 93 struct savefpu *get_pcb_user_save_td(struct thread *td); 94 struct savefpu *get_pcb_user_save_pcb(struct pcb *pcb);
|
H A D | pcb.h | 105 struct savefpu *pcb_save;
|
/freebsd/sys/amd64/linux/ |
H A D | linux_sysvec.c | 279 struct savefpu *fp = (struct savefpu *)&mcp->mc_fpstate[0]; in linux_fxrstor() 292 struct savefpu *fp = (struct savefpu *)&mcp->mc_fpstate[0]; in linux_xrstor() 299 mcp->mc_xfpustate_len = cpu_max_ext_state_size - sizeof(struct savefpu); in linux_xrstor() 312 fpu_save_area_free((struct savefpu *)xfpustate); in linux_xrstor() 322 fpu_save_area_free((struct savefpu *)xfpustate); in linux_xrstor() 329 fpu_save_area_free((struct savefpu *)xfpustate); in linux_xrstor()
|
/freebsd/sys/x86/include/ |
H A D | fpu.h | 123 union savefpu { union 129 struct savefpu { struct
|
/freebsd/sys/amd64/ia32/ |
H A D | ia32_signal.c | 107 if (!use_xsave || cpu_max_ext_state_size <= sizeof(struct savefpu)) { in ia32_get_fpcontext() 113 cpu_max_ext_state_size - sizeof(struct savefpu); in ia32_get_fpcontext() 134 error = fpusetregs(td, (struct savefpu *)&mcp->mc_fpstate, in ia32_set_fpcontext() 212 sizeof(struct savefpu)) in ia32_set_mcontext() 218 fpu_save_area_free((struct savefpu *)xfpustate); in ia32_set_mcontext() 224 fpu_save_area_free((struct savefpu *)xfpustate); in ia32_set_mcontext() 865 sizeof(struct savefpu)) { in freebsd32_sigreturn() 874 fpu_save_area_free((struct savefpu *)xfpustate); in freebsd32_sigreturn() 886 fpu_save_area_free((struct savefpu *)xfpustate); in freebsd32_sigreturn()
|
H A D | ia32_reg.c | 138 struct savefpu *sv_fpu; in fill_fpregs32() 214 struct savefpu *sv_fpu = get_pcb_user_save_td(td); in set_fpregs32()
|
/freebsd/lib/libc/x86/gen/ |
H A D | getcontextx.c | 46 typedef struct savefpu savex86_t;
|
/freebsd/tools/test/stress2/misc/ |
H A D | pkru.sh | 465 rpku_offset -= sizeof(union savefpu); 467 rpku_offset -= sizeof(struct savefpu);
|
/freebsd/sys/amd64/vmm/ |
H A D | vmm.c | 119 struct savefpu *guestfpu; /* (a,i) guest fpu state */
|