rm48x50: optimize context_switch_interrupt_do

Substitude STMFD, MOV, ADD with STMFD, SUB. It reduce one instruction.
Tested on board and it works like a charm.
This commit is contained in:
Grissiom 2013-05-26 17:10:49 +08:00
parent b39d038cf0
commit 3d0647efb3
1 changed files with 3 additions and 3 deletions

View File

@ -127,9 +127,9 @@ rt_hw_context_switch_interrupt_do
STR r1, [r0]
LDMFD sp!, {r0-r12,lr} ; reload saved registers
STMFD sp!, {r0-r3} ; save r0-r3
MOV r1, sp
ADD sp, sp, #16 ; restore sp
STMFD sp, {r0-r3} ; save r0-r3. We will restore r0-r3 in the SVC
; mode so there is no need to update SP.
SUB r1, sp, #16 ; save the right SP value in r1, so we could restore r0-r3.
SUB r2, lr, #4 ; save old task's pc to r2
MRS r3, spsr ; get cpsr of interrupt thread