Thumb-2: Implement the unified arch/arm/lib functions
This patch adds the ARM/Thumb-2 unified support for the arch/arm/lib/* files. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
@@ -38,7 +38,9 @@ ENDPROC(c_backtrace)
|
||||
beq no_frame @ we have no stack frames
|
||||
|
||||
tst r1, #0x10 @ 26 or 32-bit mode?
|
||||
moveq mask, #0xfc000003 @ mask for 26-bit
|
||||
ARM( moveq mask, #0xfc000003 )
|
||||
THUMB( moveq mask, #0xfc000000 )
|
||||
THUMB( orreq mask, #0x03 )
|
||||
movne mask, #0 @ mask for 32-bit
|
||||
|
||||
1: stmfd sp!, {pc} @ calculate offset of PC stored
|
||||
@@ -126,7 +128,9 @@ ENDPROC(c_backtrace)
|
||||
mov reg, #10
|
||||
mov r7, #0
|
||||
1: mov r3, #1
|
||||
tst instr, r3, lsl reg
|
||||
ARM( tst instr, r3, lsl reg )
|
||||
THUMB( lsl r3, reg )
|
||||
THUMB( tst instr, r3 )
|
||||
beq 2f
|
||||
add r7, r7, #1
|
||||
teq r7, #6
|
||||
|
Reference in New Issue
Block a user