Index: generic/include/interrupt.h
===================================================================
--- generic/include/interrupt.h	(revision 7ae44435719a45d52472fa45638d0a67fd5cf700)
+++ generic/include/interrupt.h	(revision 39494010cd29538c76268953cc313e6c622f06d5)
@@ -31,10 +31,13 @@
 
 #include <arch/interrupt.h>
+#include <typedefs.h>
 
 #ifndef IVT_ITEMS
-#  define IVT_ITEMS 0
+#	define IVT_ITEMS 0
 #endif
 
-typedef void (* iroutine)(int n, void *stack);
+#ifndef IVT_FIRST
+#	define IVT_FIRST 0
+#endif
 
 extern iroutine exc_register(int n, const char *name, iroutine f);
Index: generic/include/typedefs.h
===================================================================
--- generic/include/typedefs.h	(revision 7ae44435719a45d52472fa45638d0a67fd5cf700)
+++ generic/include/typedefs.h	(revision 39494010cd29538c76268953cc313e6c622f06d5)
@@ -87,3 +87,5 @@
 typedef struct cmd_info cmd_info_t;
 
+typedef void (* iroutine)(int n, void *stack);
+
 #endif
Index: generic/src/interrupt/interrupt.c
===================================================================
--- generic/src/interrupt/interrupt.c	(revision 7ae44435719a45d52472fa45638d0a67fd5cf700)
+++ generic/src/interrupt/interrupt.c	(revision 39494010cd29538c76268953cc313e6c622f06d5)
@@ -75,5 +75,5 @@
 	ASSERT(n < IVT_ITEMS);
 	
-	exc_table[n].f(n, stack);
+	exc_table[n].f(n + IVT_FIRST, stack);
 }
 
@@ -84,5 +84,5 @@
 }
 
-/** KConsole cmd - print all exceptions */
+/** kconsole cmd - print all exceptions */
 static int exc_print_cmd(cmd_arg_t *argv)
 {
@@ -96,5 +96,5 @@
 		if (!symbol)
 			symbol = "not found";
-		printf("%d %s 0x%p(%s)\n",i,exc_table[i].name,
+		printf("%d %s 0x%p(%s)\n", i + IVT_FIRST, exc_table[i].name,
 		       exc_table[i].f,symbol);		
 		if (!((i+1) % 20)) {
