summaryrefslogtreecommitdiff
path: root/libcpu/arm
diff options
context:
space:
mode:
authorweety <[email protected]>2013-04-02 20:23:11 +0800
committerweety <[email protected]>2013-04-02 20:23:11 +0800
commit92d4c1939b6e68975698f751e617f6c46c7bb95e (patch)
tree36cc5f8d4051fa1b7155e1711c4cb2f73f306e82 /libcpu/arm
parent77591fd6d2763a8106b7711615e60d39b3a76bc3 (diff)
fixed at91sam9260 context thread issue, avoid idle thread stack overflow
Diffstat (limited to 'libcpu/arm')
-rwxr-xr-xlibcpu/arm/at91sam926x/context_gcc.S4
1 files changed, 2 insertions, 2 deletions
diff --git a/libcpu/arm/at91sam926x/context_gcc.S b/libcpu/arm/at91sam926x/context_gcc.S
index e53e1260dd..30d8235331 100755
--- a/libcpu/arm/at91sam926x/context_gcc.S
+++ b/libcpu/arm/at91sam926x/context_gcc.S
@@ -59,9 +59,9 @@ rt_hw_context_switch:
ldmfd sp!, {r4} @ pop new task spsr
msr spsr_cxsf, r4
ldmfd sp!, {r4} @ pop new task cpsr
- msr cpsr_cxsf, r4
+ msr spsr_cxsf, r4
- ldmfd sp!, {r0-r12, lr, pc} @ pop new task r0-r12, lr & pc
+ ldmfd sp!, {r0-r12, lr, pc}^ @ pop new task r0-r12, lr & pc
/*
* void rt_hw_context_switch_to(rt_uint32 to);