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:
parent
b39d038cf0
commit
3d0647efb3
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue