diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-06-25 14:25:02 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-06-30 06:04:59 -0400 |
commit | 8b4186160b7894ca4583f702a562856d5d9e9118 (patch) | |
tree | d5937a74e6d3f0738c3ba7eb9383acf51202e62d /arch/arm/mm/pabort-v6.S | |
parent | b059bdc39321696fe8f344acb7117d57fbd7b475 (diff) |
ARM: entry: prefetch abort helper: pass aborted pc in r4 rather than r0
This avoids unnecessary instructions for CPUs which implement the IFAR
(instruction fault address register).
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/pabort-v6.S')
-rw-r--r-- | arch/arm/mm/pabort-v6.S | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mm/pabort-v6.S b/arch/arm/mm/pabort-v6.S index 06e3d1ef2115..eaac1cb7c4cc 100644 --- a/arch/arm/mm/pabort-v6.S +++ b/arch/arm/mm/pabort-v6.S | |||
@@ -4,7 +4,7 @@ | |||
4 | /* | 4 | /* |
5 | * Function: v6_pabort | 5 | * Function: v6_pabort |
6 | * | 6 | * |
7 | * Params : r0 = address of aborted instruction | 7 | * Params : r4 = address of aborted instruction |
8 | * | 8 | * |
9 | * Returns : r0 = address of abort | 9 | * Returns : r0 = address of abort |
10 | * : r1 = IFSR | 10 | * : r1 = IFSR |
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | .align 5 | 15 | .align 5 |
16 | ENTRY(v6_pabort) | 16 | ENTRY(v6_pabort) |
17 | mov r0, r4 | ||
17 | mrc p15, 0, r1, c5, c0, 1 @ get IFSR | 18 | mrc p15, 0, r1, c5, c0, 1 @ get IFSR |
18 | mov pc, lr | 19 | mov pc, lr |
19 | ENDPROC(v6_pabort) | 20 | ENDPROC(v6_pabort) |