diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-03-15 07:33:43 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-03-21 17:05:50 -0500 |
commit | 5d25ac038a317d454a4321cba955f756400835a5 (patch) | |
tree | ec536b7e1aba8c0775f72e924743524e4688d5d7 | |
parent | f78f10436806660f39440a729acbaf03e3a01023 (diff) |
[ARM] Move IRQ enable after coprocessor number decode
Allow the individual coprocessor handlers to decide when to enable
interrupts, rather than unconditionally enabling them.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 2 | ||||
-rw-r--r-- | arch/arm/vfp/entry.S | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index ec48d70c6d8b..355914ffb192 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -484,7 +484,6 @@ call_fpe: | |||
484 | movcss r7, r5, lsr #(TIF_USING_IWMMXT + 1) | 484 | movcss r7, r5, lsr #(TIF_USING_IWMMXT + 1) |
485 | bcs iwmmxt_task_enable | 485 | bcs iwmmxt_task_enable |
486 | #endif | 486 | #endif |
487 | enable_irq | ||
488 | add pc, pc, r8, lsr #6 | 487 | add pc, pc, r8, lsr #6 |
489 | mov r0, r0 | 488 | mov r0, r0 |
490 | 489 | ||
@@ -511,6 +510,7 @@ call_fpe: | |||
511 | mov pc, lr @ CP#15 (Control) | 510 | mov pc, lr @ CP#15 (Control) |
512 | 511 | ||
513 | do_fpe: | 512 | do_fpe: |
513 | enable_irq | ||
514 | ldr r4, .LCfp | 514 | ldr r4, .LCfp |
515 | add r10, r10, #TI_FPSTATE @ r10 = workspace | 515 | add r10, r10, #TI_FPSTATE @ r10 = workspace |
516 | ldr pc, [r4] @ Call FP module USR entry point | 516 | ldr pc, [r4] @ Call FP module USR entry point |
diff --git a/arch/arm/vfp/entry.S b/arch/arm/vfp/entry.S index 6f17187ab32a..9ab1abfbe7ad 100644 --- a/arch/arm/vfp/entry.S +++ b/arch/arm/vfp/entry.S | |||
@@ -22,6 +22,7 @@ | |||
22 | 22 | ||
23 | .globl do_vfp | 23 | .globl do_vfp |
24 | do_vfp: | 24 | do_vfp: |
25 | enable_irq | ||
25 | ldr r4, .LCvfp | 26 | ldr r4, .LCvfp |
26 | add r10, r10, #TI_VFPSTATE @ r10 = workspace | 27 | add r10, r10, #TI_VFPSTATE @ r10 = workspace |
27 | ldr pc, [r4] @ call VFP entry point | 28 | ldr pc, [r4] @ call VFP entry point |