|
@@ -145,16 +145,16 @@ switch_to_thread:
|
|
|
|
|
|
MSR psp, r1 /* update stack pointer */
|
|
MSR psp, r1 /* update stack pointer */
|
|
|
|
|
|
-pendsv_exit:
|
|
|
|
- /* restore interrupt */
|
|
|
|
- MSR PRIMASK, r2
|
|
|
|
-
|
|
|
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
|
#if defined (__VFP_FP__) && !defined(__SOFTFP__)
|
|
ORR lr, lr, #0x10 /* lr |= (1 << 4), clean FPCA. */
|
|
ORR lr, lr, #0x10 /* lr |= (1 << 4), clean FPCA. */
|
|
CMP r3, #0 /* if(flag_r3 != 0) */
|
|
CMP r3, #0 /* if(flag_r3 != 0) */
|
|
BICNE lr, lr, #0x10 /* lr &= ~(1 << 4), set FPCA. */
|
|
BICNE lr, lr, #0x10 /* lr &= ~(1 << 4), set FPCA. */
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+pendsv_exit:
|
|
|
|
+ /* restore interrupt */
|
|
|
|
+ MSR PRIMASK, r2
|
|
|
|
+
|
|
ORR lr, lr, #0x04
|
|
ORR lr, lr, #0x04
|
|
BX lr
|
|
BX lr
|
|
|
|
|