savefpu
struct savefpu *sfp;
KASSERT(fpu_save_len <= sizeof(struct savefpu));
KASSERT(ebx <= sizeof(struct savefpu));
struct savefpu *sfp = &p->p_addr->u_pcb.pcb_savefpu;
copyoutfpu(struct savefpu *sfp, char *sp, size_t len)
if (len > offsetof(struct savefpu, fp_xstate.xstate_bv)) {
sp += offsetof(struct savefpu, fp_xstate.xstate_bv);
len -= offsetof(struct savefpu, fp_xstate.xstate_bv);
struct savefpu *sfp = &p->p_addr->u_pcb.pcb_savefpu;
struct savefpu *sfp = &p->p_addr->u_pcb.pcb_savefpu;
ecx = sizeof(struct savefpu) + sizeof(uint64_t);
ebx = sizeof(struct savefpu); /* offset of area */
xrstors(const struct savefpu *addr, uint64_t mask)
void fpusave(struct savefpu *);
void fpusavereset(struct savefpu *);
int xrstor_user(struct savefpu *_addr, uint64_t _mask);
void xrstor_kern(struct savefpu *_addr, uint64_t _mask);
xsave(struct savefpu *addr, uint64_t mask)
struct savefpu pcb_savefpu; /* floating point state */
struct savefpu vc_g_fpu; /* [v] */
sp -= sizeof(union savefpu);
(void *)sp, sizeof(union savefpu)))
union savefpu *sfp = &p->p_addr->u_pcb.pcb_savefpu;
union savefpu *frame = process_fpframe(p);
union savefpu *frame = process_fpframe(p);
union savefpu *frame = process_fpframe(p);
union savefpu *frame = process_fpframe(p);
static __inline union savefpu *process_fpframe(struct proc *);
static __inline union savefpu *
union savefpu pcb_savefpu; /* floating point state for FPU */
union savefpu *sc_fpstate;
fpu_save(union savefpu *addr)
union savefpu *addr;
union savefpu *addr = &p->p_addr->u_pcb.pcb_savefpu;
union savefpu *sfp;
union savefpu *sfp;