REE侧、TEE侧以及Monitor模式或EL3都可接收中断信号。

在系统中存在两个VBAR寄存器和一个MVBAR寄存器,REE侧的VBAR寄存器中存放的是Linux内核的异常向量表基地址,OP-TEE中的VBAR寄存器存放的是OP-TEE系统的中断向量表基地址,而Monitor或者EL3的MVBAR存放的是Monitor模式或EL3运行时的中断向量表基地址,即在Monitor或者EL3阶段是可以接收外部中断信号的。

本节将介绍OP-TEE中断的配置和Monitor或EL3阶段中断的配置。

3.1 ARMv7中Monitor模式的异常向量表

ARMv7架构在ARM扩展出了Monitor模式,Monitor模式属于安全世界状态,用于实现ARM核安全世界状态与正常世界状态之间的切换,且该模式具有独立的中断向量表

使用MVBAR寄存器来保存该运行模式的中断向量表的基地址。在OP-TEE初始化过程中会调用sm_init函数来初始化Monitor模式的配置,并将Monitor模式的中断向量基地址写入到MVBAR寄存器中,该函数内容如下:

        FUNC sm_init , :UNWIND( .fnstart)mrs r1, cpsr //设置Monitor模式使用的栈cps #CPSR_MODE_MONsub sp, r0, #(SM_CTX_SIZE - SM_CTX_NSEC)msr cpsr, r1ldr r0, =sm_vect_table        //将Monitor模式的异常向量表地址保存到r0寄存器中write_mvbar r0         //

TEE OS中断篇(三):中断的向量表相关推荐

  1. 【中断】异常和中断的关系、异常向量表和中断向量表的关系

    Linux中断知识汇总: [深入理解Linux内核][中断]内容汇总帖 目录 什么是异常? 什么是中断? 异常和中断的关系 什么是异常向量表? 什么是中断向量表? 异常向量表和中断向量表的关系 什么是 ...

  2. 【中断篇】中断控制器及中断检测时序

  3. RK3399平台开发系列讲解(中断篇)中断控制器(Generic Interrupt Controller)

  4. 中断向量表 异常相量表 中断向量(中断函数入口地址)ARM和X86异常向量表不同

    STM32的中断向量表是干什么的?到底有什么用?它放在哪里? 一.中断向量表里有什么?它放在那里?到底有什么用? 1.中断向量表实际上就是存放在Code区(也就是STM32内部的Flash区)从0x0 ...

  5. [ARM异常]-linux中(aarch/aarch64)异常向量表介绍

    文章目录 1.ARM的异常向量表基地址寄存器--VBAR 1.1.armv8 : VBAR寄存器 1.2.armv7 : VBAR寄存器 2.ARM的异常向量表的定义 2.1 armv8 :异常向量表 ...

  6. TEE OS中断篇(五):FIQ的事件处理

    到上一篇的时候,CPU已经具备了执行下一步handler的上下文,推出了EL3,进军了EL1,这里来看看在tee os里面到底干了啥? 1 OP-TEE对FIQ事件的处理 OP-TEE启动时会调用th ...

  7. 【OS学习笔记】三十五 保护模式十:中断描述符表、中断门和陷阱门

    上一篇文章学习了中断与异常的概念:[OS学习笔记]三十四 保护模式十:中断和异常区别 本片文章接着学习以下内容: 中断描述符表 中断门 陷阱门 1 中断描述符表 我们前面讲了无数次,在实模式下,是由位 ...

  8. ZYNQ裸板:中断篇

    前言   中断对于单片机过来的我们来说,相对也算比较熟悉了,还是严谨一点从头开始说吧.中断是什么?是一种当满足要求的突发事件发生时通知处理器进行处理的信号.中断可以由硬件处理单元和外部设备产生,也可以 ...

  9. Cortex-M3-异常与中断-向量表 s

    Cortex-M3-异常与中断 Cortex‐M3 支持大量异常,包括 16‐4‐1=11 个系统异常,和最多 240 个外部中断--简称 IRQ.具体使用了这 240 个中断源中的多少个,则由芯片制 ...

最新文章

  1. Jmeter之控制线程执行到某个结果时退出执行
  2. Pandas (GeoPandas)笔记:set_index reset_index
  3. 付费会员制,如何赋能产品?
  4. 改变libreoffice的writer背景颜色
  5. zip版mysql5.6_mysql 5.6 压缩包版安装方法
  6. 浅析Python3中的bytes和str类型(转载)
  7. 百度发布全新 NLG 训练模型 ERNIE-GEN,获 5 项 SOTA!
  8. linux 集群服务器设置,Zookeeper集群配置
  9. 调用微信方法报错errMsg:chooseImage:fail, the permission value is offline verifying
  10. 【后端学习之路】Browsers and how they work?
  11. C#asp.net旅游网站系统
  12. 大数据或成大金融时代的奠基石
  13. include/linux/if_ppp.h:135: error: expected specifier-qualifier-list before 'aligned_u64'
  14. Vue是什么?在前端学习中有什么作用呢?
  15. ms office word2013教程 - 利用邮件合并批量制作带照片的准考证
  16. C++各大名库的介绍
  17. 城市生活污水自动采样器——致力于新冠病毒监测
  18. CG100 2016款东风风光580,公里数分析及修正
  19. go 操作MySQL之mysql包
  20. iPhone SE Plus:处理器依旧采用A13芯片?

热门文章

  1. 混沌数学之Kent模型
  2. 数据结构_1_基础理论
  3. python中字符型用什么表示_「小白学Python」Python中最常用的数据类型:字符串
  4. 我在富士康挨踢了七年(五. 激情与暴力)
  5. 线性函数与非线性函数的区别,线性模型与非线性模型的区别
  6. 【2023 年第三届长三角高校数学建模竞赛】B 题 长三角新能源汽车发展与双碳关系研究 新能源汽车销售相关数据160M+下载
  7. 遇事不决“啊对对对”
  8. 信号中振铃现象及解决方法
  9. 腾讯位置 - 地图构建入门(结尾附视频)
  10. android wifi(二)