写在前面,本文将一步步从手册到源码,深入解析 ARMv8 架构下异常发生、被检测、再到被处理的全过程。相比于冗长的文字描述,代码往往更具说服力。因此,本文将结合 手册理论 + 代码实践,力求通过 可复现的代码 直观展示整个异常处理流程。 文中所有代码均由本人编写并经过测试,如果发现 bug 或者有更优的实现方式,欢迎指正与交流~ 参考资料:Linux4.10 《arm64体系结构编程与实践》 本文以树莓派4b(armv8)来实现,4b支持两种 传统的中断控制器 gic-400 但是使用的qemu和实际的板子都是默认支持gic-400的,所以主要是借助gic-400实现中断的功能 异常处理 ...