(1)、进入中断后,先将X0-X3保存到到thread_core_local,然后切换到sp_el0指向THREAD_CORE_LOCAL_TMP_STACK_VA_END(2)、然后在扣除一段固定的区域,用于保存x4-x18, LR, SP_EL0存器
#define ELX_NINTR_REC_X(x)      (8 * ((x) - 4))
#define ELX_NINTR_REC_LR        (8 + ELX_NINTR_REC_X(19))
#define ELX_NINTR_REC_SP_EL0        (8 + ELX_NINTR_REC_LR)
#define ELX_NINTR_REC_SIZE      (8 + ELX_NINTR_REC_SP_EL0)(3)、接着SP_EL0指向 THREAD_CORE_LOCAL_TMP_STACK_VA_END + ELX_NINTR_REC_SIZE,调用C语言程序(系统中注册的中断处理函数)
(4)、
待中断处理完毕后,先恢复x4-x18, LR, SP_EL0,此时栈也切回SP_EL1(5)、然后再从thread_core_local恢复X0-X3

总结:对于optee的中断处理的过程中,保存和恢复的寄存器有:

  • x0-x18
  • lr (x30)
  • sp_el0
  • spsr_el1

[待]-optee的native_intr_handler中断处理流程相关推荐

  1. 16. OP-TEE中的中断处理(二)------系统FIQ事件的处理

    历经一年多时间的系统整理合补充,<手机安全和可信应用开发指南:TrustZone与OP-TEE技术详解 >一书得以出版,书中详细介绍了TEE以及系统安全中的所有内容,全书按照从硬件到软件, ...

  2. 内核中断处理流程_处理中断

    内核中断处理流程 我只是在观看Heinz Kabutz的VJUG采访 ,这启发了我写一篇有关中断的文章. 顺便说一句,我建议您订阅VJUG YouTube频道 -确实非常有用. Heinz始终是物有所 ...

  3. Exynos4412 中断处理流程详解

    Linux 中,当外设触发中断后,大体处理流程如下: a -- 具体CPU architecture相关的模块会进行现场保护,然后调用machine driver对应的中断处理handler: b - ...

  4. [gic]-linux和optee的中断处理流程举例(gicv3举例)

    ★★★ 友情链接 : 个人博客导读首页-点击此处 ★★★ 环境配置: 在linux/optee双系统环境下, linux系统的SCR.IRQ=0.SCR.FIQ=1, optee系统的SCR.IRQ= ...

  5. linux kernel中的中断处理流程

    目录 1.linux kernel arm32的中断函数处理流程 (1).irq_handler宏 (2).arch_irq_handler_default 宏 (3).调用了asm_do_IRQ 2 ...

  6. Exynos4412 中断驱动开发(二)—— 中断处理流程分析

    前面已经学习了中断的注册过程,下面由一张流程图来看一下当中断发生时的处理流程: 中断发生之后处理流程 a -- 具体的CPU architecture相关模块进行现场保护,然后调用machine dr ...

  7. 中断处理过程示意图_中断和中断处理流程

    1. 中断概念 中断是指由于接收到来自外围硬件(相对于中央处理器和内存)的异步信号或来自软件的同步信号,而进行相应的硬件/软件处理.发出这样的信号称为进行中断请求(interrupt request, ...

  8. 【计算机考研408】中断处理流程

    中断请求 中断源是请求CPU中断的设备或事件,一台计算机允许有多个中断源.每个中断源向CPU发出中断请求的时间是随机的. 中断响应判优 中断响应优先级是指CPU响应中断请求的先后顺序.当多个中断源同时 ...

  9. Linux中断处理流程

    看了一些网络上关于 linux 中断实现的文章,感觉有一些写的非常好,在这里首先感谢他们的无私付出,然后也想再补充自己对一些问题的理解.先从函数注册引出问题吧. 一.中断注册方法 在 linux 内核 ...

最新文章

  1. Linux多线程的进阶理解
  2. 微服务并不能解决你的烂代码问题
  3. 2.使用windows下的client连接虚拟机上的oracle连不上的时候的解决方式
  4. java 简单json和对象相互转换
  5. java中configmanager_Spring4新的javaConfig注解
  6. iOS开发之UITableView全面解析
  7. seconds_behind_master入门
  8. 计算机专业职业生涯规划书结束语,职业生涯规划书结束语
  9. Rhino(犀牛)的视口
  10. 矿产资源勘查评价的新进展——GIS在矿产资源评价中的应用
  11. springboot学习笔记(三)使用JDBC以及整合spring data jpa
  12. CDR插件开发之Addon插件005 - Corel.Interop.VGCore.dll库文件简介
  13. vb中Msgbox函数的应用。
  14. 百度,谷歌,360,搜狗,神马等蜘蛛IP段大全
  15. 小红书怎么涨粉最快?小红书涨粉最快的方法分享
  16. linux flock 命令安装,在Linux上使用flock命令控制程序的异步执行
  17. Codeforces Round #670 (Div. 2) C D E
  18. java公寓管理系统设计与实现,学生公寓管理系统的设计与实现(MySQL)
  19. matlab——corrcoef函数的使用
  20. 几天自学单片机的一些小小心得

热门文章

  1. python怎么打日志_怎样调试 日志 python 代码
  2. AI:2020年6月22日北京智源大会演讲分享之机器感知专题论坛—14:10-14:50王亮教授《面向复杂视觉任务的视觉认知计算》
  3. Interview:算法岗位面试—上海某公司算法岗位(偏数据分析,互联网行业)技术面试考点之特征工程考察点
  4. 成功解决AttributeError: 'map' object has no attribute 'items'
  5. Windows下编译jcef
  6. 【MM系列】SAP 簇表 A017 物料信息记录 (指定工厂) 包含的透明表
  7. Html中元素的分类
  8. EasyUI中datagrid的行编辑模式中,找到特定的Editor,并为其添加事件
  9. oracle 显示格式化
  10. Updater Application Block for .NET