aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/abort-ev4t.S
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-06-26 09:35:07 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-07-02 05:56:11 -0400
commit3e287bec6fde088bff05ee7f998f53e8ac75b922 (patch)
tree4ad814de273327ae1e6ddc354ab0ab6bb9653246 /arch/arm/mm/abort-ev4t.S
parent8dfe7ac96fedd4f5219879f63a8a546a33609daf (diff)
ARM: entry: data abort: arrange for CPU abort helpers to take pc/psr in r4/r5
Re-jig the CPU abort helpers to take the PC/PSR in r4/r5 rather than r2/r3. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/abort-ev4t.S')
-rw-r--r--arch/arm/mm/abort-ev4t.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/mm/abort-ev4t.S b/arch/arm/mm/abort-ev4t.S
index 9910123079ce..eaa4ac023959 100644
--- a/arch/arm/mm/abort-ev4t.S
+++ b/arch/arm/mm/abort-ev4t.S
@@ -4,8 +4,8 @@
4/* 4/*
5 * Function: v4t_early_abort 5 * Function: v4t_early_abort
6 * 6 *
7 * Params : r2 = address of aborted instruction 7 * Params : r4 = aborted context pc
8 * : r3 = saved SPSR 8 * : r5 = aborted context psr
9 * 9 *
10 * Returns : r0 = address of abort 10 * Returns : r0 = address of abort
11 * : r1 = FSR, bit 11 = write 11 * : r1 = FSR, bit 11 = write
@@ -22,8 +22,8 @@
22ENTRY(v4t_early_abort) 22ENTRY(v4t_early_abort)
23 mrc p15, 0, r1, c5, c0, 0 @ get FSR 23 mrc p15, 0, r1, c5, c0, 0 @ get FSR
24 mrc p15, 0, r0, c6, c0, 0 @ get FAR 24 mrc p15, 0, r0, c6, c0, 0 @ get FAR
25 do_thumb_abort fsr=r1, pc=r2, psr=r3, tmp=r3 25 do_thumb_abort fsr=r1, pc=r4, psr=r5, tmp=r3
26 ldreq r3, [r2] @ read aborted ARM instruction 26 ldreq r3, [r4] @ read aborted ARM instruction
27 bic r1, r1, #1 << 11 | 1 << 10 @ clear bits 11 and 10 of FSR 27 bic r1, r1, #1 << 11 | 1 << 10 @ clear bits 11 and 10 of FSR
28 tst r3, #1 << 20 @ check write 28 tst r3, #1 << 20 @ check write
29 orreq r1, r1, #1 << 11 29 orreq r1, r1, #1 << 11