diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-06-25 10:46:08 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-06-29 05:05:33 -0400 |
commit | 0402becef94c43bb2bb483653a5cee2fb5049764 (patch) | |
tree | 259d36e5ff5b33e59660b27b2743d723df083543 /arch | |
parent | ac8b9c1ce094d43372d0259de08045ffee745a41 (diff) |
ARM: entry: prefetch/data abort helpers: avoid corrupting r4
Replace r4 with ip for calling abort helpers - ip is allowed to be
corrupted by called functions in the ABI, so it makes more sense to
use such a register.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index dbe9eb88d550..6855f6dd72d0 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -47,9 +47,9 @@ | |||
47 | .macro pabt_helper | 47 | .macro pabt_helper |
48 | mov r0, r2 @ pass address of aborted instruction. | 48 | mov r0, r2 @ pass address of aborted instruction. |
49 | #ifdef MULTI_PABORT | 49 | #ifdef MULTI_PABORT |
50 | ldr r4, .LCprocfns | 50 | ldr ip, .LCprocfns |
51 | mov lr, pc | 51 | mov lr, pc |
52 | ldr pc, [r4, #PROCESSOR_PABT_FUNC] | 52 | ldr pc, [ip, #PROCESSOR_PABT_FUNC] |
53 | #else | 53 | #else |
54 | bl CPU_PABORT_HANDLER | 54 | bl CPU_PABORT_HANDLER |
55 | #endif | 55 | #endif |
@@ -67,9 +67,9 @@ | |||
67 | @ the fault status register in r1. r9 must be preserved. | 67 | @ the fault status register in r1. r9 must be preserved. |
68 | @ | 68 | @ |
69 | #ifdef MULTI_DABORT | 69 | #ifdef MULTI_DABORT |
70 | ldr r4, .LCprocfns | 70 | ldr ip, .LCprocfns |
71 | mov lr, pc | 71 | mov lr, pc |
72 | ldr pc, [r4, #PROCESSOR_DABT_FUNC] | 72 | ldr pc, [ip, #PROCESSOR_DABT_FUNC] |
73 | #else | 73 | #else |
74 | bl CPU_DABORT_HANDLER | 74 | bl CPU_DABORT_HANDLER |
75 | #endif | 75 | #endif |