Fixed bug 3187105.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@2744 35acf78f-673a-0410-8e92-d51de3d6d3f4master
parent
690d08a1f9
commit
11af394fec
|
@ -75,7 +75,7 @@ void _port_switch_from_isr(void) {
|
||||||
|
|
||||||
chSchDoRescheduleI();
|
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)
|
interrupts in order to minimize the (very remote and unlikely)
|
||||||
possibility that the stack is filled by continuous and saturating
|
possibility that the stack is filled by continuous and saturating
|
||||||
interrupts that would not allow that last words to be pulled out of
|
interrupts that would not allow that last words to be pulled out of
|
||||||
|
@ -84,8 +84,9 @@ void _port_switch_from_isr(void) {
|
||||||
"mov r12, r1 \n\t"
|
"mov r12, r1 \n\t"
|
||||||
"msr APSR, r0 \n\t"
|
"msr APSR, r0 \n\t"
|
||||||
"mov lr, r2 \n\t"
|
"mov lr, r2 \n\t"
|
||||||
|
"pop {r0, r1, r2, r3} \n\t"
|
||||||
"cpsie i \n\t"
|
"cpsie i \n\t"
|
||||||
"pop {r0, r1, r2, r3, pc}" : : : "memory");
|
"pop {pc}" : : : "memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
#define PUSH_CONTEXT(sp) { \
|
#define PUSH_CONTEXT(sp) { \
|
||||||
|
|
|
@ -96,8 +96,9 @@ _port_switch_from_isr:
|
||||||
mov r12, r1
|
mov r12, r1
|
||||||
msr APSR, r0
|
msr APSR, r0
|
||||||
mov lr, r2
|
mov lr, r2
|
||||||
|
pop {r0, r1, r2, r3}
|
||||||
cpsie i
|
cpsie i
|
||||||
pop {r0, r1, r2, r3, pc}
|
pop {pc}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Reschedule verification and setup after an IRQ.
|
* Reschedule verification and setup after an IRQ.
|
||||||
|
|
|
@ -93,8 +93,9 @@ _port_switch_from_isr PROC
|
||||||
mov r12, r1
|
mov r12, r1
|
||||||
msr APSR, r0
|
msr APSR, r0
|
||||||
mov lr, r2
|
mov lr, r2
|
||||||
|
pop {r0, r1, r2, r3}
|
||||||
cpsie i
|
cpsie i
|
||||||
pop {r0, r1, r2, r3, pc}
|
pop {pc}
|
||||||
ENDP
|
ENDP
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -69,6 +69,8 @@
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
|
|
||||||
*** 2.3.0 ***
|
*** 2.3.0 ***
|
||||||
|
- FIX: Stack overflow in CM0 port when nearing interrupts saturation (bug
|
||||||
|
3187105)(backported to 2.2.1).
|
||||||
- FIX: Error in MAC driver (bug 3179783)(backported to 2.2.1).
|
- FIX: Error in MAC driver (bug 3179783)(backported to 2.2.1).
|
||||||
- FIX: Fixed wrong serial driver macros (bug 3173336)(backported to 2.2.1).
|
- FIX: Fixed wrong serial driver macros (bug 3173336)(backported to 2.2.1).
|
||||||
- NEW: Added experimental generic USB driver, it will evolve in next
|
- NEW: Added experimental generic USB driver, it will evolve in next
|
||||||
|
|
Loading…
Reference in New Issue