Index: arch/ia32/src/interrupt.c
===================================================================
--- arch/ia32/src/interrupt.c	(revision 5f85c910c3b85368172260d2de0f5da623a4742b)
+++ arch/ia32/src/interrupt.c	(revision a3ac9a7e277c7bc7d416f4d9ad871db2c430696c)
@@ -44,12 +44,11 @@
  */
 
-static iroutine ivt[IVT_ITEMS];
-
 void (* disable_irqs_function)(__u16 irqmask) = NULL;
 void (* enable_irqs_function)(__u16 irqmask) = NULL;
 void (* eoi_function)(void) = NULL;
 
-#define PRINT_INFO_ERRCODE(x) { \
-	char *symbol = get_symtab_entry(stack[1]); \
+#define PRINT_INFO_ERRCODE(st) { \
+        __native *x = (__native *) st; \
+	char *symbol = get_symtab_entry(x[1]); \
 	if (!symbol) \
 		symbol = ""; \
@@ -66,29 +65,8 @@
         }
 
-iroutine trap_register(__u8 n, iroutine f)
+void null_interrupt(int n, void *st)
 {
-	ASSERT(n < IVT_ITEMS);
-	
-	iroutine old;
-	
-	old = ivt[n];
-	ivt[n] = f;
-	
-	return old;
-}
+	__native *stack = (__native *) st;
 
-/*
- * Called directly from the assembler code.
- * CPU is interrupts_disable()'d.
- */
-void trap_dispatcher(__u8 n, __native stack[])
-{
-	ASSERT(n < IVT_ITEMS);
-	
-	ivt[n](n, stack);
-}
-
-void null_interrupt(__u8 n, __native stack[])
-{
 	printf("int %d: null_interrupt\n", n);
 	printf("stack: %L, %L, %L, %L\n", stack[0], stack[1], stack[2], stack[3]);
@@ -96,5 +74,5 @@
 }
 
-void gp_fault(__u8 n, __native stack[])
+void gp_fault(int n, void *stack)
 {
 	PRINT_INFO_ERRCODE(stack);
@@ -102,5 +80,5 @@
 }
 
-void ss_fault(__u8 n, __native stack[])
+void ss_fault(int n, void *stack)
 {
 	PRINT_INFO_ERRCODE(stack);
@@ -109,5 +87,5 @@
 
 
-void nm_fault(__u8 n, __native stack[])
+void nm_fault(int n, void *stack)
 {
 #ifdef CONFIG_FPU_LAZY     
@@ -120,5 +98,5 @@
 
 
-void page_fault(__u8 n, __native stack[])
+void page_fault(int n, void *stack)
 {
 	PRINT_INFO_ERRCODE(stack);
@@ -127,5 +105,5 @@
 }
 
-void syscall(__u8 n, __native stack[])
+void syscall(int n, void *stack)
 {
 	printf("cpu%d: syscall\n", CPU->id);
@@ -133,5 +111,5 @@
 }
 
-void tlb_shootdown_ipi(__u8 n, __native stack[])
+void tlb_shootdown_ipi(int n, void *stack)
 {
 	trap_virtual_eoi();
@@ -139,5 +117,5 @@
 }
 
-void wakeup_ipi(__u8 n, __native stack[])
+void wakeup_ipi(int n, void *stack)
 {
 	trap_virtual_eoi();
