diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2006-04-03 12:56:36 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-04-18 22:14:21 -0400 |
commit | e4ac58afdfac792c0583af30dbd9eae53e24c78b (patch) | |
tree | 7517bef2c515fc630e4d3d238867b91cde96f558 /arch/mips/dec | |
parent | d35d473c25d43d7db3e5e18b66d558d2a631cca8 (diff) |
[MIPS] Rewrite all the assembler interrupt handlers to C.
Saves like 1,600 lines of code, is way easier to debug, compilers
frequently do a better job than the cut and paste type of handlers many
boards had. And finally having all the stuff done in a single place
also means alot of bug potencial for the MT ASE is gone.
The only surviving handler in assembler is the DECstation one; I hope
Maciej will rewrite it.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/dec')
-rw-r--r-- | arch/mips/dec/int-handler.S | 10 | ||||
-rw-r--r-- | arch/mips/dec/setup.c | 3 |
2 files changed, 3 insertions, 10 deletions
diff --git a/arch/mips/dec/int-handler.S b/arch/mips/dec/int-handler.S index 5bafd585ac3e..e8ec93e33fe6 100644 --- a/arch/mips/dec/int-handler.S +++ b/arch/mips/dec/int-handler.S | |||
@@ -36,7 +36,7 @@ | |||
36 | .text | 36 | .text |
37 | .set noreorder | 37 | .set noreorder |
38 | /* | 38 | /* |
39 | * decstation_handle_int: Interrupt handler for DECstations | 39 | * plat_irq_dispatch: Interrupt handler for DECstations |
40 | * | 40 | * |
41 | * We follow the model in the Indy interrupt code by David Miller, where he | 41 | * We follow the model in the Indy interrupt code by David Miller, where he |
42 | * says: a lot of complication here is taken away because: | 42 | * says: a lot of complication here is taken away because: |
@@ -125,11 +125,7 @@ | |||
125 | * just take another exception, big deal. | 125 | * just take another exception, big deal. |
126 | */ | 126 | */ |
127 | .align 5 | 127 | .align 5 |
128 | NESTED(decstation_handle_int, PT_SIZE, ra) | 128 | NESTED(plat_irq_dispatch, PT_SIZE, ra) |
129 | .set noat | ||
130 | SAVE_ALL | ||
131 | CLI # TEST: interrupts should be off | ||
132 | .set at | ||
133 | .set noreorder | 129 | .set noreorder |
134 | 130 | ||
135 | /* | 131 | /* |
@@ -286,7 +282,7 @@ spurious: | |||
286 | nop | 282 | nop |
287 | j ret_from_irq | 283 | j ret_from_irq |
288 | nop | 284 | nop |
289 | END(decstation_handle_int) | 285 | END(plat_irq_dispatch) |
290 | 286 | ||
291 | /* | 287 | /* |
292 | * Generic unimplemented interrupt routines -- cpu_mask_nr_tbl | 288 | * Generic unimplemented interrupt routines -- cpu_mask_nr_tbl |
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c index 7c1ca8f6330e..ad5d436d80c1 100644 --- a/arch/mips/dec/setup.c +++ b/arch/mips/dec/setup.c | |||
@@ -48,8 +48,6 @@ extern void dec_machine_halt(void); | |||
48 | extern void dec_machine_power_off(void); | 48 | extern void dec_machine_power_off(void); |
49 | extern irqreturn_t dec_intr_halt(int irq, void *dev_id, struct pt_regs *regs); | 49 | extern irqreturn_t dec_intr_halt(int irq, void *dev_id, struct pt_regs *regs); |
50 | 50 | ||
51 | extern asmlinkage void decstation_handle_int(void); | ||
52 | |||
53 | unsigned long dec_kn_slot_base, dec_kn_slot_size; | 51 | unsigned long dec_kn_slot_base, dec_kn_slot_size; |
54 | 52 | ||
55 | EXPORT_SYMBOL(dec_kn_slot_base); | 53 | EXPORT_SYMBOL(dec_kn_slot_base); |
@@ -744,7 +742,6 @@ void __init arch_init_irq(void) | |||
744 | panic("Don't know how to set this up!"); | 742 | panic("Don't know how to set this up!"); |
745 | break; | 743 | break; |
746 | } | 744 | } |
747 | set_except_vector(0, decstation_handle_int); | ||
748 | 745 | ||
749 | /* Free the FPU interrupt if the exception is present. */ | 746 | /* Free the FPU interrupt if the exception is present. */ |
750 | if (!cpu_has_nofpuex) { | 747 | if (!cpu_has_nofpuex) { |