Lines Matching refs:fpu

2138 fpu_proc_xregs_initial_state(const fpu_ctx_t *fpu, uint64_t feats)  in fpu_proc_xregs_initial_state()  argument
2140 const struct xsave_state *xs = fpu->fpu_regs.kfpu_u.kfpu_xs; in fpu_proc_xregs_initial_state()
2142 if ((fpu->fpu_flags & (FPU_EN | FPU_VALID)) == 0) { in fpu_proc_xregs_initial_state()
2150 fpu_proc_xregs_xcr_fill(const fpu_ctx_t *fpu, const xsave_proc_info_t *info, in fpu_proc_xregs_xcr_fill() argument
2166 fpu_proc_xregs_xsave_fill(const fpu_ctx_t *fpu, const xsave_proc_info_t *info, in fpu_proc_xregs_xsave_fill() argument
2170 const struct xsave_state *xsave = fpu->fpu_regs.kfpu_u.kfpu_xs; in fpu_proc_xregs_xsave_fill()
2183 if ((fpu->fpu_flags & FPU_EN) == 0) { in fpu_proc_xregs_xsave_fill()
2207 fpu_proc_xregs_std_fill(const fpu_ctx_t *fpu, const xsave_proc_info_t *info, in fpu_proc_xregs_std_fill() argument
2210 if (!fpu_proc_xregs_initial_state(fpu, info->xi_bits)) { in fpu_proc_xregs_std_fill()
2216 xsave_off = (void *)((uintptr_t)fpu->fpu_regs.kfpu_u.kfpu_xs + in fpu_proc_xregs_std_fill()
2333 fpu_proc_xregs_xsave_set(fpu_ctx_t *fpu, const xsave_proc_info_t *info, in fpu_proc_xregs_xsave_set() argument
2337 struct xsave_state *targ_xs = fpu->fpu_regs.kfpu_u.kfpu_xs; in fpu_proc_xregs_xsave_set()
2352 fpu_proc_xregs_std_set(fpu_ctx_t *fpu, const xsave_proc_info_t *info, in fpu_proc_xregs_std_set() argument
2359 xsave_off = (void *)((uintptr_t)fpu->fpu_regs.kfpu_u.kfpu_xs + in fpu_proc_xregs_std_set()
2637 fpu_ctx_t *fpu = &lwp->lwp_pcb.pcb_fpu; in fpu_proc_xregs_get() local
2650 if ((fpu->fpu_flags & (FPU_EN | FPU_VALID)) == FPU_EN) { in fpu_proc_xregs_get()
2663 fp_save(fpu); in fpu_proc_xregs_get()
2696 fpu_xsave_info[i].xi_fill(fpu, &fpu_xsave_info[i], startp); in fpu_proc_xregs_get()
2730 fpu_ctx_t *fpu = &lwp->lwp_pcb.pcb_fpu; in fpu_proc_xregs_set() local
2801 if ((fpu->fpu_flags & (FPU_EN | FPU_VALID)) == FPU_EN) { in fpu_proc_xregs_set()
2814 fp_free(fpu); in fpu_proc_xregs_set()
2853 fpu_xsave_info[pt].xi_set(fpu, &fpu_xsave_info[pt], in fpu_proc_xregs_set()
2902 struct fpu_ctx *fpu = &lwp->lwp_pcb.pcb_fpu; in fpu_signal_copyout() local
2909 VERIFY3U(fpu->fpu_flags & FPU_EN, ==, FPU_EN); in fpu_signal_copyout()
2921 fp_save(fpu); in fpu_signal_copyout()
2927 xs_bv = fpu->fpu_regs.kfpu_u.kfpu_xs->xs_header.xsh_xstate_bv; in fpu_signal_copyout()
2973 void *fpu; in fpu_signal_copyin() local
3039 fpu = lwp->lwp_pcb.pcb_fpu.fpu_signal; in fpu_signal_copyin()
3049 bzero(fpu, ksize); in fpu_signal_copyin()
3060 ret = info->xi_signal_in(info, kuc, &ucx, fpu, &data, max_data); in fpu_signal_copyin()
3073 kuc->uc_xsave = (uintptr_t)fpu; in fpu_signal_copyin()
3085 struct fpu_ctx *fpu = &lwp->lwp_pcb.pcb_fpu; in fpu_signal_size() local
3091 VERIFY3U(fpu->fpu_flags & FPU_EN, ==, FPU_EN); in fpu_signal_size()
3098 if ((fpu->fpu_flags & (FPU_EN | FPU_VALID)) == FPU_EN) { in fpu_signal_size()
3099 fp_save(fpu); in fpu_signal_size()
3102 xs_bv = fpu->fpu_regs.kfpu_u.kfpu_xs->xs_header.xsh_xstate_bv; in fpu_signal_size()
3139 struct fpu_ctx *fpu = &lwp->lwp_pcb.pcb_fpu; in fpu_set_xsave() local
3146 ASSERT3U(fpu->fpu_flags & FPU_EN, ==, FPU_EN); in fpu_set_xsave()
3163 if ((fpu->fpu_flags & (FPU_EN | FPU_VALID)) == FPU_EN) { in fpu_set_xsave()
3164 fp_save(fpu); in fpu_set_xsave()
3182 fpu->fpu_regs.kfpu_status = status; in fpu_set_xsave()
3183 fpu->fpu_regs.kfpu_xstatus = xstatus; in fpu_set_xsave()
3185 fpu->fpu_flags |= FPU_VALID; in fpu_set_xsave()
3202 struct fpu_ctx *fpu = &lwp->lwp_pcb.pcb_fpu; in fpu_get_fpregset() local
3205 fp->fp_reg_set.fpchip_state.status = fpu->fpu_regs.kfpu_status; in fpu_get_fpregset()
3206 fp->fp_reg_set.fpchip_state.xstatus = fpu->fpu_regs.kfpu_xstatus; in fpu_get_fpregset()
3208 if ((fpu->fpu_flags & (FPU_EN | FPU_VALID)) == FPU_EN) { in fpu_get_fpregset()
3220 fp_save(fpu); in fpu_get_fpregset()
3228 if ((fpu->fpu_flags & (FPU_EN | FPU_VALID)) == 0) { in fpu_get_fpregset()
3243 bcopy(fpu->fpu_regs.kfpu_u.kfpu_fx, fp, in fpu_get_fpregset()
3247 fpu_xsave_to_fxsave(fpu->fpu_regs.kfpu_u.kfpu_xs, in fpu_get_fpregset()
3265 struct fpu_ctx *fpu = &lwp->lwp_pcb.pcb_fpu; in fpu_set_fpregset() local
3268 if ((fpu->fpu_flags & (FPU_EN | FPU_VALID)) == FPU_EN) { in fpu_set_fpregset()
3278 fp_save(fpu); in fpu_set_fpregset()
3281 fpu->fpu_regs.kfpu_xstatus = fp->fp_reg_set.fpchip_state.xstatus; in fpu_set_fpregset()
3282 fpu->fpu_regs.kfpu_status = fp->fp_reg_set.fpchip_state.status; in fpu_set_fpregset()
3285 bcopy(fp, fpu->fpu_regs.kfpu_u.kfpu_fx, in fpu_set_fpregset()
3289 bcopy(fp, fpu->fpu_regs.kfpu_u.kfpu_xs, in fpu_set_fpregset()
3291 fpu->fpu_regs.kfpu_u.kfpu_xs->xs_header.xsh_xstate_bv |= in fpu_set_fpregset()
3298 fpu->fpu_flags |= FPU_VALID; in fpu_set_fpregset()