Fix error in almost all ARMv7-M interrupt stack handling
This commit is contained in:
parent
f5d015d8a2
commit
f7ca98c5ae
@ -198,9 +198,9 @@ exception_common:
|
||||
*/
|
||||
|
||||
ldr sp, =g_intstackbase
|
||||
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save (msp) */
|
||||
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
|
||||
push {r1} /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save area on stack */
|
||||
pop {r1} /* Recover R1=main stack pointer */
|
||||
|
||||
#else
|
||||
/* Otherwise, we will re-use the interrupted thread's stack. That may
|
||||
|
@ -877,9 +877,9 @@ exception_common:
|
||||
*/
|
||||
|
||||
ldr sp, =g_intstackbase
|
||||
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save (msp) */
|
||||
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
|
||||
push {r1} /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save area on stack */
|
||||
pop {r1} /* Recover R1=main stack pointer */
|
||||
|
||||
#else
|
||||
/* Otherwise, we will re-use the interrupted thread's stack. That may
|
||||
|
@ -312,9 +312,9 @@ exception_common:
|
||||
*/
|
||||
|
||||
ldr sp, =g_intstackbase
|
||||
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save (msp) */
|
||||
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
|
||||
push {r1} /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save area on stack */
|
||||
pop {r1} /* Recover R1=main stack pointer */
|
||||
|
||||
#else
|
||||
/* Otherwise, we will re-use the interrupted thread's stack. That may
|
||||
|
@ -325,9 +325,9 @@ exception_common:
|
||||
*/
|
||||
|
||||
ldr sp, =g_intstackbase
|
||||
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save (msp) */
|
||||
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
|
||||
push {r1} /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save area on stack */
|
||||
pop {r1} /* Recover R1=main stack pointer */
|
||||
|
||||
#else
|
||||
/* Otherwise, we will re-use the interrupted thread's stack. That may
|
||||
|
@ -345,9 +345,9 @@ exception_common:
|
||||
*/
|
||||
|
||||
ldr sp, =g_intstackbase
|
||||
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save (msp) */
|
||||
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
|
||||
push {r1} /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save area on stack */
|
||||
pop {r1} /* Recover R1=main stack pointer */
|
||||
|
||||
#else
|
||||
/* Otherwise, we will re-use the interrupted thread's stack. That may
|
||||
|
@ -302,9 +302,9 @@ exception_common:
|
||||
*/
|
||||
|
||||
ldr sp, =g_intstackbase
|
||||
str r1, [sp, #-4]! /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save (msp) */
|
||||
ldr r1, [sp, #+4]! /* Recover R1=main stack pointer */
|
||||
push {r1} /* Save the MSP on the interrupt stack */
|
||||
bl up_doirq /* R0=IRQ, R1=register save area on stack */
|
||||
pop {r1} /* Recover R1=main stack pointer */
|
||||
|
||||
#else
|
||||
/* Otherwise, we will re-use the interrupted thread's stack. That may
|
||||
|
Loading…
x
Reference in New Issue
Block a user