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 ;/*