mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user