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. rabbitmq python 消费者_菜鸟世界 -RabbitMQ---消费者示例
  2. scikit-learn朴素贝叶斯各种用法总结真正讲明白的,为作者建平点赞
  3. Visual Studio 2008 和 .NET 3.5 发布了
  4. 蓝桥备赛第三周 倍增+贪心+素数+约数
  5. 【年度总结】2016年年度总结
  6. ABP Framework:移除 EF Core Migrations 项目,统一数据上下文
  7. 牛客寒假算法基础集训营2 处女座的测验(一) (数论+构造)
  8. java 英文数字下划线_为什么Java7开始在数字中使用下划线
  9. exfat默认配置大小_如何分配U盘exFAT格式单元大小保证速度和空间呢
  10. 一文讲解AGV机器人的12种导航导引方式,收藏备用
  11. 如何将B站的flv格式的视频转换成mp4格式
  12. Travelling Salesman Problem(旅行商问题)
  13. 网站分析行业的“前途”和“钱途”
  14. Python数据分析--统计注册用户
  15. JanusGraph ,生产环境安装
  16. button标签和input的button
  17. BZOJ3521: [Poi2014]Salad Bar
  18. 三十四、进阶之获取详情页面信息并显示
  19. 解决mac excel中文乱码的问题
  20. 什么是正直型人格?正直型性格的优劣势及职业分析

热门文章

  1. java biginteger sqrt_Java BigInteger 开方sqrt的实现
  2. 笔记——BERT模型
  3. 这些关于基金从业资格证的“坑”,你都踩了多少?
  4. R语言入门——读取栅格数据参数解读
  5. 关于区间覆盖下,求最多的覆盖次数问题
  6. NetXpert XG轻松应对10Gb/s以太网光纤测试新挑战
  7. 使用morgan写日志
  8. spring版本引起的问题
  9. linux中uniq命令的使用
  10. Error creating bean with name ‘dataSource‘ defined in class path resource解决