fiq_debugger_arm: fix compilation error for THUMB2_KERNEL

Change-Id: Ib1313150393a572b446f9294bc1645ca0d035606
Signed-off-by: Tao Huang <huangtao@rock-chips.com>
(cherry picked from commit 70be40088b78d57589c3d999ffd749f41ca31c6e)
This commit is contained in:
Tao Huang
2017-11-20 21:14:23 +08:00
parent d8af5c4fa8
commit 5cc432cbd0

View File

@@ -91,6 +91,36 @@ static void __naked get_mode_regs(struct mode_regs *regs)
{
asm volatile (
"mrs r1, cpsr\n"
#ifdef CONFIG_THUMB2_KERNEL
"mov r3, #0xd3 @(SVC_MODE | PSR_I_BIT | PSR_F_BIT)\n"
"msr cpsr_c, r3\n"
"str r13, [r0], 4\n"
"str r14, [r0], 4\n"
"mrs r2, spsr\n"
"mov r3, #0xd7 @(ABT_MODE | PSR_I_BIT | PSR_F_BIT)\n"
"msr cpsr_c, r3\n"
"str r2, [r0], 4\n"
"str r13, [r0], 4\n"
"str r14, [r0], 4\n"
"mrs r2, spsr\n"
"mov r3, #0xdb @(UND_MODE | PSR_I_BIT | PSR_F_BIT)\n"
"msr cpsr_c, r3\n"
"str r2, [r0], 4\n"
"str r13, [r0], 4\n"
"str r14, [r0], 4\n"
"mrs r2, spsr\n"
"mov r3, #0xd2 @(IRQ_MODE | PSR_I_BIT | PSR_F_BIT)\n"
"msr cpsr_c, r3\n"
"str r2, [r0], 4\n"
"str r13, [r0], 4\n"
"str r14, [r0], 4\n"
"mrs r2, spsr\n"
"mov r3, #0xd1 @(FIQ_MODE | PSR_I_BIT | PSR_F_BIT)\n"
"msr cpsr_c, r3\n"
"stmia r0!, {r2, r8 - r12}\n"
"str r13, [r0], 4\n"
"str r14, [r0], 4\n"
#else
"msr cpsr_c, #0xd3 @(SVC_MODE | PSR_I_BIT | PSR_F_BIT)\n"
"stmia r0!, {r13 - r14}\n"
"mrs r2, spsr\n"
@@ -105,6 +135,7 @@ static void __naked get_mode_regs(struct mode_regs *regs)
"mrs r2, spsr\n"
"msr cpsr_c, #0xd1 @(FIQ_MODE | PSR_I_BIT | PSR_F_BIT)\n"
"stmia r0!, {r2, r8 - r14}\n"
#endif
"mrs r2, spsr\n"
"stmia r0!, {r2}\n"
"msr cpsr_c, r1\n"