File tree Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Expand file tree Collapse file tree 1 file changed +10
-1
lines changed Original file line number Diff line number Diff line change 6464 LDR R1 , [ R2 ]
6565 PUSH {R1}
6666
67+ #ifdef __ARM_FP
6768 / * Does the task have a floating point context th at needs saving? If
6869 ulPortTaskHasFPUContext is 0 then no. * /
6970 LDR R2 , ulPortTaskHasFPUContextConst
7879
7980 / * Save ulPortTaskHasFPUContext itself. * /
8081 PUSH {R3}
82+ #endif / * __ARM_FP * /
8183
8284 / * Save the stack pointer in the TCB. * /
8385 LDR R0 , pxCurrentTCBConst
9597 LDR R1 , [ R0 ]
9698 LDR SP , [ R1 ]
9799
100+ #ifdef __ARM_FP
98101 / * Is there a floating point context to restore? If the restored
99102 ulPortTaskHasFPUContext is zero then no. * /
100103 LDR R0 , ulPortTaskHasFPUContextConst
107110 / * VPOPNE {D16 - D31} * /
108111 VPOPNE {D0 - D15}
109112 VMSRNE FPSCR , R0
113+ #endif / * __ARM_FP * /
110114
111115 / * Restore the critical section nesting depth. * /
112116 LDR R0 , ulCriticalNestingConst
@@ -279,22 +283,27 @@ switch_before_exit:
279283 * FPU registers to be saved on interrupt entry their IRQ handler must be
280284 * called vApplicationIRQHandler().
281285 ***************************************************************************** /
282-
283286. align 4
284287.weak vApplicationIRQHandler
285288.type vApplicationIRQHandler , %function
286289vApplicationIRQHandler:
290+
287291 PUSH {LR}
292+
293+ #ifdef __ARM_FP
288294 FMRX R1 , FPSCR
289295 VPUSH {D0 - D15}
290296 PUSH {R1}
297+ #endif / * __ARM_FP * /
291298
292299 LDR r1 , vApplicationFPUSafeIRQHandlerConst
293300 BLX r1
294301
302+ #ifdef __ARM_FP
295303 POP {R0}
296304 VPOP {D0 - D15}
297305 VMSR FPSCR , R0
306+ #endif / * __ARM_FP * /
298307
299308 POP {PC}
300309
You can’t perform that action at this time.
0 commit comments