首页 > TAG信息列表 > EL0
current() macro
current() macro current在内核中通常以宏的形式存在,其实现方式依赖于具体的架构和内核版本,有些实现是从堆栈中获取当前运行任务的task_struct结构指针,有些则从寄存器中获取。 current的实现 拿 arm64架构 + linux-5.4版本 为背景举例, current实际上是从sp_el0这个寄存器中读取optee3.14中的异常向量表解读--中断处理解读
optee3.14中的异常向量表、VBAR_EL1、中断实现的介绍 ★★★ 个人博客导读首页—点击此处 ★★★ . 说明: 在默认情况下,本文讲述的都是ARMV8-aarch64架构,optee3.14版本 文章目录 1、armv8-aarch64的异常向量表介绍2、armv8的VBAR_ELx寄存器3、optee异常向量表的实现4、opt[architecture]-ARMV8的ELx等级切换
在armv8中,有EL0、EL1、EL2、EL3四个权限级别. 低级别像高级别切换是通过触发异常来进行的。例如: 1、在EL0时调用svc指令,触发一个同步异常,cpu则会陷入EL1; 2、在EL0时来了一个IRQ或FIQ,会触发一个异步异常,cpu则会陷入EL1或EL2或EL3(根据SCR寄存器中中断的配置来决定); 高级别向低级