[发明专利]执行不可屏蔽中断的方法和装置有效
| 申请号: | 201910408194.1 | 申请日: | 2015-10-16 |
| 公开(公告)号: | CN110209615B | 公开(公告)日: | 2023-09-12 |
| 发明(设计)人: | 马军;丁天虹;童肇哲 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F13/24 | 分类号: | G06F13/24;G06F9/48 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 执行 不可 屏蔽 中断 方法 装置 | ||
本发明公开了一种执行不可屏蔽中断的方法和装置,该方法包括:在非安全模式下获取安全中断请求,并中断操作系统OS的操作,该安全中断请求不可被屏蔽;通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;返回所述非安全模式执行用户定义处理;在所述用户定义处理完成后,再次进入所述安全模式,在该安全模式下根据所述中断上下文恢复所述OS状态;再次返回所述非安全模式,继续执行所述OS的操作。本发明实施例的执行不可屏蔽中断的方法和装置,可以不依赖于硬件简单地实现NMI。
技术领域
本发明实施例涉及服务器领域,并且更具体地,涉及一种执行不可屏蔽中断的方法和装置。
背景技术
服务器一般对系统稳定性有着极高的要求。在系统正常运行时候能够定时保存系统的状态,同时也需要在系统异常的时候能够保存一些关键数据,为定位系统出错原因提供数据支撑。因为系统正常运行时,可以有多种方法和手段来保存系统数据,但是系统异常时——最严重的就是死机时,所有常规方法和手段已经不可行,所有中断也无法响应。此时需要不可屏蔽中断(Non Maskable Interrupt,NMI)机制来保存数据。
NMI即中央处理器(Central Processing Unit,CPU)不能屏蔽的中断,无论状态寄存器中的中断标识(Interrupt Flag,IF)位的状态如何,CPU收到有效的NMI必须进行响应。NMI通常用于故障处理,例如协处理器运算出错、存储器校验出错、输入/输出(Input/Output,I/O)端口校验出错等,用于保存操作系统(Operating System,OS)的错误状态和异常信息等。因此NMI是当前服务器领域非常重要的问题定位手段,对产品本身来说,也是非常重要的特性。
当前的X86和单字长定点指令平均执行速度(Million Instructions PerSecond,MIPS)等架构都有对应的NMI实现机制。主要是定时触发或由硬件故障触发一个中断,该中断无法被屏蔽,即使系统已经发生死锁,也能响应中断。X86和MIPS等架构通过硬件手段使得系统在非安全模式中执行NMI涉及的数据保存,以及书写系统日志和喂狗等用户定义处理。但是在进阶精简指令集机器(Advanced RISC Machine,ARM)架构中,没有对应的硬件使得可以在非安全模式中来实现NMI。并且现有的arm-v8规范和软件解决方案也没有提供对NMI机制的支持。因此需要在没有硬件支持的情况下提供一种方法来实现NMI机制。
发明内容
本发明实施例提供一种执行不可屏蔽中断的方法和装置,能够在ARM架构中不依赖于硬件简单地实现NMI机制。
第一方面,本发明提供了一种执行不可屏蔽中断的方法,包括:在非安全模式下获取安全中断请求,并中断操作系统OS的操作,所述安全中断请求不可被屏蔽;通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;返回所述非安全模式执行用户定义处理;在所述用户定义处理完成后,再次进入所述安全模式,在所述安全模式下根据所述中断上下文恢复所述OS状态;再次返回所述非安全模式,继续执行所述OS的操作。
其中,在执行该方法之前,可以对相应的寄存器和异常向量表进行预配置,使得在获取安全中断请求后能够执行不可屏蔽中断流程。
例如,在ARM架构中,预配置SCR_EL3寄存器的FIQ位为1,使得当获取安全中断请求FIQ时,系统能够知道应执行不可屏蔽中断,从而转向异常向量表查找应路由至的模式。对异常向量表的预配置则可以将地址初始化为VBAR_EL3,使得系统在执行不可屏蔽中断时进入非安全模式。
基于上述技术方案,本发明实施例的执行不可屏蔽中断的方法通过安全中断请求进入安全模式保存中断时OS状态的中断上下文,返回非安全模式执行用户定义处理后再次进入安全模式恢复OS状态,恢复OS状态后再次返回非安全模式继续执行OS的操作,从而可以不依赖于硬件简单地实现NMI流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910408194.1/2.html,转载请声明来源钻瓜专利网。





