diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2007-02-20 05:52:01 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-20 05:52:43 -0500 |
commit | e80a0e6e7ccdf64575d4384cb4172860422f5b81 (patch) | |
tree | 8960fa71eb73d0f1185e893192411cb873362738 /arch/arm/kernel | |
parent | 3b0eb4a195a124567cd0dd6f700f8388def542c6 (diff) | |
parent | 3668b45d46f777b0773ef5ff49531c1144efb6dd (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.S | 1 | ||||
-rw-r--r-- | arch/arm/kernel/entry-common.S | 7 |
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 | ||
30 | 1: get_irqnr_and_base r0, r6, r5, lr | 31 | 1: 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 |
63 | no_work_pending: | 67 | no_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 |