aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2007-02-20 05:52:01 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2007-02-20 05:52:43 -0500
commite80a0e6e7ccdf64575d4384cb4172860422f5b81 (patch)
tree8960fa71eb73d0f1185e893192411cb873362738 /arch/arm/kernel
parent3b0eb4a195a124567cd0dd6f700f8388def542c6 (diff)
parent3668b45d46f777b0773ef5ff49531c1144efb6dd (diff)
[ARM] Merge remaining IOP code
Conflicts: include/asm-arm/arch-at91rm9200/entry-macro.S Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel')
-rw-r--r--arch/arm/kernel/entry-armv.S1
-rw-r--r--arch/arm/kernel/entry-common.S7
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
index cc10a093a545..d645897652c2 100644
--- a/arch/arm/kernel/entry-armv.S
+++ b/arch/arm/kernel/entry-armv.S
@@ -27,6 +27,7 @@
27 * Interrupt handling. Preserves r7, r8, r9 27 * Interrupt handling. Preserves r7, r8, r9
28 */ 28 */
29 .macro irq_handler 29 .macro irq_handler
30 get_irqnr_preamble r5, lr
301: get_irqnr_and_base r0, r6, r5, lr 311: get_irqnr_and_base r0, r6, r5, lr
31 movne r1, sp 32 movne r1, sp
32 @ 33 @
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 6f5e7c50d42f..c589dc3ecd1a 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -9,6 +9,7 @@
9 */ 9 */
10 10
11#include <asm/unistd.h> 11#include <asm/unistd.h>
12#include <asm/arch/entry-macro.S>
12 13
13#include "entry-header.S" 14#include "entry-header.S"
14 15
@@ -25,6 +26,9 @@ ret_fast_syscall:
25 tst r1, #_TIF_WORK_MASK 26 tst r1, #_TIF_WORK_MASK
26 bne fast_work_pending 27 bne fast_work_pending
27 28
29 /* perform architecture specific actions before user return */
30 arch_ret_to_user r1, lr
31
28 @ fast_restore_user_regs 32 @ fast_restore_user_regs
29 ldr r1, [sp, #S_OFF + S_PSR] @ get calling cpsr 33 ldr r1, [sp, #S_OFF + S_PSR] @ get calling cpsr
30 ldr lr, [sp, #S_OFF + S_PC]! @ get pc 34 ldr lr, [sp, #S_OFF + S_PC]! @ get pc
@@ -61,6 +65,9 @@ ret_slow_syscall:
61 tst r1, #_TIF_WORK_MASK 65 tst r1, #_TIF_WORK_MASK
62 bne work_pending 66 bne work_pending
63no_work_pending: 67no_work_pending:
68 /* perform architecture specific actions before user return */
69 arch_ret_to_user r1, lr
70
64 @ slow_restore_user_regs 71 @ slow_restore_user_regs
65 ldr r1, [sp, #S_PSR] @ get calling cpsr 72 ldr r1, [sp, #S_PSR] @ get calling cpsr
66 ldr lr, [sp, #S_PC]! @ get pc 73 ldr lr, [sp, #S_PC]! @ get pc