[待]-optee的native_intr_handler中断处理流程
(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中断处理流程相关推荐
- 16. OP-TEE中的中断处理(二)------系统FIQ事件的处理
历经一年多时间的系统整理合补充,<手机安全和可信应用开发指南:TrustZone与OP-TEE技术详解 >一书得以出版,书中详细介绍了TEE以及系统安全中的所有内容,全书按照从硬件到软件, ...
- 内核中断处理流程_处理中断
内核中断处理流程 我只是在观看Heinz Kabutz的VJUG采访 ,这启发了我写一篇有关中断的文章. 顺便说一句,我建议您订阅VJUG YouTube频道 -确实非常有用. Heinz始终是物有所 ...
- Exynos4412 中断处理流程详解
Linux 中,当外设触发中断后,大体处理流程如下: a -- 具体CPU architecture相关的模块会进行现场保护,然后调用machine driver对应的中断处理handler: b - ...
- [gic]-linux和optee的中断处理流程举例(gicv3举例)
★★★ 友情链接 : 个人博客导读首页-点击此处 ★★★ 环境配置: 在linux/optee双系统环境下, linux系统的SCR.IRQ=0.SCR.FIQ=1, optee系统的SCR.IRQ= ...
- linux kernel中的中断处理流程
目录 1.linux kernel arm32的中断函数处理流程 (1).irq_handler宏 (2).arch_irq_handler_default 宏 (3).调用了asm_do_IRQ 2 ...
- Exynos4412 中断驱动开发(二)—— 中断处理流程分析
前面已经学习了中断的注册过程,下面由一张流程图来看一下当中断发生时的处理流程: 中断发生之后处理流程 a -- 具体的CPU architecture相关模块进行现场保护,然后调用machine dr ...
- 中断处理过程示意图_中断和中断处理流程
1. 中断概念 中断是指由于接收到来自外围硬件(相对于中央处理器和内存)的异步信号或来自软件的同步信号,而进行相应的硬件/软件处理.发出这样的信号称为进行中断请求(interrupt request, ...
- 【计算机考研408】中断处理流程
中断请求 中断源是请求CPU中断的设备或事件,一台计算机允许有多个中断源.每个中断源向CPU发出中断请求的时间是随机的. 中断响应判优 中断响应优先级是指CPU响应中断请求的先后顺序.当多个中断源同时 ...
- Linux中断处理流程
看了一些网络上关于 linux 中断实现的文章,感觉有一些写的非常好,在这里首先感谢他们的无私付出,然后也想再补充自己对一些问题的理解.先从函数注册引出问题吧. 一.中断注册方法 在 linux 内核 ...
最新文章
- Linux多线程的进阶理解
- 微服务并不能解决你的烂代码问题
- 2.使用windows下的client连接虚拟机上的oracle连不上的时候的解决方式
- java 简单json和对象相互转换
- java中configmanager_Spring4新的javaConfig注解
- iOS开发之UITableView全面解析
- seconds_behind_master入门
- 计算机专业职业生涯规划书结束语,职业生涯规划书结束语
- Rhino(犀牛)的视口
- 矿产资源勘查评价的新进展——GIS在矿产资源评价中的应用
- springboot学习笔记(三)使用JDBC以及整合spring data jpa
- CDR插件开发之Addon插件005 - Corel.Interop.VGCore.dll库文件简介
- vb中Msgbox函数的应用。
- 百度,谷歌,360,搜狗,神马等蜘蛛IP段大全
- 小红书怎么涨粉最快?小红书涨粉最快的方法分享
- linux flock 命令安装,在Linux上使用flock命令控制程序的异步执行
- Codeforces Round #670 (Div. 2) C D E
- java公寓管理系统设计与实现,学生公寓管理系统的设计与实现(MySQL)
- matlab——corrcoef函数的使用
- 几天自学单片机的一些小小心得
热门文章
- python怎么打日志_怎样调试 日志 python 代码
- AI:2020年6月22日北京智源大会演讲分享之机器感知专题论坛—14:10-14:50王亮教授《面向复杂视觉任务的视觉认知计算》
- Interview:算法岗位面试—上海某公司算法岗位(偏数据分析,互联网行业)技术面试考点之特征工程考察点
- 成功解决AttributeError: 'map' object has no attribute 'items'
- Windows下编译jcef
- 【MM系列】SAP 簇表 A017 物料信息记录 (指定工厂) 包含的透明表
- Html中元素的分类
- EasyUI中datagrid的行编辑模式中,找到特定的Editor,并为其添加事件
- oracle 显示格式化
- Updater Application Block for .NET