Index: kernel/arch/ia64/include/arch/interrupt.h
===================================================================
--- kernel/arch/ia64/include/arch/interrupt.h	(revision cf7ad06f6e27e914d86dcc8afb489b3e1bdd5e4f)
+++ kernel/arch/ia64/include/arch/interrupt.h	(revision 32573ffe2f11f1f46237edf372866632f5d0f7f2)
@@ -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 cf7ad06f6e27e914d86dcc8afb489b3e1bdd5e4f)
+++ kernel/arch/ia64/include/arch/mm/tlb.h	(revision 32573ffe2f11f1f46237edf372866632f5d0f7f2)
@@ -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
