1 /** 2 * @file trap.h 3 * @author longjin@RinGoTek.cn 4 * @brief 异常捕获模块 5 * @date 2022-01-24 6 * 7 */ 8 9 #pragma once 10 11 #include <common/printk.h> 12 #include <common/glib.h> 13 #include <common/asm.h> 14 15 /** 16 * @brief 初始化系统中断表 17 * 18 */ 19 20 21 //除法错误 22 void divide_error(); 23 // 调试 24 void debug(); 25 // 不可屏蔽中断 26 void nmi(); 27 // 28 void int3(); 29 // 溢出 30 void overflow(); 31 // 边界问题 32 void bounds(); 33 // 未定义的操作数 34 void undefined_opcode(); 35 // 设备不可用 36 void dev_not_avaliable(); 37 void double_fault(); 38 void coprocessor_segment_overrun(); 39 void invalid_TSS(); 40 void segment_not_exists(); 41 void stack_segment_fault(); 42 void general_protection(); 43 // 缺页异常 44 void page_fault(); 45 void x87_FPU_error(); 46 void alignment_check(); 47 void machine_check(); 48 void SIMD_exception(); 49 void virtualization_exception(); 50 51 void syscall_int(); // 系统调用门 52 void sys_vector_init();