tabs/kernel/exception_list.c
2020-01-09 16:27:19 +01:00

34 lines
1.5 KiB
C

typedef enum exception_enum {
DIVIDE_BY_ZERO = 0,
DEBUG = 1,
NON_MASKABLE_INTERRUPT = 2,
BREAKPOINT = 3,
OVERFLOW = 4,
BOUND_RANGE_EXCEEDED = 5,
INVALID_OPCODE = 6,
DEVICE_NOT_AVAILABLE = 7,
DOUBLE_FAULT = 8, // Error code = 0
COPROCESSOR_SEG_OVERRUN = 9,
INVALID_TSS = 10, // Error code = (invalid selector index)
SEGMENT_NOT_PRESENT = 11, // Error code = (segment selector index)
STACK_SEGMENT_FAULT = 12, // Error code = (segment selector index) if invalid ssi, otherwise 0
GENERAL_PROTECTION_FAULT = 13, // Error code = (segment selector index) if invalid ssi, otherwise 0
PAGE_FAULT = 14, // Error code = bitmap, see https://wiki.osdev.org/Exceptions#Page_Fault
RESERVED_15 = 15,
X87_FP_EXCEPTION = 16,
ALIGNMENT_CHECK = 17,
MACHINE_CHECK = 18,
SIMD_FP_EXCEPTION = 19,
VIRTUALIZATION_EXCEPTION = 20,
RESERVED_21 = 21,
RESERVED_22 = 22,
RESERVED_23 = 23,
RESERVED_24 = 24,
RESERVED_25 = 25,
RESERVED_26 = 26,
RESERVED_27 = 27,
RESERVED_28 = 28,
RESERVED_29 = 29,
SECURITY_EXCEPTION = 30,
RESERVED_31 = 31
} exception;