diff options
| author | Russell King <rmk@flint.arm.linux.org.uk> | 2005-03-24 17:49:23 +0000 |
|---|---|---|
| committer | Russell King <rmk@flint.arm.linux.org.uk> | 2005-03-24 17:49:23 +0000 |
| commit | 41c2288d26f94e4a33aa9ff6669e85b46ba69a6a (patch) | |
| tree | 6c7e1f3b81adbc605b27728ee555a386059e76b3 | |
| parent | c4bb7a475ac69e1c3f35a7bc92d39e99d237895c (diff) | |
[ARM] Move alignment_trap/zero_fp macros into usr_entry macro.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/kernel/entry-armv.S | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 69f82e03dba0..bb27c317d94b 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S @@ -280,13 +280,21 @@ __pabt_svc: @ stmia r5, {r2 - r4} stmdb r5, {sp, lr}^ + + @ + @ Enable the alignment trap while in kernel mode + @ + alignment_trap r7, r0, __temp_\sym + + @ + @ Clear FP to mark the first stack frame + @ + zero_fp .endm .align 5 __dabt_usr: usr_entry abt - alignment_trap r7, r0, __temp_abt - zero_fp @ @ Call the processor-specific abort handler: @@ -316,8 +324,7 @@ __dabt_usr: .align 5 __irq_usr: usr_entry irq - alignment_trap r7, r0, __temp_irq - zero_fp + #ifdef CONFIG_PREEMPT get_thread_info r8 ldr r9, [r8, #TI_PREEMPT] @ get preempt count @@ -348,8 +355,7 @@ __irq_usr: .align 5 __und_usr: usr_entry und - alignment_trap r7, r0, __temp_und - zero_fp + tst r3, #PSR_T_BIT @ Thumb mode? bne fpundefinstr @ ignore FP sub r4, r2, #4 @@ -465,8 +471,7 @@ fpundefinstr: .align 5 __pabt_usr: usr_entry abt - alignment_trap r7, r0, __temp_abt - zero_fp + enable_irq r0 @ Enable interrupts mov r0, r2 @ address (pc) mov r1, sp @ regs |
