Home
last modified time | relevance | path

Searched refs:savefpu (Results 1 – 24 of 24) sorted by relevance

/freebsd/sys/i386/i386/
H A Dptrace_machdep.c97 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 Dnpx.c132 #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 Dvm_machdep.c87 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 Dexec_machdep.c411 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 Dsys_machdep.c265 sizeof(union savefpu)) in sysarch()
/freebsd/sys/amd64/amd64/
H A Dptrace_machdep.c157 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 Dfpu.c142 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 Dexec_machdep.c286 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 Dvm_machdep.c92 struct savefpu *
109 struct savefpu *
H A Dsys_machdep.c348 sizeof(struct savefpu)) in sysarch()
H A Dmachdep.c1517 cpu_max_ext_state_size = sizeof(struct savefpu); in hammer_time()
/freebsd/sys/i386/include/
H A Dnpx.h59 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 Dmd_var.h53 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 Dpcb.h95 union savefpu *pcb_save;
/freebsd/sys/amd64/include/
H A Dfpu.h62 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 Dmd_var.h60 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 Dpcb.h105 struct savefpu *pcb_save;
/freebsd/sys/amd64/linux/
H A Dlinux_sysvec.c279 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 Dfpu.h123 union savefpu { union
129 struct savefpu { struct
/freebsd/sys/amd64/ia32/
H A Dia32_signal.c107 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 Dia32_reg.c138 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 Dgetcontextx.c46 typedef struct savefpu savex86_t;
/freebsd/tools/test/stress2/misc/
H A Dpkru.sh465 rpku_offset -= sizeof(union savefpu);
467 rpku_offset -= sizeof(struct savefpu);
/freebsd/sys/amd64/vmm/
H A Dvmm.c119 struct savefpu *guestfpu; /* (a,i) guest fpu state */