Index: kernel/arch/ia64/include/arch/interrupt.h
===================================================================
--- kernel/arch/ia64/include/arch/interrupt.h	(revision af69a4ba72b68409f26d6a65f6f60ac426247b42)
+++ kernel/arch/ia64/include/arch/interrupt.h	(revision 9928240414c72b1dd1c3b2df6d69d5d0fc6d791a)
@@ -36,16 +36,27 @@
 #define KERN_ia64_INTERRUPT_H_
 
+#ifndef __ASM__
 #include <typedefs.h>
 #include <arch/istate.h>
+#endif
+
+#define EXC_ALT_ITLB_FAULT	0xc
+#define EXC_ALT_DTLB_FAULT	0x10
+#define EXC_NESTED_TLB_FAULT	0x14
+#define EXC_DATA_D_BIT_FAULT	0x20
+#define EXC_INST_A_BIT_FAULT	0x24
+#define EXC_DATA_A_BIT_FAULT	0x28
+#define EXC_BREAK_INSTRUCTION	0x2c
+#define EXC_EXT_INTERRUPT	0x30
+#define EXC_PAGE_NOT_PRESENT	0x50
+#define EXC_DATA_AR_FAULT	0x53
+#define EXC_GENERAL_EXCEPTION	0x54
+#define EXC_DISABLED_FP_REG	0x55
+#define EXC_SPECULATION		0x57
 
 /** ia64 has 256 INRs. */
 #define INR_COUNT  256
 
-/*
- * We need to keep this just to compile.
- * We might eventually move interrupt/ stuff
- * to genarch.
- */
-#define IVT_ITEMS  0
+#define IVT_ITEMS  128 
 #define IVT_FIRST  0
 
@@ -72,14 +83,17 @@
 #define EOI  0  /**< The actual value doesn't matter. */
 
+#ifndef __ASM__
 extern void *ivt;
 
-extern void general_exception(uint64_t, istate_t *);
-extern int break_instruction(uint64_t, istate_t *);
-extern void universal_handler(uint64_t, istate_t *);
-extern void nop_handler(uint64_t, istate_t *);
-extern void external_interrupt(uint64_t, istate_t *);
-extern void disabled_fp_register(uint64_t, istate_t *);
+extern void general_exception(unsigned int, istate_t *);
+extern sysarg_t break_instruction(unsigned int, istate_t *);
+extern void universal_handler(unsigned int, istate_t *);
+extern void external_interrupt(unsigned int, istate_t *);
+extern void disabled_fp_register(unsigned int, istate_t *);
 
 extern void trap_virtual_enable_irqs(uint16_t);
+
+void exception_init(void);
+#endif
 
 #endif
Index: kernel/arch/ia64/include/arch/mm/tlb.h
===================================================================
--- kernel/arch/ia64/include/arch/mm/tlb.h	(revision af69a4ba72b68409f26d6a65f6f60ac426247b42)
+++ kernel/arch/ia64/include/arch/mm/tlb.h	(revision 9928240414c72b1dd1c3b2df6d69d5d0fc6d791a)
@@ -86,12 +86,12 @@
 extern void itc_pte_copy(pte_t *t);
 
-extern void alternate_instruction_tlb_fault(uint64_t vector, istate_t *istate);
-extern void alternate_data_tlb_fault(uint64_t vector, istate_t *istate);
-extern void data_nested_tlb_fault(uint64_t vector, istate_t *istate);
-extern void data_dirty_bit_fault(uint64_t vector, istate_t *istate);
-extern void instruction_access_bit_fault(uint64_t vector, istate_t *istate);
-extern void data_access_bit_fault(uint64_t vector, istate_t *istate);
-extern void data_access_rights_fault(uint64_t vector, istate_t *istate);
-extern void page_not_present(uint64_t vector, istate_t *istate);
+extern void alternate_instruction_tlb_fault(unsigned int, istate_t *);
+extern void alternate_data_tlb_fault(unsigned int, istate_t *);
+extern void data_nested_tlb_fault(unsigned int, istate_t *);
+extern void data_dirty_bit_fault(unsigned int, istate_t *);
+extern void instruction_access_bit_fault(unsigned int, istate_t *);
+extern void data_access_bit_fault(unsigned int, istate_t *);
+extern void data_access_rights_fault(unsigned int, istate_t *);
+extern void page_not_present(unsigned int, istate_t *);
 
 #endif
