Merge branch '4.1-fp' into mips-for-linux-next
This commit is contained in:
@@ -48,6 +48,12 @@ enum fpu_mode {
|
||||
#define FPU_FR_MASK 0x1
|
||||
};
|
||||
|
||||
#define __disable_fpu() \
|
||||
do { \
|
||||
clear_c0_status(ST0_CU1); \
|
||||
disable_fpu_hazard(); \
|
||||
} while (0)
|
||||
|
||||
static inline int __enable_fpu(enum fpu_mode mode)
|
||||
{
|
||||
int fr;
|
||||
@@ -86,7 +92,12 @@ fr_common:
|
||||
enable_fpu_hazard();
|
||||
|
||||
/* check FR has the desired value */
|
||||
return (!!(read_c0_status() & ST0_FR) == !!fr) ? 0 : SIGFPE;
|
||||
if (!!(read_c0_status() & ST0_FR) == !!fr)
|
||||
return 0;
|
||||
|
||||
/* unsupported FR value */
|
||||
__disable_fpu();
|
||||
return SIGFPE;
|
||||
|
||||
default:
|
||||
BUG();
|
||||
@@ -95,12 +106,6 @@ fr_common:
|
||||
return SIGFPE;
|
||||
}
|
||||
|
||||
#define __disable_fpu() \
|
||||
do { \
|
||||
clear_c0_status(ST0_CU1); \
|
||||
disable_fpu_hazard(); \
|
||||
} while (0)
|
||||
|
||||
#define clear_fpu_owner() clear_thread_flag(TIF_USEDFPU)
|
||||
|
||||
static inline int __is_fpu_owner(void)
|
||||
@@ -170,6 +175,7 @@ static inline void lose_fpu(int save)
|
||||
}
|
||||
disable_msa();
|
||||
clear_thread_flag(TIF_USEDMSA);
|
||||
__disable_fpu();
|
||||
} else if (is_fpu_owner()) {
|
||||
if (save)
|
||||
_save_fp(current);
|
||||
|
Reference in New Issue
Block a user