This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / mips / ite-boards / generic / irq.c
index af8232e..4be10d8 100644 (file)
@@ -47,8 +47,8 @@
 #include <linux/slab.h>
 #include <linux/random.h>
 #include <linux/serial_reg.h>
-#include <linux/bitops.h>
 
+#include <asm/bitops.h>
 #include <asm/bootinfo.h>
 #include <asm/io.h>
 #include <asm/mipsregs.h>
 #define DPRINTK(fmt, args...)
 #endif
 
+#ifdef CONFIG_KGDB
+extern void breakpoint(void);
+#endif
+
 /* revisit */
 #define EXT_IRQ0_TO_IP 2 /* IP 2 */
 #define EXT_IRQ5_TO_IP 7 /* IP 7 */
@@ -247,7 +251,7 @@ void enable_cpu_timer(void)
         local_irq_restore(flags);
 }
 
-void __init arch_init_irq(void)
+void __init init_IRQ(void)
 {
        int i;
         unsigned long flags;
@@ -255,6 +259,8 @@ void __init arch_init_irq(void)
         memset(irq_desc, 0, sizeof(irq_desc));
         set_except_vector(0, it8172_IRQ);
 
+       init_generic_irq();
+
        /* mask all interrupts */
        it8172_hw0_icregs->lb_mask  = 0xffff;
        it8172_hw0_icregs->lpc_mask = 0xffff;
@@ -291,6 +297,13 @@ void __init arch_init_irq(void)
        }
        irq_desc[MIPS_CPU_TIMER_IRQ].handler = &cp0_irq_type;
        set_c0_status(ALLINTS_NOTIMER);
+
+#ifdef CONFIG_KGDB
+       /* If local serial I/O used for debug port, enter kgdb at once */
+       puts("Waiting for kgdb to connect...");
+       set_debug_traps();
+       breakpoint();
+#endif
 }
 
 void mips_spurious_interrupt(struct pt_regs *regs)