basic process support and some syscalls
[lunaix-os.git] / lunaix-os / includes / arch / x86 / vectors.h
1 #ifndef __LUNAIX_VECTORS_H
2 #define __LUNAIX_VECTORS_H
3
4 #define FAULT_DIVISION_ERROR            0
5 #define FAULT_TRAP_DEBUG_EXCEPTION      1
6 #define INT_NMI                         2
7 #define TRAP_BREAKPOINT                 3
8 #define TRAP_OVERFLOW                   4
9 #define FAULT_BOUND_EXCEED              5
10 #define FAULT_INVALID_OPCODE            6
11 #define FAULT_NO_MATH_PROCESSOR         7
12 #define ABORT_DOUBLE_FAULT              8
13 #define FAULT_RESERVED_0                9
14 #define FAULT_INVALID_TSS               10
15 #define FAULT_SEG_NOT_PRESENT           11
16 #define FAULT_STACK_SEG_FAULT           12
17 #define FAULT_GENERAL_PROTECTION        13
18 #define FAULT_PAGE_FAULT                14
19 #define FAULT_RESERVED_1                15
20 #define FAULT_X87_FAULT                 16
21 #define FAULT_ALIGNMENT_CHECK           17
22 #define ABORT_MACHINE_CHECK             18
23 #define FAULT_SIMD_FP_EXCEPTION         19
24 #define FAULT_VIRTUALIZATION_EXCEPTION  20
25 #define FAULT_CONTROL_PROTECTION        21
26
27 // LunaixOS related
28 #define LUNAIX_SYS_PANIC                32
29 #define LUNAIX_SYS_CALL                 33
30
31 #define EX_INTERRUPT_BEGIN              200
32
33 // Keyboard
34 #define PC_KBD_IV                       201
35
36 #define RTC_TIMER_IV                    210
37
38 // 来自APIC的中断有着最高的优先级。
39 // APIC related
40 #define APIC_ERROR_IV                   250
41 #define APIC_LINT0_IV                   251
42 #define APIC_SPIV_IV                    252
43 #define APIC_TIMER_IV                   253
44
45 #define PC_AT_IRQ_RTC                   8
46 #define PC_AT_IRQ_KBD                   1
47
48 #endif /* __LUNAIX_VECTORS_H */