xref: /xv6-public/traps.h (revision f5527388)
1a4c03deaSrtm // system defined:
2a4c03deaSrtm #define T_DIVIDE         0          // divide error
3a4c03deaSrtm #define T_DEBUG          1          // debug exception
4a4c03deaSrtm #define T_NMI            2          // non-maskable interrupt
5a4c03deaSrtm #define T_BRKPT          3          // breakpoint
6a4c03deaSrtm #define T_OFLOW          4          // overflow
7a4c03deaSrtm #define T_BOUND          5          // bounds check
8a4c03deaSrtm #define T_ILLOP          6          // illegal opcode
9a4c03deaSrtm #define T_DEVICE         7          // device not available
10a4c03deaSrtm #define T_DBLFLT         8          // double fault
11*f5527388Srsc // #define T_COPROC      9          // reserved (not generated by recent processors)
12a4c03deaSrtm #define T_TSS           10          // invalid task switch segment
13a4c03deaSrtm #define T_SEGNP         11          // segment not present
14a4c03deaSrtm #define T_STACK         12          // stack exception
15a4c03deaSrtm #define T_GPFLT         13          // genernal protection fault
16a4c03deaSrtm #define T_PGFLT         14          // page fault
17*f5527388Srsc // #define T_RES        15          // reserved
18a4c03deaSrtm #define T_FPERR         16          // floating point error
19a4c03deaSrtm #define T_ALIGN         17          // aligment check
20a4c03deaSrtm #define T_MCHK          18          // machine check
21a4c03deaSrtm #define T_SIMDERR       19          // SIMD floating point error
22a4c03deaSrtm 
23a4c03deaSrtm // These are arbitrarily chosen, but with care not to overlap
24a4c03deaSrtm // processor defined exceptions or interrupt vectors.
25a4c03deaSrtm #define T_SYSCALL       48          // system call
26a4c03deaSrtm #define T_DEFAULT      500          // catchall
27bd303ed0Skaashoek 
28bd303ed0Skaashoek #define IRQ_OFFSET      32          // IRQ 0 corresponds to int IRQ_OFFSET
29bd303ed0Skaashoek 
307abf49d2Skaashoek #define IRQ_KBD          1
317abf49d2Skaashoek #define IRQ_IDE         14
32bd303ed0Skaashoek #define IRQ_TIMER       18
33bd303ed0Skaashoek #define IRQ_ERROR       19
34bd303ed0Skaashoek #define IRQ_SPURIOUS    31
35