文章目录
上篇文章:ARMv8/v9 异常模型入门及渐进 7 – ARM64 linux irq_domain 介绍
下篇文章:ARMv8/v9 异常模型入门及渐进 9 – FIQ 和 IRQ 区别
介绍
Armv8一共有四个异常等级EL0、EL1、EL2和EL3,又有两种security状态,secure 和 nonsecure。同时在EL1以上的异常等级下,还可以使用两个不同的栈指针SP_EL0和SP_ELx。在以上这些不同的执行状态下,中断都可能需要使用不同的处理方式,因此,中断的处理流程就变的比较复杂。
1.1 安全中断简介
异常发生后系统将切换到具有更高执行权限的状态,在 AArch64 是通过 exception level 来实现的。AArch64 最多支持 EL0~EL3
四个 exception level
,EL0 的 ex