X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=ppcskel.git;a=blobdiff_plain;f=main.c;h=ca0b2eaedb6a58ac26a7d75a89063cd940f591bf;hp=c75712b16c569ba6bec2987d87471b307f0d8e94;hb=3169c95c4ddd84c74a397760d617e840530c13e0;hpb=d07b8474abba58f2f6894b6f04b9375abce02375 diff --git a/main.c b/main.c index c75712b..ca0b2ea 100644 --- a/main.c +++ b/main.c @@ -25,6 +25,7 @@ Copyright (C) 2009 John Kelley #include "input.h" #include "console.h" #include "ohci.h" +#include "irq.h" #define MINIMUM_MINI_VERSION 0x00010001 @@ -84,7 +85,7 @@ int main(void) dsp_reset(); // clear interrupt mask - write32(0x0c003004, 0); + write32(BW_PI_IRQMASK, 0); ipc_initialize(); ipc_slowping(); @@ -118,24 +119,19 @@ int main(void) printf("bye, world!\n"); // enable OHCI0 interrupt on hollywood-pic -#define HW_PPCIRQFLAG (0x0d800030) -#define HW_PPCIRQMASK (0x0d800034) write32(HW_PPCIRQFLAG, ~0); write32(HW_PPCIRQMASK, 1<<5); // enable RESET and PIC (#14) interrupts on processor interface - write32(0x0c003004, (1<<1) | (1<<14)); -#define _CPU_ISR_Enable() \ - { register u32 _val = 0; \ - __asm__ __volatile__ ( \ - "mfmsr %0\n" \ - "ori %0,%0,0x8000\n" \ - "mtmsr %0" \ - : "=&r" ((_val)) : "0" ((_val)) \ - ); \ - } + write32(BW_PI_IRQFLAG, ~0); + write32(BW_PI_IRQMASK, (1<<1) | (1<<14)); _CPU_ISR_Enable() - while(1) {} + 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"); + } return 0; }