当前位置: 首页 > article >正文

【ARM】中断的处理

ARM的异常向量表在这里插入图片描述

  1. 如果发生异常后并没有exception level切换,并且发生异常之
    前使用的栈指针是SP_EL0,那么使用第一组异常向量表。
  2. 如果发生异常后并没有exception level切换,并且发生异常之
    前使用的栈指针是SP_EL1/2/3,那么使用第二组异常向量表。
  3. 如果发生异常导致了exception level切换,并且发生异常之前
    的exception level运行在AARCH64模式,那么使用第三组异常
    向量表。
  4. 如果发生异常导致了exception level切换,并且发生异常之前
    的exception level运行在AARCH32模式,那么使用第四组异常
    向量表。

Linux Kernel的中断处理

Linux Kernel中的异常向量表的实现

在这里插入图片描述
在设置异常向量表基地址时填的虚拟地址

Linux kernel对中断的处理

在这里插入图片描述

ATF(TF-A)的中断处理

ATF(TF-A)中的中断向量表

在这里插入图片描述

BL31 runtime_exceptions

在这里插入图片描述
程序在EL3时来一个IRQ中断target到EL3来实现时,是不支持的,因为是没有实现的。
程序在EL3一下时来一个中断,此时是支持的,直接target到EL3。

optee的中断处理

optee os中异常向量表的实现

在这里插入图片描述
第二组不用
做了两件事
1,写了一个异常向量表
2,把异常向量表的基地址写入VBAR_EL1寄存器中

optee os中对中断的处理

在这里插入图片描述

optee中中断的使用示例

在这里插入图片描述
写一个结构体声明一下,调用itr_add和itr_enable,当中断一来,就会自动调用中断处理函数


http://www.kler.cn/news/306610.html

相关文章:

  • 中间件安全(一)
  • 基于Selenium的新闻爬取技术实操
  • 【AIGC cosplay】让大模型扮演求职者,我当hr来面试
  • 语言哲学(Philosophy of Language)
  • PMP--一模--解题--81-90
  • Python 常用模块(二):json模块
  • 拒绝低效!开发者必备AI工具助你事半功倍!
  • WPF利用Path自定义画头部导航条(TOP)样式
  • C# 网口通信(通过Sockets类)
  • Vue 生命周期与 TypeScript:深入理解组件生命周期
  • 5-【JavaWeb】JUnit 单元测试及JUL 日志系统
  • uniapp使用高德地图设置marker标记点,后续根据接口数据改变某个marker标记点,动态更新
  • CentOS 7上安装Docker
  • 电商数据采集分析全流程分享||电商API数据接口
  • wsl2桥接网络 ubuntu到弃坑到又跳坑
  • Flutter Spacer引发的The ParentDataWidget Expanded(flex: 1) 惨案
  • Spring Boot 注解探秘:JSON 处理的魔法世界
  • JAVA基础:线程优先级和精灵线程
  • 股指期货的详细玩法功能与应用解析
  • 详解 Pandas 的累计统计函数
  • Java后端开发(十七)-- Java中对Object、Collection集合、Map集合、数组进行判空
  • 数据结构:时间复杂度与空间复杂度
  • 【代码随想录训练营第42期 Day57打卡 - 图论Part7 - Prim算法与Kruskal算法
  • 后端开发刷题 | 数字字符串转化成IP地址
  • 状态机按键消抖(学习笔记)
  • Flink有界流实现(1)
  • 【Python】谷歌浏览器总是自动更新,使用selenium跟chromedriver版本不匹配怎么办?
  • 01,大数据总结,zookeeper
  • 算法练习题27——疫情下的电影院(模拟)
  • AI辅助癌症诊断取得了进展