ARM Linux的中断服务程序工作在ARM的IRQ模式吗?

大家都知道,ARM有IRQ, FIQ, USR,SVC,ABORT等各种模式。当系统收到IRQ的时候,会进入ARM的IRQ模式。那么,ARM Linux各种驱动的中断服务程序工作在ARM的IRQ模式吗?

答案是否定的。

我们加一段汇编来读CPSR:

然后我们随便找一个ARM Linux的中断服务程序去打印CPSR:

然后我们发现打印出来的值是:

cpsr:40000193

低8位的二进制是10010011

那么对应ARM CPSR的查询,可以看出CPU处于ARM的SVC模式(低5位是10011),而且I bit被设置(第7位是1),所以是禁止IRQ的。

模式表:

可见,ARM Linux最初进入IRQ模式后,比较快速地从IRQ模式切换到了SVC模式,但是这个时候,并没有使能CPSR的I bit,所以仍然是禁止其他中断嵌套进入的。

本文分享自微信公众号 - Linux阅码场(LinuxDev)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏光城(guangcity)

​Arm机移植算法与程序

应项目需求,测试多路摄像头,需要测试程序移植到Arm机上,比如写的人脸识别算法,视频多拍等,那如何进行移植,如何操作呢,本篇文章进行详细阐述。

13120
来自专栏安全漏洞环境学习

高危漏洞预警更新!8月Windows RDS漏洞(CVE-2019-1181,CVE-2019-1182)

远程桌面服务(Remote Desktop Services )高危漏洞,攻击者可以利用该漏洞在无需用户交互的情况下实现蠕虫攻击或攻击指定服务器。腾讯安全团队自...

9440
来自专栏安智客

可信执行环境的定义及实现形态

一般认为,最早给出可信执行环境定义的是OMTP(Open Mobile Terminal Platform)这个组织,其在2009年其在《omtpadvance...

23160
来自专栏知识分享

21-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇(使用串口调试助手升级STM32程序,固定地址升级运行用户程序),IAP详解

https://www.cnblogs.com/yangfengwu/p/11515717.html

8320
来自专栏逆向与安全

基于设备指纹零感验证系统

作者: 我是小三 博客: http://www.cnblogs.com/2014asm/ 由于时间和水平有限,本文会存在诸多不足,希望得到您的及时反馈与指正,多...

18920
来自专栏腾讯云IoT

TencentOS tiny 移植到STM32F103全教程(基于标准库)

STM32的裸机工程模板直接使用野火STM32开发板配套的固件库例程即可。可以从我github上获取https://github.com/jiejieTop/T...

1.2K130
来自专栏镁客网

Codasip相海英:用顶尖CPU IP技术和服务打开中国市场,RISC-V正在改变嵌入式处理世界 | 镁客请讲

随着行业对创新和低成本IP的需求日趋强烈,相较于ARM架构,开源、成本更低的RISC-V近年来越来越受欢迎,甚至有部分业内人士认为,RISC-V将取代ARM。

7810
来自专栏Golang开发

2019-09-20

从CPU发明到现在,有非常多种架构,从我们熟悉的X86,ARM,到不太熟悉的MIPS,IA64等

8210
来自专栏安智客

基于边缘计算的可信执行环境研究

2019年,根据联合国国际电信联盟(ITU)、世界银行和联合国的数据显示:手机用户已大于全球74亿的人口数。

10910
来自专栏AI掘金志

AI 安防芯片 IP 这门生意该怎么做?

随着AI在安防行业的落地,各类玩家也纷纷进入这一市场。如何实现差异化竞争,其中一个关键因素就是IP的选择。

4520

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励