diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2007-02-20 10:52:01 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-20 10:52:43 +0000 |
commit | e80a0e6e7ccdf64575d4384cb4172860422f5b81 (patch) | |
tree | 8960fa71eb73d0f1185e893192411cb873362738 /arch/arm/kernel | |
parent | 3b0eb4a195a124567cd0dd6f700f8388def542c6 (diff) | |
parent | 3668b45d46f777b0773ef5ff49531c1144efb6dd (diff) | |
download | blackbird-op-linux-e80a0e6e7ccdf64575d4384cb4172860422f5b81.tar.gz blackbird-op-linux-e80a0e6e7ccdf64575d4384cb4172860422f5b81.zip |
[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 @@ * Interrupt handling. Preserves r7, r8, r9 */ .macro irq_handler + get_irqnr_preamble r5, lr 1: get_irqnr_and_base r0, r6, r5, lr movne r1, sp @ 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 @@ */ #include <asm/unistd.h> +#include <asm/arch/entry-macro.S> #include "entry-header.S" @@ -25,6 +26,9 @@ ret_fast_syscall: tst r1, #_TIF_WORK_MASK bne fast_work_pending + /* perform architecture specific actions before user return */ + arch_ret_to_user r1, lr + @ fast_restore_user_regs ldr r1, [sp, #S_OFF + S_PSR] @ get calling cpsr ldr lr, [sp, #S_OFF + S_PC]! @ get pc @@ -61,6 +65,9 @@ ret_slow_syscall: tst r1, #_TIF_WORK_MASK bne work_pending no_work_pending: + /* perform architecture specific actions before user return */ + arch_ret_to_user r1, lr + @ slow_restore_user_regs ldr r1, [sp, #S_PSR] @ get calling cpsr ldr lr, [sp, #S_PC]! @ get pc |