1 #ifndef __LUNAIX_INTERRUPTS_H
2 #define __LUNAIX_INTERRUPTS_H
4 #define FAULT_DIVISION_ERROR 0x0
5 #define FAULT_TRAP_DEBUG_EXCEPTION 0x1
7 #define TRAP_BREAKPOINT 0x3
8 #define TRAP_OVERFLOW 0x4
9 #define FAULT_BOUND_EXCEED 0x5
10 #define FAULT_INVALID_OPCODE 0x6
11 #define FAULT_NO_MATH_PROCESSOR 0x7
12 #define ABORT_DOUBLE_FAULT 0x8
13 #define FAULT_RESERVED_0 0x9
14 #define FAULT_INVALID_TSS 0xa
15 #define FAULT_SEG_NOT_PRESENT 0xb
16 #define FAULT_STACK_SEG_FAULT 0xc
17 #define FAULT_GENERAL_PROTECTION 0xd
18 #define FAULT_PAGE_FAULT 0xe
19 #define FAULT_RESERVED_1 0xf
20 #define FAULT_X87_FAULT 0x10
21 #define FAULT_ALIGNMENT_CHECK 0x11
22 #define ABORT_MACHINE_CHECK 0x12
23 #define FAULT_SIMD_FP_EXCEPTION 0x13
24 #define FAULT_VIRTUALIZATION_EXCEPTION 0x14
25 #define FAULT_CONTROL_PROTECTION 0x15
29 unsigned int err_code;
35 } __attribute__((packed)) isr_param;
47 interrupt_handler(isr_param* param);
49 #endif /* __LUNAIX_INTERRUPTS_H */