WIP: irq handler
[ppcskel.git] / main.c
diff --git a/main.c b/main.c
index ca0b2eaedb6a58ac26a7d75a89063cd940f591bf..2c1e41ff71a0b63938465d7207815259af95d491 100644 (file)
--- a/main.c
+++ b/main.c
@@ -84,21 +84,24 @@ int main(void)
        exception_init();
        dsp_reset();
 
-       // clear interrupt mask
-       write32(BW_PI_IRQMASK, 0);
-
        ipc_initialize();
        ipc_slowping();
 
        gecko_init();
     input_init();
        init_fb(vmode);
-       ohci_init();
 
        VIDEO_Init(vmode);
        VIDEO_SetFrameBuffer(get_xfb());
        VISetupEncoder();
 
+       irq_initialize();
+       irq_bw_enable(BW_PI_IRQ_RESET);
+       irq_bw_enable(BW_PI_IRQ_HW); //hollywood pic
+       irq_hw_enable(IRQ_OHCI0);
+
+       ohci_init();
+
        u32 version = ipc_getvers();
        u16 mini_version_major = version >> 16 & 0xFFFF;
        u16 mini_version_minor = version & 0xFFFF;
@@ -112,25 +115,17 @@ int main(void)
                        ; // better ideas welcome!
        }
 
+       /*
     print_str_noscroll(112, 112, "ohai, world!\n");
-
        testOTP();
-
        printf("bye, world!\n");
-
-       // enable OHCI0 interrupt on hollywood-pic
-       write32(HW_PPCIRQFLAG, ~0);
-       write32(HW_PPCIRQMASK, 1<<5);
-       // enable RESET and PIC (#14) interrupts on processor interface
-       write32(BW_PI_IRQFLAG, ~0);
-       write32(BW_PI_IRQMASK, (1<<1) | (1<<14));
-       _CPU_ISR_Enable()
+       */
 
        while(1) {
                // just to get sure we are still in this loop
-               _CPU_ISR_Enable() // don't know why this is needed...
-               udelay(100000);
-               printf("x");
+               //_CPU_ISR_Enable() // don't know why this is needed...
+               //udelay(100000);
+               //printf("x");
        }
 
        return 0;