Build gcc with USE_PT_GNU_EH_FRAME (XCC)
[akaros.git] / kern / arch / x86 / pic.c
index 569f77e..b52e3e7 100644 (file)
@@ -38,7 +38,7 @@ void pic_remap(void)
        spin_unlock_irqsave(&piclock);
 }
 
-void pic_mask_irq(int trap_nr)
+void pic_mask_irq(struct irq_handler *unused, int trap_nr)
 {
        int irq = trap_nr - PIC1_OFFSET;
        spin_lock_irqsave(&piclock);
@@ -49,9 +49,10 @@ void pic_mask_irq(int trap_nr)
        spin_unlock_irqsave(&piclock);
 }
 
-void pic_unmask_irq(int trap_nr)
+void pic_unmask_irq(struct irq_handler *unused, int trap_nr)
 {
        int irq = trap_nr - PIC1_OFFSET;
+       printd("PIC unmask for TRAP %d, IRQ %d\n", trap_nr, irq);
        spin_lock_irqsave(&piclock);
        if (irq > 7) {
                outb(PIC2_DATA, inb(PIC2_DATA) & ~(1 << (irq - 8)));
@@ -64,7 +65,7 @@ void pic_unmask_irq(int trap_nr)
 void pic_mask_all(void)
 {
        for (int i = 0 + PIC1_OFFSET; i < 16 + PIC1_OFFSET; i++)
-               pic_mask_irq(i);
+               pic_mask_irq(0, i);
 }
 
 /* Aka, the IMR.  Simply reading the data port are OCW1s. */