trap.h 830 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * @file trap.h
  3. * @author longjin@RinGoTek.cn
  4. * @brief 异常捕获模块
  5. * @date 2022-01-24
  6. *
  7. */
  8. #pragma once
  9. #include <common/printk.h>
  10. #include <common/glib.h>
  11. /**
  12. * @brief 初始化系统中断表
  13. *
  14. */
  15. void init_sys_vector();
  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_available();
  32. void double_fault();
  33. void coprocessor_segment_overrun();
  34. void invalid_TSS();
  35. void segment_not_present();
  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();