Index: kernel/arch/ia32/src/drivers/ega.c
===================================================================
--- kernel/arch/ia32/src/drivers/ega.c	(revision 7bcfbbc039dd4d392dc880cbc1a87b94b7ca853f)
+++ kernel/arch/ia32/src/drivers/ega.c	(revision 7f043c0d4fa344ed23d99c9baa9f11cdac734176)
@@ -67,5 +67,5 @@
 };
 
-void ega_move_cursor(void);
+static void ega_move_cursor(void);
 
 void ega_init(void)
@@ -120,5 +120,5 @@
 }
 
-void ega_putchar(chardev_t *d, const char ch)
+void ega_putchar(chardev_t *d __attribute__((unused)), const char ch)
 {
 	ipl_t ipl;
@@ -153,7 +153,7 @@
 {
 	outb(0x3d4, 0xe);
-	outb(0x3d5, (ega_cursor >> 8) & 0xff);
+	outb(0x3d5, (uint8_t) ((ega_cursor >> 8) & 0xff));
 	outb(0x3d4, 0xf);
-	outb(0x3d5, ega_cursor & 0xff);	
+	outb(0x3d5, (uint8_t) (ega_cursor & 0xff));	
 }
 
Index: kernel/arch/ia32/src/drivers/i8254.c
===================================================================
--- kernel/arch/ia32/src/drivers/i8254.c	(revision 7bcfbbc039dd4d392dc880cbc1a87b94b7ca853f)
+++ kernel/arch/ia32/src/drivers/i8254.c	(revision 7f043c0d4fa344ed23d99c9baa9f11cdac734176)
@@ -67,5 +67,5 @@
 }
 
-static void i8254_irq_handler(irq_t *irq, void *arg, ...)
+static void i8254_irq_handler(irq_t *irq, void *arg __attribute__((unused)), ...)
 {
 	/*
@@ -122,5 +122,5 @@
 		/* will read both status and count */
 		outb(CLK_PORT4, 0xc2);
-		not_ok = (inb(CLK_PORT1)>>6)&1;
+		not_ok = (uint8_t) ((inb(CLK_PORT1) >> 6) & 1);
 		t1 = inb(CLK_PORT1);
 		t1 |= inb(CLK_PORT1) << 8;
Index: kernel/arch/ia32/src/drivers/i8259.c
===================================================================
--- kernel/arch/ia32/src/drivers/i8259.c	(revision 7bcfbbc039dd4d392dc880cbc1a87b94b7ca853f)
+++ kernel/arch/ia32/src/drivers/i8259.c	(revision 7f043c0d4fa344ed23d99c9baa9f11cdac734176)
@@ -96,9 +96,9 @@
 	if (irqmask & 0xff) {
 		x = inb(PIC_PIC0PORT2);
-		outb(PIC_PIC0PORT2, x & (~(irqmask & 0xff)));
+		outb(PIC_PIC0PORT2, (uint8_t) (x & (~(irqmask & 0xff))));
 	}
 	if (irqmask >> 8) {
 		x = inb(PIC_PIC1PORT2);
-		outb(PIC_PIC1PORT2, x & (~(irqmask >> 8)));
+		outb(PIC_PIC1PORT2, (uint8_t) (x & (~(irqmask >> 8))));
 	}
 }
@@ -110,9 +110,9 @@
 	if (irqmask & 0xff) {
 		x = inb(PIC_PIC0PORT2);
-		outb(PIC_PIC0PORT2, x | (irqmask & 0xff));
+		outb(PIC_PIC0PORT2, (uint8_t) (x | (irqmask & 0xff)));
 	}
 	if (irqmask >> 8) {
 		x = inb(PIC_PIC1PORT2);
-		outb(PIC_PIC1PORT2, x | (irqmask >> 8));
+		outb(PIC_PIC1PORT2, (uint8_t) (x | (irqmask >> 8)));
 	}
 }
@@ -124,8 +124,8 @@
 }
 
-void pic_spurious(int n, istate_t *istate)
+void pic_spurious(int n __attribute__((unused)), istate_t *istate __attribute__((unused)))
 {
 #ifdef CONFIG_DEBUG
-	printf("cpu%d: PIC spurious interrupt\n", CPU->id);
+	printf("cpu%u: PIC spurious interrupt\n", CPU->id);
 #endif
 }
