Merge branch 'vfs-dev'
[lunaix-os.git] / lunaix-os / includes / arch / x86 / vectors.h
1 #ifndef __LUNAIX_VECTORS_H
2 #define __LUNAIX_VECTORS_H
3
4 // clang-format off
5
6 #define FAULT_DIVISION_ERROR            0
7 #define FAULT_TRAP_DEBUG_EXCEPTION      1
8 #define INT_NMI                         2
9 #define TRAP_BREAKPOINT                 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 // LunaixOS related
30 #define LUNAIX_SYS_PANIC                32
31 #define LUNAIX_SYS_CALL                 33
32 #define LUNAIX_SCHED                    34
33
34 #define EX_INTERRUPT_BEGIN              200
35
36 // Keyboard
37 #define PC_KBD_IV                       201
38 #define AHCI_HBA_IV                     202
39
40 #define RTC_TIMER_IV                    210
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 #define PC_AT_IRQ_RTC                   8
50 #define PC_AT_IRQ_KBD                   1
51
52 // clang-format on
53
54 #endif /* __LUNAIX_VECTORS_H */