trap.h 862 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. void sys_vector_init();
  17. //除法错误
  18. void divide_error();
  19. // 调试
  20. void debug();
  21. // 不可屏蔽中断
  22. void nmi();
  23. //
  24. void int3();
  25. // 溢出
  26. void overflow();
  27. // 边界问题
  28. void bounds();
  29. // 未定义的操作数
  30. void undefined_opcode();
  31. // 设备不可用
  32. void dev_not_avaliable();
  33. void double_fault();
  34. void coprocessor_segment_overrun();
  35. void invalid_TSS();
  36. void segment_not_exists();
  37. void stack_segment_fault();
  38. void general_protection();
  39. // 缺页异常
  40. void page_fault();
  41. void x87_FPU_error();
  42. void alignment_check();
  43. void machine_check();
  44. void SIMD_exception();
  45. void virtualization_exception();