Index: kernel/arch/amd64/src/amd64.c
===================================================================
--- kernel/arch/amd64/src/amd64.c	(revision fd67c9f8dcdd34e9ee9ae504ae566e0d47cebb67)
+++ kernel/arch/amd64/src/amd64.c	(revision 534bcdf6f87db58a9f44fa4244510aeed09d0c4e)
@@ -121,6 +121,5 @@
 		/* PIC */
 		i8259_init((i8259_t *) I8259_PIC0_BASE,
-		    (i8259_t *) I8259_PIC1_BASE, IRQ_PIC1, IVT_IRQBASE,
-		    IVT_IRQBASE + 8);
+		    (i8259_t *) I8259_PIC1_BASE, IRQ_PIC1, IVT_IRQBASE);
 
 		/*
Index: kernel/arch/ia32/src/ia32.c
===================================================================
--- kernel/arch/ia32/src/ia32.c	(revision fd67c9f8dcdd34e9ee9ae504ae566e0d47cebb67)
+++ kernel/arch/ia32/src/ia32.c	(revision 534bcdf6f87db58a9f44fa4244510aeed09d0c4e)
@@ -110,6 +110,5 @@
 		/* PIC */
 		i8259_init((i8259_t *) I8259_PIC0_BASE,
-		    (i8259_t *) I8259_PIC1_BASE, IRQ_PIC1, IVT_IRQBASE,
-		    IVT_IRQBASE + 8);
+		    (i8259_t *) I8259_PIC1_BASE, IRQ_PIC1, IVT_IRQBASE);
 
 		/*
Index: kernel/arch/mips32/src/mach/malta/malta.c
===================================================================
--- kernel/arch/mips32/src/mach/malta/malta.c	(revision fd67c9f8dcdd34e9ee9ae504ae566e0d47cebb67)
+++ kernel/arch/mips32/src/mach/malta/malta.c	(revision 534bcdf6f87db58a9f44fa4244510aeed09d0c4e)
@@ -99,5 +99,5 @@
 	irq_init(ISA_IRQ_COUNT, ISA_IRQ_COUNT);
 
-	i8259_init((i8259_t *) PIC0_BASE, (i8259_t *) PIC1_BASE, 2, 0, 8);
+	i8259_init((i8259_t *) PIC0_BASE, (i8259_t *) PIC1_BASE, 2, 0);
 
 	int_handler[INT_HW0] = malta_isa_irq_handler;
Index: kernel/genarch/include/genarch/drivers/i8259/i8259.h
===================================================================
--- kernel/genarch/include/genarch/drivers/i8259/i8259.h	(revision fd67c9f8dcdd34e9ee9ae504ae566e0d47cebb67)
+++ kernel/genarch/include/genarch/drivers/i8259/i8259.h	(revision 534bcdf6f87db58a9f44fa4244510aeed09d0c4e)
@@ -60,5 +60,5 @@
 } __attribute__((packed)) i8259_t;
 
-extern void i8259_init(i8259_t *, i8259_t *, inr_t, unsigned int, unsigned int);
+extern void i8259_init(i8259_t *, i8259_t *, inr_t, unsigned int);
 extern void pic_enable_irqs(uint16_t);
 extern void pic_disable_irqs(uint16_t);
Index: kernel/genarch/src/drivers/i8259/i8259.c
===================================================================
--- kernel/genarch/src/drivers/i8259/i8259.c	(revision fd67c9f8dcdd34e9ee9ae504ae566e0d47cebb67)
+++ kernel/genarch/src/drivers/i8259/i8259.c	(revision 534bcdf6f87db58a9f44fa4244510aeed09d0c4e)
@@ -48,5 +48,5 @@
 
 void i8259_init(i8259_t *pic0, i8259_t *pic1, inr_t pic1_irq,
-    unsigned int irq0_int, unsigned int irq8_int)
+    unsigned int irq0_vec)
 {
 	saved_pic0 = pic0;
@@ -56,6 +56,6 @@
 	pio_write_8(&pic0->port1, PIC_ICW1 | PIC_ICW1_NEEDICW4);
 
-	/* ICW2: IRQ 0 maps to INT irq0_int */
-	pio_write_8(&pic0->port2, irq0_int);
+	/* ICW2: IRQ 0 maps to interrupt vector address irq0_vec */
+	pio_write_8(&pic0->port2, irq0_vec);
 
 	/* ICW3: pic1 using IRQ IRQ_PIC1 */
@@ -68,6 +68,6 @@
 	pio_write_8(&pic1->port1, PIC_ICW1 | PIC_ICW1_NEEDICW4);
 
-	/* ICW2: IRQ 8 maps to INT irq8_int */
-	pio_write_8(&pic1->port2, irq8_int);
+	/* ICW2: IRQ 8 maps to interrupt vector address irq0_vec + 8 */
+	pio_write_8(&pic1->port2, irq0_vec + PIC_IRQ_COUNT);
 
 	/* ICW3: pic1 is known as IRQ_PIC1 */
