trap.h 893 B

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