Fixed bug 3187105.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_2.2.x@2748 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
5e7184bcdd
commit
430fec9c59
|
@ -40,7 +40,7 @@
|
|||
regarm_t _port_saved_pc;
|
||||
|
||||
/**
|
||||
* @brief IRQ nesting counter.
|
||||
* @brief IRQ nesting counter.
|
||||
*/
|
||||
unsigned _port_irq_nesting;
|
||||
|
||||
|
@ -82,7 +82,7 @@ void _port_switch_from_isr(void) {
|
|||
|
||||
chSchDoRescheduleI();
|
||||
|
||||
/* Note, the last registers are restored alone after re-enabling the
|
||||
/* Note, the last register is restored alone after re-enabling the
|
||||
interrupts in order to minimize the (very remote and unlikely)
|
||||
possibility that the stack is filled by continuous and saturating
|
||||
interrupts that would not allow that last words to be pulled out of
|
||||
|
@ -91,8 +91,9 @@ void _port_switch_from_isr(void) {
|
|||
"mov r12, r1 \n\t"
|
||||
"msr APSR, r0 \n\t"
|
||||
"mov lr, r2 \n\t"
|
||||
"pop {r0, r1, r2, r3} \n\t"
|
||||
"cpsie i \n\t"
|
||||
"pop {r0, r1, r2, r3, pc}" : : : "memory");
|
||||
"pop {pc}" : : : "memory");
|
||||
}
|
||||
|
||||
#define PUSH_CONTEXT(sp) { \
|
||||
|
|
|
@ -103,8 +103,9 @@ _port_switch_from_isr:
|
|||
mov r12, r1
|
||||
msr APSR, r0
|
||||
mov lr, r2
|
||||
pop {r0, r1, r2, r3}
|
||||
cpsie i
|
||||
pop {r0, r1, r2, r3, pc}
|
||||
pop {pc}
|
||||
|
||||
/*
|
||||
* Reschedule verification and setup after an IRQ.
|
||||
|
|
|
@ -100,8 +100,9 @@ _port_switch_from_isr PROC
|
|||
mov r12, r1
|
||||
msr APSR, r0
|
||||
mov lr, r2
|
||||
pop {r0, r1, r2, r3}
|
||||
cpsie i
|
||||
pop {r0, r1, r2, r3, pc}
|
||||
pop {pc}
|
||||
ENDP
|
||||
|
||||
/*
|
||||
|
|
|
@ -69,6 +69,8 @@
|
|||
*****************************************************************************
|
||||
|
||||
*** 2.2.1 ***
|
||||
- FIX: Stack overflow in CM0 ports when nearing interrupts saturation (bug
|
||||
3187105).
|
||||
- FIX: Fixed missing e200z test report (bug 3182611).
|
||||
- FIX: Fixed error in _BSEMAPHORE_DATA macro (bug 3184139).
|
||||
- FIX: Error in MAC driver (bug 3179783).
|
||||
|
|
Loading…
Reference in New Issue