diff options
author | rtm <rtm> | 2006-06-15 16:02:20 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-06-15 16:02:20 +0000 |
commit | a4c03dea09b7b5f2463147e979d20b035b81de96 (patch) | |
tree | 3ba362f412faf45f0fb0e93b72f613ecc3956193 /traps.h | |
parent | cb83c71628378bc0e295dd71bf6641379fbcdf37 (diff) | |
download | xv6-labs-a4c03dea09b7b5f2463147e979d20b035b81de96.tar.gz xv6-labs-a4c03dea09b7b5f2463147e979d20b035b81de96.tar.bz2 xv6-labs-a4c03dea09b7b5f2463147e979d20b035b81de96.zip |
primitive fork and exit system calls
Diffstat (limited to 'traps.h')
-rw-r--r-- | traps.h | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -0,0 +1,26 @@ +// system defined: +#define T_DIVIDE 0 // divide error +#define T_DEBUG 1 // debug exception +#define T_NMI 2 // non-maskable interrupt +#define T_BRKPT 3 // breakpoint +#define T_OFLOW 4 // overflow +#define T_BOUND 5 // bounds check +#define T_ILLOP 6 // illegal opcode +#define T_DEVICE 7 // device not available +#define T_DBLFLT 8 // double fault +/* #define T_COPROC 9 */ // reserved (not generated by recent processors) +#define T_TSS 10 // invalid task switch segment +#define T_SEGNP 11 // segment not present +#define T_STACK 12 // stack exception +#define T_GPFLT 13 // genernal protection fault +#define T_PGFLT 14 // page fault +/* #define T_RES 15 */ // reserved +#define T_FPERR 16 // floating point error +#define T_ALIGN 17 // aligment check +#define T_MCHK 18 // machine check +#define T_SIMDERR 19 // SIMD floating point error + +// These are arbitrarily chosen, but with care not to overlap +// processor defined exceptions or interrupt vectors. +#define T_SYSCALL 48 // system call +#define T_DEFAULT 500 // catchall |