11 #include <asm/uaccess.h>
14 #include <asm/exceptions.h>
16 #ifdef CONFIG_LAZY_SAVE_FPU
45 if (!is_using_fpu(tsk))
47 " but the FPU is not in use",
52 info.si_addr = (
void *) tsk->
thread.uregs->pc;
57 fpcr = tsk->
thread.fpu_state.fpcr;
61 else if (fpcr & FPCR_EC_O)
63 else if (fpcr & FPCR_EC_U)
65 else if (fpcr & FPCR_EC_I)
78 if (!is_using_fpu(tsk))
87 #ifndef CONFIG_LAZY_SAVE_FPU
90 tsk->
thread.uregs->epsw &= ~EPSW_FE;
94 if (fpu_state_owner == tsk) {
96 fpu_state_owner->
thread.uregs->epsw &= ~EPSW_FE;
97 fpu_state_owner =
NULL;
104 clear_using_fpu(tsk);
110 sizeof(
struct fpucontext))))
124 #ifndef CONFIG_LAZY_SAVE_FPU
126 tsk->
thread.uregs->epsw &= ~EPSW_FE;
130 if (fpu_state_owner == tsk) {
131 fpu_state_owner->
thread.uregs->epsw &= ~EPSW_FE;
132 fpu_state_owner =
NULL;
139 clear_using_fpu(tsk);
153 sizeof(
struct fpucontext)));
168 fpvalid = is_using_fpu(tsk);