From 5cc432cbd09534b9868bbc5e9afb43ce10c861ff Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Mon, 20 Nov 2017 21:14:23 +0800 Subject: [PATCH] fiq_debugger_arm: fix compilation error for THUMB2_KERNEL Change-Id: Ib1313150393a572b446f9294bc1645ca0d035606 Signed-off-by: Tao Huang (cherry picked from commit 70be40088b78d57589c3d999ffd749f41ca31c6e) --- .../android/fiq_debugger/fiq_debugger_arm.c | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/drivers/staging/android/fiq_debugger/fiq_debugger_arm.c b/drivers/staging/android/fiq_debugger/fiq_debugger_arm.c index 8b3e0137be1a..aaf6e9ba6992 100644 --- a/drivers/staging/android/fiq_debugger/fiq_debugger_arm.c +++ b/drivers/staging/android/fiq_debugger/fiq_debugger_arm.c @@ -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"