summaryrefslogtreecommitdiff
path: root/libcpu
diff options
context:
space:
mode:
author[email protected] <[email protected]>2012-06-28 14:04:20 +0000
committer[email protected] <[email protected]>2012-06-28 14:04:20 +0000
commit4455768b92400830c5f8629c35959a944de40db9 (patch)
tree3e46e4a1ad82bbc58ac111bdd590432c5f16fe70 /libcpu
parentb440fc981e5d8297e5af83b7cebf70d757dc04fb (diff)
fixed s3c2440a context thread bug,patch contributor
:yuxun2k git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2192 bbd45198-f89e-11dd-88c7-29a3b14d5316
Diffstat (limited to 'libcpu')
-rw-r--r--libcpu/arm/s3c24x0/context_gcc.S4
-rw-r--r--libcpu/arm/s3c24x0/context_rvds.S4
2 files changed, 4 insertions, 4 deletions
diff --git a/libcpu/arm/s3c24x0/context_gcc.S b/libcpu/arm/s3c24x0/context_gcc.S
index bc614aec13..b45053e4cc 100644
--- a/libcpu/arm/s3c24x0/context_gcc.S
+++ b/libcpu/arm/s3c24x0/context_gcc.S
@@ -58,9 +58,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);
diff --git a/libcpu/arm/s3c24x0/context_rvds.S b/libcpu/arm/s3c24x0/context_rvds.S
index e24fa62a3d..6fe5c5ea07 100644
--- a/libcpu/arm/s3c24x0/context_rvds.S
+++ b/libcpu/arm/s3c24x0/context_rvds.S
@@ -60,9 +60,9 @@ rt_hw_context_switch PROC
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
ENDP
;/*