#ifndef __LUNAIX_INTERRUPTS_H
#define __LUNAIX_INTERRUPTS_H
+#define FAULT_DIVISION_ERROR 0x0
+#define FAULT_TRAP_DEBUG_EXCEPTION 0x1
+#define INT_NMI 0x2
+#define TRAP_BREAKPOINT 0x3
+#define TRAP_OVERFLOW 0x4
+#define FAULT_BOUND_EXCEED 0x5
+#define FAULT_INVALID_OPCODE 0x6
+#define FAULT_NO_MATH_PROCESSOR 0x7
+#define ABORT_DOUBLE_FAULT 0x8
+#define FAULT_RESERVED_0 0x9
+#define FAULT_INVALID_TSS 0xa
+#define FAULT_SEG_NOT_PRESENT 0xb
+#define FAULT_STACK_SEG_FAULT 0xc
+#define FAULT_GENERAL_PROTECTION 0xd
+#define FAULT_PAGE_FAULT 0xe
+#define FAULT_RESERVED_1 0xf
+#define FAULT_X87_FAULT 0x10
+#define FAULT_ALIGNMENT_CHECK 0x11
+#define ABORT_MACHINE_CHECK 0x12
+#define FAULT_SIMD_FP_EXCEPTION 0x13
+#define FAULT_VIRTUALIZATION_EXCEPTION 0x14
+#define FAULT_CONTROL_PROTECTION 0x15
+
typedef struct {
unsigned int vector;
unsigned int err_code;
unsigned int eip;
unsigned int cs;
unsigned int eflags;
+ unsigned int esp;
+ unsigned int ss;
} __attribute__((packed)) isr_param;
void
_asm_isr0();
void
-interrupt_handler(isr_param* param);
+_asm_isr13();
+void
+interrupt_handler(isr_param* param);
#endif /* __LUNAIX_INTERRUPTS_H */