1 中断处理程序的基本要求
当前运行的loop是一条执行流,中断程序运行开启了另外一条执行流,从上一节得知这是三种跳转的第三类,这个是一个大跳转。对中断程序的基本要求就是中断执行完毕后要恢复到原来执行的程序,除了时间流逝外,原来运行的程序应该毫无感知。

具体到Armv8架构,中断上下文要保存就是X0-X30。X30是LR寄存器。
2 Armv8 异常处理前半段
Armv8在exception发起后,PE做了一些前提工作:
(1) CPU core感知到异常发生,生成一个目标异常等级
(2) 把PSTATE寄存器里的值保存到对应目标异常等级的SPSR_ELx寄存器便于恢复时使用
&nbs
本文详细介绍了Linux在Armv8架构下处理中断的过程,包括中断处理程序的基本要求、Armv8异常处理的步骤,以及Linux中断上下文的保存与恢复。在Armv8中,中断上下文主要保存X0-X30寄存器的内容。中断栈和任务内核栈分别用于中断处理和线程切换时保存上下文。在Linux内核,pt_regs结构体定义了中断上下文的存储布局。
订阅专栏 解锁全文
888

被折叠的 条评论
为什么被折叠?



