Merge remote-tracking branch 'origin/master' into isa/arm64
[lunaix-os.git] / lunaix-os / arch / x86 / includes / asm / x86_ivs.h
1 #ifndef __LUNAIX_X86IVS_H
2 #define __LUNAIX_X86IVS_H
3
4 #define TOTAL_IV 256
5
6 #define FAULT_DIVISION_ERROR            0
7 #define INSTR_DEBUG                     1
8 #define INT_NMI                         2
9 #define INSTR_BREAK                     3
10 #define TRAP_OVERFLOW                   4
11 #define FAULT_BOUND_EXCEED              5
12 #define FAULT_INVALID_OPCODE            6
13 #define FAULT_NO_MATH_PROCESSOR         7
14 #define ABORT_DOUBLE_FAULT              8
15 #define FAULT_RESERVED_0                9
16 #define FAULT_INVALID_TSS               10
17 #define FAULT_SEG_NOT_PRESENT           11
18 #define FAULT_STACK_SEG_FAULT           12
19 #define FAULT_GENERAL_PROTECTION        13
20 #define FAULT_PAGE_FAULT                14
21 #define FAULT_RESERVED_1                15
22 #define FAULT_X87_FAULT                 16
23 #define FAULT_ALIGNMENT_CHECK           17
24 #define ABORT_MACHINE_CHECK             18
25 #define FAULT_SIMD_FP_EXCEPTION         19
26 #define FAULT_VIRTUALIZATION_EXCEPTION  20
27 #define FAULT_CONTROL_PROTECTION        21
28
29 #define IV_BASE_END       31
30
31 // LunaixOS related
32 #define LUNAIX_SYS_PANIC                32
33 #define LUNAIX_SYS_CALL                 33
34
35 // begin allocatable iv resources
36 #define LUNAIX_SCHED                    50
37 #define IV_EX_BEGIN                     51
38
39 // end allocatable iv resources
40 #define IV_EX_END                       249
41
42 // 来自APIC的中断有着最高的优先级。
43 // APIC related
44 #define APIC_ERROR_IV                   250
45 #define APIC_LINT0_IV                   251
46 #define APIC_SPIV_IV                    252
47 #define APIC_TIMER_IV                   253
48
49 // clang-format on
50
51 #endif /* __LUNAIX_X86IVS_H */