- u32 cookie;
-
- _CPU_ISR_Disable(cookie);
- printf("\nInterrupt occured ;-) Which one? -> ");
- u32 enabled = read32(BW_PI_IRQMASK);
- u32 flags = read32(BW_PI_IRQFLAG);
- flags = flags & enabled;
- if (flags & (1<<1)) { // RESET
- write32(BW_PI_IRQFLAG, 1<<1);
- printf("RESET :)\n");
- }
- if (flags & (1<<14)) { // Hollywood-PIC IRQ
- write32(BW_PI_IRQFLAG, 1<<14);
- write32(HW_PPCIRQFLAG, ~0); // dirty
- printf("Hollywood-PIC :)\n");
- }
- _CPU_ISR_Restore(cookie);