diff options
| author | michael <[email protected]> | 2020-08-25 11:52:07 +0800 |
|---|---|---|
| committer | michael <[email protected]> | 2020-08-25 11:52:07 +0800 |
| commit | 3d0bdf4bb65bcb676b120ae273c8c28e7f52b911 (patch) | |
| tree | f9a216e91d347966a571371cdf7229b6d16e2728 /libcpu/mips/common | |
| parent | bb20c33f1391be8bcca57e65c8005588e2b6d968 (diff) | |
MIPS:improvement FPU support
Diffstat (limited to 'libcpu/mips/common')
| -rw-r--r-- | libcpu/mips/common/stackframe.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/libcpu/mips/common/stackframe.h b/libcpu/mips/common/stackframe.h index 258f9a994f..4f1157aebf 100644 --- a/libcpu/mips/common/stackframe.h +++ b/libcpu/mips/common/stackframe.h @@ -22,7 +22,9 @@ #ifdef RT_USING_FPU /* Ensure CU1 (FPU) is enabled */ MFC0 v1, CP0_STATUS - ori v1, ST0_CU1 + lui t1, %hi(ST0_CU1) + addiu t1, t1, %lo(ST0_CU1) + or v1, v1, t1 MTC0 v1, CP0_STATUS SSNOP cfc1 v1, fcr31 @@ -125,11 +127,13 @@ #ifdef RT_USING_FPU /* Ensure CU1 (FPU) is enabled */ MFC0 v1, CP0_STATUS - ori v1, ST0_CU1 + lui t1, %hi(ST0_CU1) + addiu t1, t1, %lo(ST0_CU1) + or v1, v1, t1 MTC0 v1, CP0_STATUS SSNOP LONG_L v1, PT_FPU_FCSR31(sp) - ctc1 v1, fcsr31 + ctc1 v1, fcr31 l.d $f0, PT_FPU_R0(sp) l.d $f2, PT_FPU_R2(sp) l.d $f4, PT_FPU_R4(sp) |
