Index: kernel/arch/ia64/src/ia64.c
===================================================================
--- kernel/arch/ia64/src/ia64.c	(revision 46db10e9dce687ab447a98a868f099f0b792fcd5)
+++ kernel/arch/ia64/src/ia64.c	(revision 411b6a6f0339f865eaac5f492f2277fdfbbd5fcc)
@@ -55,5 +55,6 @@
 #include <genarch/drivers/legacy/ia32/io.h>
 #include <genarch/drivers/ega/ega.h>
-#include <genarch/kbd/i8042.h>
+#include <genarch/kbrd/kbrd.h>
+#include <genarch/drivers/i8042/i8042.h>
 #include <genarch/kbd/ns16550.h>
 #include <smp/smp.h>
@@ -178,5 +179,7 @@
 #else
 	inr = IRQ_KBD;
-	(void) i8042_init((i8042_t *)I8042_BASE, devno, inr);
+	kbrd_init(stdin);
+	(void) i8042_init((i8042_t *)I8042_BASE, devno, inr, &kbrdin);
+	trap_virtual_enable_irqs(1 << inr);
 	sysinfo_set_item_val("kbd.type", NULL, KBD_LEGACY);
 	sysinfo_set_item_val("kbd.address.physical", NULL,
Index: kernel/arch/ia64/src/smp/smp.c
===================================================================
--- kernel/arch/ia64/src/smp/smp.c	(revision 46db10e9dce687ab447a98a868f099f0b792fcd5)
+++ kernel/arch/ia64/src/smp/smp.c	(revision 411b6a6f0339f865eaac5f492f2277fdfbbd5fcc)
@@ -53,6 +53,4 @@
 #include <ddi/device.h>
 #include <arch/bootinfo.h>
-#include <genarch/kbd/i8042.h>
-#include <genarch/kbd/ns16550.h>
 #include <smp/smp.h>
 #include <smp/ipi.h>
