Cleanups that will hopefully allow compilation in more strict environments
[tpg/acess2.git] / Kernel / arch / x86 / irq.c
index 848e7e9..c9fa726 100644 (file)
@@ -2,13 +2,13 @@
  * AcessOS Microkernel Version
  * irq.c
  */
-#include <common.h>
+#include <acess.h>
 
 // === CONSTANTS ===
 #define        MAX_CALLBACKS_PER_IRQ   4
 
 // === TYPES ===
-typedef void (*tIRQ_Callback)(void);
+typedef void (*tIRQ_Callback)(int);
 
 // === GLOBALS ===
 tIRQ_Callback  gIRQ_Handlers[16][MAX_CALLBACKS_PER_IRQ];
@@ -30,18 +30,20 @@ void IRQ_Handler(tRegs *Regs)
        {
                //Log(" IRQ_Handler: Call %p", gIRQ_Handlers[Regs->int_num][i]);
                if( gIRQ_Handlers[Regs->int_num][i] )
-                       gIRQ_Handlers[Regs->int_num][i]();
+                       gIRQ_Handlers[Regs->int_num][i](Regs->int_num);
        }
        
-       outb(0x20, 0x20);       // ACK IRQ
+       //Log(" IRQ_Handler: Resetting");
        if(Regs->int_num >= 8)
                outb(0xA0, 0x20);       // ACK IRQ (Secondary PIC)
+       outb(0x20, 0x20);       // ACK IRQ
+       //Log("IRQ_Handler: RETURN");
 }
 
 /**
- * \fn int IRQ_AddHandler( int Num, void (*Callback)(void) )
+ * \fn int IRQ_AddHandler( int Num, void (*Callback)(int) )
  */
-int IRQ_AddHandler( int Num, void (*Callback)(void) )
+int IRQ_AddHandler( int Num, void (*Callback)(int) )
 {
         int    i;
        for( i = 0; i < MAX_CALLBACKS_PER_IRQ; i++ )

UCC git Repository :: git.ucc.asn.au