mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-13 17:24:28 +08:00
ARM: entry: avoid clobbering R9 in IRQ handler
Avoid using R9 in the IRQ handler code, as the entry code uses it for tsk, and expects it to remain untouched between the IRQ entry and exit code. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
This commit is contained in:
parent
75fa4adc4f
commit
aa0a20f521
@ -38,11 +38,10 @@
|
||||
#ifdef CONFIG_UNWINDER_ARM
|
||||
mov fpreg, sp @ Preserve original SP
|
||||
#else
|
||||
mov r8, fp @ Preserve original FP
|
||||
mov r9, sp @ Preserve original SP
|
||||
mov r7, fp @ Preserve original FP
|
||||
mov r8, sp @ Preserve original SP
|
||||
#endif
|
||||
ldr_this_cpu sp, irq_stack_ptr, r2, r3
|
||||
|
||||
.if \from_user == 0
|
||||
UNWIND( .setfp fpreg, sp )
|
||||
@
|
||||
@ -82,8 +81,8 @@ UNWIND( .setfp fpreg, sp )
|
||||
#ifdef CONFIG_UNWINDER_ARM
|
||||
mov sp, fpreg @ Restore original SP
|
||||
#else
|
||||
mov fp, r8 @ Restore original FP
|
||||
mov sp, r9 @ Restore original SP
|
||||
mov fp, r7 @ Restore original FP
|
||||
mov sp, r8 @ Restore original SP
|
||||
#endif // CONFIG_UNWINDER_ARM
|
||||
#endif // CONFIG_IRQSTACKS
|
||||
.endm
|
||||
|
Loading…
Reference in New Issue
Block a user