|
@@ -103,14 +103,12 @@ void __init mips_cpu_irq_init(void)
|
|
|
clear_c0_status(ST0_IM);
|
|
|
clear_c0_cause(CAUSEF_IP);
|
|
|
|
|
|
- /*
|
|
|
- * Only MT is using the software interrupts currently, so we just
|
|
|
- * leave them uninitialized for other processors.
|
|
|
- */
|
|
|
- if (cpu_has_mipsmt)
|
|
|
- for (i = irq_base; i < irq_base + 2; i++)
|
|
|
- irq_set_chip_and_handler(i, &mips_mt_cpu_irq_controller,
|
|
|
- handle_percpu_irq);
|
|
|
+ /* Software interrupts are used for MT/CMT IPI */
|
|
|
+ for (i = irq_base; i < irq_base + 2; i++)
|
|
|
+ irq_set_chip_and_handler(i, cpu_has_mipsmt ?
|
|
|
+ &mips_mt_cpu_irq_controller :
|
|
|
+ &mips_cpu_irq_controller,
|
|
|
+ handle_percpu_irq);
|
|
|
|
|
|
for (i = irq_base + 2; i < irq_base + 8; i++)
|
|
|
irq_set_chip_and_handler(i, &mips_cpu_irq_controller,
|