Index: kernel/arch/ia64/src/ia64.c
===================================================================
--- kernel/arch/ia64/src/ia64.c	(revision af69a4ba72b68409f26d6a65f6f60ac426247b42)
+++ kernel/arch/ia64/src/ia64.c	(revision 9928240414c72b1dd1c3b2df6d69d5d0fc6d791a)
@@ -37,4 +37,5 @@
 #include <errno.h>
 #include <interrupt.h>
+#include <arch/interrupt.h>
 #include <macros.h>
 #include <str.h>
@@ -85,4 +86,6 @@
 void arch_pre_mm_init(void)
 {
+	if (config.cpu_active == 1)
+		exception_init();
 }
 
Index: kernel/arch/ia64/src/interrupt.c
===================================================================
--- kernel/arch/ia64/src/interrupt.c	(revision af69a4ba72b68409f26d6a65f6f60ac426247b42)
+++ kernel/arch/ia64/src/interrupt.c	(revision 9928240414c72b1dd1c3b2df6d69d5d0fc6d791a)
@@ -54,4 +54,5 @@
 #include <synch/spinlock.h>
 #include <mm/tlb.h>
+#include <arch/mm/tlb.h>
 #include <symtab.h>
 #include <putchar.h>
@@ -59,9 +60,7 @@
 #define VECTORS_64_BUNDLE        20
 #define VECTORS_16_BUNDLE        48
-#define VECTORS_16_BUNDLE_START  0x5000
-
-#define VECTOR_MAX  0x7f00
-
-#define BUNDLE_SIZE  16
+#define VECTORS_16_BUNDLE_START  0x50
+
+#define VECTOR_MAX  0x7f
 
 static const char *vector_names_64_bundle[VECTORS_64_BUNDLE] = {
@@ -122,13 +121,12 @@
 };
 
-static const char *vector_to_string(uint16_t vector)
-{
-	ASSERT(vector <= VECTOR_MAX);
-	
-	if (vector >= VECTORS_16_BUNDLE_START)
-		return vector_names_16_bundle[(vector -
-		    VECTORS_16_BUNDLE_START) / (16 * BUNDLE_SIZE)];
+static const char *vector_to_string(unsigned int n)
+{
+	ASSERT(n <= VECTOR_MAX);
+	
+	if (n >= VECTORS_16_BUNDLE_START)
+		return vector_names_16_bundle[n - VECTORS_16_BUNDLE_START];
 	else
-		return vector_names_64_bundle[vector / (64 * BUNDLE_SIZE)];
+		return vector_names_64_bundle[n / 4];
 }
 
@@ -153,5 +151,5 @@
 }
 
-void general_exception(uint64_t vector, istate_t *istate)
+void general_exception(unsigned int n, istate_t *istate)
 {
 	const char *desc;
@@ -182,8 +180,8 @@
 	
 	fault_if_from_uspace(istate, "General Exception (%s).", desc);
-	panic_badtrap(istate, vector, "General Exception (%s).", desc);
-}
-
-void disabled_fp_register(uint64_t vector, istate_t *istate)
+	panic_badtrap(istate, n, "General Exception (%s).", desc);
+}
+
+void disabled_fp_register(unsigned int n, istate_t *istate)
 {
 #ifdef CONFIG_FPU_LAZY
@@ -191,16 +189,12 @@
 #else
 	fault_if_from_uspace(istate, "Interruption: %#hx (%s).",
-	    (uint16_t) vector, vector_to_string(vector));
+	    (uint16_t) n, vector_to_string(n));
 	panic_badtrap(istate, vector, "Interruption: %#hx (%s).",
-	    (uint16_t) vector, vector_to_string(vector));
+	    (uint16_t) n, vector_to_string(n));
 #endif
 }
 
