X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=exception.c;h=c1ccc9584bc0d40e27ed9343e49a7c51fe8fa59d;hb=d018be8726c063c417463ff987fbd487b3cf9cad;hp=2d7451ecb8166db387559902ec6c43dc6c27b47e;hpb=cbb2f30692a3d5cb7817aaa95dc14f8db24f5adb;p=ppcskel.git diff --git a/exception.c b/exception.c index 2d7451e..c1ccc95 100644 --- a/exception.c +++ b/exception.c @@ -18,17 +18,15 @@ extern char exception_2200_start, exception_2200_end; void exception_handler(int exception) { + u32 cookie = irq_kill(); // check if the exception was actually an external interrupt if (exception == 0x500) { - u32 cookie = irq_kill(); irq_handler(); - irq_restore(cookie); - //_CPU_ISR_Enable(); //wtf } // check if exception happened due to the decrementer else if (exception == 0x900) { - printf("\nDecrementer exception occured - who cares?\n"); + //printf("\nDecrementer exception occured - who cares?\n"); } else { @@ -56,6 +54,8 @@ void exception_handler(int exception) for (;;) ; } + + irq_restore(cookie); } void exception_init(void)