simple changes to the stack
[ppcskel.git] / exception.c
index 2d7451ecb8166db387559902ec6c43dc6c27b47e..c1ccc9584bc0d40e27ed9343e49a7c51fe8fa59d 100644 (file)
@@ -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)