-void nop_handler(uint64_t vector, istate_t *istate)
-{
-}
-
 /** Handle syscall. */
-int break_instruction(uint64_t vector, istate_t *istate)
+sysarg_t break_instruction(unsigned int n, istate_t *istate)
 {
 	/*
@@ -218,10 +212,10 @@
 }
 
-void universal_handler(uint64_t vector, istate_t *istate)
+void universal_handler(unsigned int n, istate_t *istate)
 {
 	fault_if_from_uspace(istate, "Interruption: %#hx (%s).",
-	    (uint16_t) vector, vector_to_string(vector));
-	panic_badtrap(istate, vector, "Interruption: %#hx (%s).",
-	    (uint16_t) vector, vector_to_string(vector));
+	    n, vector_to_string(n));
+	panic_badtrap(istate, n, "Interruption: %#hx (%s).",
+	    n, vector_to_string(n));
 }
 
@@ -229,9 +223,9 @@
 {
 	asm volatile (
-		"mov cr.eoi=r0;;"
+		"mov cr.eoi = r0 ;;"
 	);
 }
 
-void external_interrupt(uint64_t vector, istate_t *istate)
+void external_interrupt(unsigned int n, istate_t *istate)
 {
 	cr_ivr_t ivr;
@@ -298,4 +292,47 @@
 }
 
+void exception_init(void)
+{
+	unsigned int i;
+
+	for (i = 0; i < IVT_ITEMS; i++)
+		exc_register(i, "universal_handler", false, universal_handler);
+
+	exc_register(EXC_ALT_ITLB_FAULT,
+	    vector_to_string(EXC_ALT_ITLB_FAULT), true,
+	    alternate_instruction_tlb_fault);
+	exc_register(EXC_ALT_DTLB_FAULT,
+	    vector_to_string(EXC_ALT_DTLB_FAULT), true,
+	    alternate_data_tlb_fault);
+	exc_register(EXC_NESTED_TLB_FAULT,
+	    vector_to_string(EXC_NESTED_TLB_FAULT), false,
+	    data_nested_tlb_fault);
+	exc_register(EXC_DATA_D_BIT_FAULT,
+	    vector_to_string(EXC_DATA_D_BIT_FAULT), true,
+	    data_dirty_bit_fault);
+	exc_register(EXC_INST_A_BIT_FAULT,
+	    vector_to_string(EXC_INST_A_BIT_FAULT), true,
+	    instruction_access_bit_fault);
+	exc_register(EXC_DATA_A_BIT_FAULT, 
+	    vector_to_string(EXC_DATA_A_BIT_FAULT), true,
+	    data_access_bit_fault);
+	exc_register(EXC_EXT_INTERRUPT,
+	    vector_to_string(EXC_EXT_INTERRUPT), true,
+	    external_interrupt);
+
+	exc_register(EXC_PAGE_NOT_PRESENT,
+	    vector_to_string(EXC_PAGE_NOT_PRESENT), true,
+	    page_not_present);
+	exc_register(EXC_DATA_AR_FAULT,
+	    vector_to_string(EXC_DATA_AR_FAULT), true,
+	    data_access_rights_fault);
+	exc_register(EXC_GENERAL_EXCEPTION,
+	    vector_to_string(EXC_GENERAL_EXCEPTION), false,
+	    general_exception);
+	exc_register(EXC_DISABLED_FP_REG,
+	    vector_to_string(EXC_DISABLED_FP_REG), true,
+	    disabled_fp_register);
+}
+
 /** @}
  */
Index: kernel/arch/ia64/src/ivt.S
===================================================================
--- kernel/arch/ia64/src/ivt.S	(revision af69a4ba72b68409f26d6a65f6f60ac426247b42)
+++ kernel/arch/ia64/src/ivt.S	(revision 9928240414c72b1dd1c3b2df6d69d5d0fc6d791a)
@@ -31,4 +31,5 @@
 #include <arch/register.h>
 #include <arch/mm/page.h>
+#include <arch/interrupt.h>
 #include <arch/istate_struct.h>
 #include <align.h>
@@ -39,14 +40,13 @@
 
 /** Partitioning of bank 0 registers. */
-#define R_OFFS 		r16
+#define R_VECTOR	r16
 #define R_HANDLER	r17
 #define R_RET		r18
-#define R_TMP		r19
 #define R_KSTACK_BSP	r22	/* keep in sync with before_thread_runs_arch() */
 #define R_KSTACK	r23	/* keep in sync with before_thread_runs_arch() */
 
 /* Speculation vector handler */
-.macro SPECULATION_VECTOR_HANDLER offs
-    .org ivt + \offs
+.macro SPECULATION_VECTOR_HANDLER vector 
+    .org ivt + \vector * 0x100
 
     /* 1. Save predicates, IIM, IIP, IPSR and ISR CR's in bank 0 registers. */
@@ -94,7 +94,7 @@
  * @param handler Interrupt handler address.
  */
-.macro HEAVYWEIGHT_HANDLER offs, handler=universal_handler
-    .org ivt + \offs
-	mov R_OFFS = \offs
+.macro HEAVYWEIGHT_HANDLER vector, handler=exc_dispatch
+    .org ivt + \vector * 0x100
+	mov R_VECTOR = \vector
 	movl R_HANDLER = \handler ;;
 	br heavyweight_handler
@@ -165,6 +165,5 @@
 	 * copy input parameters to stack.
 	 */
-    	mov R_TMP = 0x2c00 ;;
-	cmp.eq p6, p5 = R_OFFS, R_TMP ;;
+	cmp.eq p6, p5 = EXC_BREAK_INSTRUCTION, R_VECTOR ;;
 	
 	/*
@@ -309,5 +308,5 @@
 	mov loc1 = R_RET	/* b0 belonging to interrupted context */
 	mov loc2 = R_HANDLER
-	mov out0 = R_OFFS
+	mov out0 = R_VECTOR
 	
 	add out1 = STACK_SCRATCH_AREA_SIZE, r12
@@ -543,73 +542,73 @@
 .align 32768
 ivt:
-	HEAVYWEIGHT_HANDLER 0x0000
-	HEAVYWEIGHT_HANDLER 0x0400
-	HEAVYWEIGHT_HANDLER 0x0800
-	HEAVYWEIGHT_HANDLER 0x0c00 alternate_instruction_tlb_fault
-	HEAVYWEIGHT_HANDLER 0x1000 alternate_data_tlb_fault
-	HEAVYWEIGHT_HANDLER 0x1400 data_nested_tlb_fault
-	HEAVYWEIGHT_HANDLER 0x1800
-	HEAVYWEIGHT_HANDLER 0x1c00
-	HEAVYWEIGHT_HANDLER 0x2000 data_dirty_bit_fault
-	HEAVYWEIGHT_HANDLER 0x2400 instruction_access_bit_fault
-	HEAVYWEIGHT_HANDLER 0x2800 data_access_bit_fault
-	HEAVYWEIGHT_HANDLER 0x2c00 break_instruction
-	HEAVYWEIGHT_HANDLER 0x3000 external_interrupt	/* For external interrupt, heavyweight handler is used. */
-	HEAVYWEIGHT_HANDLER 0x3400
-	HEAVYWEIGHT_HANDLER 0x3800
-	HEAVYWEIGHT_HANDLER 0x3c00
-	HEAVYWEIGHT_HANDLER 0x4000
-	HEAVYWEIGHT_HANDLER 0x4400
-	HEAVYWEIGHT_HANDLER 0x4800
-	HEAVYWEIGHT_HANDLER 0x4c00
-
-	HEAVYWEIGHT_HANDLER 0x5000 page_not_present
-	HEAVYWEIGHT_HANDLER 0x5100
-	HEAVYWEIGHT_HANDLER 0x5200
-	HEAVYWEIGHT_HANDLER 0x5300 data_access_rights_fault
-	HEAVYWEIGHT_HANDLER 0x5400 general_exception
-	HEAVYWEIGHT_HANDLER 0x5500 disabled_fp_register
-	HEAVYWEIGHT_HANDLER 0x5600
-	SPECULATION_VECTOR_HANDLER 0x5700
-	HEAVYWEIGHT_HANDLER 0x5800
-	HEAVYWEIGHT_HANDLER 0x5900
-	HEAVYWEIGHT_HANDLER 0x5a00
-	HEAVYWEIGHT_HANDLER 0x5b00
-	HEAVYWEIGHT_HANDLER 0x5c00
-	HEAVYWEIGHT_HANDLER 0x5d00 
-	HEAVYWEIGHT_HANDLER 0x5e00
-	HEAVYWEIGHT_HANDLER 0x5f00
-	
-	HEAVYWEIGHT_HANDLER 0x6000
-	HEAVYWEIGHT_HANDLER 0x6100
-	HEAVYWEIGHT_HANDLER 0x6200
-	HEAVYWEIGHT_HANDLER 0x6300
-	HEAVYWEIGHT_HANDLER 0x6400
-	HEAVYWEIGHT_HANDLER 0x6500
-	HEAVYWEIGHT_HANDLER 0x6600
-	HEAVYWEIGHT_HANDLER 0x6700
-	HEAVYWEIGHT_HANDLER 0x6800
-	HEAVYWEIGHT_HANDLER 0x6900
-	HEAVYWEIGHT_HANDLER 0x6a00
-	HEAVYWEIGHT_HANDLER 0x6b00
-	HEAVYWEIGHT_HANDLER 0x6c00
-	HEAVYWEIGHT_HANDLER 0x6d00
-	HEAVYWEIGHT_HANDLER 0x6e00
-	HEAVYWEIGHT_HANDLER 0x6f00
-
-	HEAVYWEIGHT_HANDLER 0x7000
-	HEAVYWEIGHT_HANDLER 0x7100
-	HEAVYWEIGHT_HANDLER 0x7200
-	HEAVYWEIGHT_HANDLER 0x7300
-	HEAVYWEIGHT_HANDLER 0x7400
-	HEAVYWEIGHT_HANDLER 0x7500
-	HEAVYWEIGHT_HANDLER 0x7600
-	HEAVYWEIGHT_HANDLER 0x7700
-	HEAVYWEIGHT_HANDLER 0x7800
-	HEAVYWEIGHT_HANDLER 0x7900
-	HEAVYWEIGHT_HANDLER 0x7a00
-	HEAVYWEIGHT_HANDLER 0x7b00
-	HEAVYWEIGHT_HANDLER 0x7c00
-	HEAVYWEIGHT_HANDLER 0x7d00
-	HEAVYWEIGHT_HANDLER 0x7e00
-	HEAVYWEIGHT_HANDLER 0x7f00
+	HEAVYWEIGHT_HANDLER 0x00
+	HEAVYWEIGHT_HANDLER 0x04
+	HEAVYWEIGHT_HANDLER 0x08
+	HEAVYWEIGHT_HANDLER 0x0c
+	HEAVYWEIGHT_HANDLER 0x10
+	HEAVYWEIGHT_HANDLER 0x14
+	HEAVYWEIGHT_HANDLER 0x18
+	HEAVYWEIGHT_HANDLER 0x1c
+	HEAVYWEIGHT_HANDLER 0x20
+	HEAVYWEIGHT_HANDLER 0x24
+	HEAVYWEIGHT_HANDLER 0x28
+	HEAVYWEIGHT_HANDLER 0x2c break_instruction
+	HEAVYWEIGHT_HANDLER 0x30
+	HEAVYWEIGHT_HANDLER 0x34
+	HEAVYWEIGHT_HANDLER 0x38
+	HEAVYWEIGHT_HANDLER 0x3c
+	HEAVYWEIGHT_HANDLER 0x40
+	HEAVYWEIGHT_HANDLER 0x44
+	HEAVYWEIGHT_HANDLER 0x48
+	HEAVYWEIGHT_HANDLER 0x4c
+
+	HEAVYWEIGHT_HANDLER 0x50
+	HEAVYWEIGHT_HANDLER 0x51
+	HEAVYWEIGHT_HANDLER 0x52
+	HEAVYWEIGHT_HANDLER 0x53
+	HEAVYWEIGHT_HANDLER 0x54
+	HEAVYWEIGHT_HANDLER 0x55
+	HEAVYWEIGHT_HANDLER 0x56
+	SPECULATION_VECTOR_HANDLER 0x57
+	HEAVYWEIGHT_HANDLER 0x58
+	HEAVYWEIGHT_HANDLER 0x59
+	HEAVYWEIGHT_HANDLER 0x5a
+	HEAVYWEIGHT_HANDLER 0x5b
+	HEAVYWEIGHT_HANDLER 0x5c
+	HEAVYWEIGHT_HANDLER 0x5d 
+	HEAVYWEIGHT_HANDLER 0x5e
+	HEAVYWEIGHT_HANDLER 0x5f
+	
+	HEAVYWEIGHT_HANDLER 0x60
+	HEAVYWEIGHT_HANDLER 0x61
+	HEAVYWEIGHT_HANDLER 0x62
+	HEAVYWEIGHT_HANDLER 0x63
+	HEAVYWEIGHT_HANDLER 0x64
+	HEAVYWEIGHT_HANDLER 0x65
+	HEAVYWEIGHT_HANDLER 0x66
+	HEAVYWEIGHT_HANDLER 0x67
+	HEAVYWEIGHT_HANDLER 0x68
+	HEAVYWEIGHT_HANDLER 0x69
+	HEAVYWEIGHT_HANDLER 0x6a
+	HEAVYWEIGHT_HANDLER 0x6b
+	HEAVYWEIGHT_HANDLER 0x6c
+	HEAVYWEIGHT_HANDLER 0x6d
+	HEAVYWEIGHT_HANDLER 0x6e
+	HEAVYWEIGHT_HANDLER 0x6f
+
+	HEAVYWEIGHT_HANDLER 0x70
+	HEAVYWEIGHT_HANDLER 0x71
+	HEAVYWEIGHT_HANDLER 0x72
+	HEAVYWEIGHT_HANDLER 0x73
+	HEAVYWEIGHT_HANDLER 0x74
+	HEAVYWEIGHT_HANDLER 0x75
+	HEAVYWEIGHT_HANDLER 0x76
+	HEAVYWEIGHT_HANDLER 0x77
+	HEAVYWEIGHT_HANDLER 0x78
+	HEAVYWEIGHT_HANDLER 0x79
+	HEAVYWEIGHT_HANDLER 0x7a
+	HEAVYWEIGHT_HANDLER 0x7b
+	HEAVYWEIGHT_HANDLER 0x7c
+	HEAVYWEIGHT_HANDLER 0x7d
+	HEAVYWEIGHT_HANDLER 0x7e
+	HEAVYWEIGHT_HANDLER 0x7f
Index: kernel/arch/ia64/src/mm/tlb.c
===================================================================
--- kernel/arch/ia64/src/mm/tlb.c	(revision af69a4ba72b68409f26d6a65f6f60ac426247b42)
+++ kernel/arch/ia64/src/mm/tlb.c	(revision 9928240414c72b1dd1c3b2df6d69d5d0fc6d791a)
@@ -477,9 +477,9 @@
 /** Instruction TLB fault handler for faults with VHPT turned off.
  *
- * @param vector Interruption vector.
- * @param istate Structure with saved interruption state.
- *
- */
-void alternate_instruction_tlb_fault(uint64_t vector, istate_t *istate)
+ * @param n Interruption vector.
+ * @param istate Structure with saved interruption state.
+ *
+ */
+void alternate_instruction_tlb_fault(unsigned int n, istate_t *istate)
 {
 	uintptr_t va;
@@ -566,9 +566,9 @@
 /** Data TLB fault handler for faults with VHPT turned off.
  *
- * @param vector Interruption vector.
- * @param istate Structure with saved interruption state.
- *
- */
-void alternate_data_tlb_fault(uint64_t vector, istate_t *istate)
+ * @param n Interruption vector.
+ * @param istate Structure with saved interruption state.
+ *
+ */
+void alternate_data_tlb_fault(unsigned int n, istate_t *istate)
 {
 	if (istate->cr_isr.sp) {
@@ -623,9 +623,9 @@
  * This fault should not occur.
  *
- * @param vector Interruption vector.
- * @param istate Structure with saved interruption state.
- *
- */
-void data_nested_tlb_fault(uint64_t vector, istate_t *istate)
+ * @param n Interruption vector.
+ * @param istate Structure with saved interruption state.
+ *
+ */
+void data_nested_tlb_fault(unsigned int n, istate_t *istate)
 {
 	ASSERT(false);
@@ -634,9 +634,9 @@
 /** Data Dirty bit fault handler.
  *
- * @param vector Interruption vector.
- * @param istate Structure with saved interruption state.
- *
- */
-void data_dirty_bit_fault(uint64_t vector, istate_t *istate)
+ * @param n Interruption vector.
+ * @param istate Structure with saved interruption state.
+ *
+ */
+void data_dirty_bit_fault(unsigned int n, istate_t *istate)
 {
 	uintptr_t va;
@@ -665,9 +665,9 @@
 /** Instruction access bit fault handler.
  *
- * @param vector Interruption vector.
- * @param istate Structure with saved interruption state.
- *
- */
-void instruction_access_bit_fault(uint64_t vector, istate_t *istate)
+ * @param n Interruption vector.
+ * @param istate Structure with saved interruption state.
+ *
+ */
+void instruction_access_bit_fault(unsigned int n, istate_t *istate)
 {
 	uintptr_t va;
@@ -694,9 +694,9 @@
 /** Data access bit fault handler.
  *
- * @param vector Interruption vector.
- * @param istate Structure with saved interruption state.
- *
- */
-void data_access_bit_fault(uint64_t vector, istate_t *istate)
+ * @param n Interruption vector.
+ * @param istate Structure with saved interruption state.
+ *
+ */
+void data_access_bit_fault(unsigned int n, istate_t *istate)
 {
 	uintptr_t va;
@@ -729,9 +729,9 @@
 /** Data access rights fault handler.
  *
- * @param vector Interruption vector.
- * @param istate Structure with saved interruption state.
- *
- */
-void data_access_rights_fault(uint64_t vector, istate_t *istate)
+ * @param n Interruption vector.
+ * @param istate Structure with saved interruption state.
+ *
+ */
+void data_access_rights_fault(unsigned int n, istate_t *istate)
 {
 	uintptr_t va;
@@ -753,9 +753,9 @@
 /** Page not present fault handler.
  *
- * @param vector Interruption vector.
- * @param istate Structure with saved interruption state.
- *
- */
-void page_not_present(uint64_t vector, istate_t *istate)
+ * @param n Interruption vector.
+ * @param istate Structure with saved interruption state.
+ *
+ */
+void page_not_present(unsigned int n, istate_t *istate)
 {
 	uintptr_t va;
