执行不可屏蔽中断的方法和装置制造方法及图纸

技术编号:22054891 阅读:46 留言:0更新日期:2019-09-07 15:07
本发明专利技术公开了一种执行不可屏蔽中断的方法和装置,该方法包括:在非安全模式下获取安全中断请求,并中断操作系统OS的操作,该安全中断请求不可被屏蔽;通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;返回所述非安全模式执行用户定义处理;在所述用户定义处理完成后,再次进入所述安全模式,在该安全模式下根据所述中断上下文恢复所述OS状态;再次返回所述非安全模式,继续执行所述OS的操作。本发明专利技术实施例的执行不可屏蔽中断的方法和装置,可以不依赖于硬件简单地实现NMI。

Methods and devices for performing unshieldable interrupts

【技术实现步骤摘要】
执行不可屏蔽中断的方法和装置
本专利技术实施例涉及服务器领域,并且更具体地,涉及一种执行不可屏蔽中断的方法和装置。
技术介绍
服务器一般对系统稳定性有着极高的要求。在系统正常运行时候能够定时保存系统的状态,同时也需要在系统异常的时候能够保存一些关键数据,为定位系统出错原因提供数据支撑。因为系统正常运行时,可以有多种方法和手段来保存系统数据,但是系统异常时——最严重的就是死机时,所有常规方法和手段已经不可行,所有中断也无法响应。此时需要不可屏蔽中断(NonMaskableInterrupt,NMI)机制来保存数据。NMI即中央处理器(CentralProcessingUnit,CPU)不能屏蔽的中断,无论状态寄存器中的中断标识(InterruptFlag,IF)位的状态如何,CPU收到有效的NMI必须进行响应。NMI通常用于故障处理,例如协处理器运算出错、存储器校验出错、输入/输出(Input/Output,I/O)端口校验出错等,用于保存操作系统(OperatingSystem,OS)的错误状态和异常信息等。因此NMI是当前服务器领域非常重要的问题定位手段,对产品本身来说,也是非常重本文档来自技高网...

【技术保护点】
1.一种执行不可屏蔽中断的方法,其特征在于,包括:在非安全模式下获取安全中断请求,并中断操作系统OS的操作,所述安全中断请求不可被屏蔽;通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;返回所述非安全模式执行用户定义处理;在所述用户定义处理完成后,再次进入所述安全模式,在所述安全模式下根据所述中断上下文恢复所述OS状态;再次返回所述非安全模式,继续执行所述OS的操作。

【技术特征摘要】
1.一种执行不可屏蔽中断的方法,其特征在于,包括:在非安全模式下获取安全中断请求,并中断操作系统OS的操作,所述安全中断请求不可被屏蔽;通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;返回所述非安全模式执行用户定义处理;在所述用户定义处理完成后,再次进入所述安全模式,在所述安全模式下根据所述中断上下文恢复所述OS状态;再次返回所述非安全模式,继续执行所述OS的操作。2.根据权利要求1所述的方法,其特征在于,所述返回所述非安全模式执行用户定义处理,包括:根据异常返回地址返回所述非安全模式,在所述非安全模式执行用户定义函数以完成所述用户定义处理。3.根据权利要求2所述的方法,其特征在于,在所述根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理之前,所述方法还包括:在所述非安全模式的内核kernel启动时调用接口函数,所述接口函数通过安全监控呼叫SMC指令在所述安全模式将所述用户定义函数的地址记录在所述异常返回地址中。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述安全中断请求为快速中断请求FIQ。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述用户定义处理包括:保存系统日志、上报OS的状态和喂狗中的至少一种。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:在所述安全模式的异常向量表中预配置保存函数的地址,所述保存函数用于保存所述OS的操作中断时OS状态的所述中断上下文;所述通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文,包括:当产生所述安全中断请求时,所述安全中断请求不可被屏蔽,根据所述保存函数的地址进入安全模式执行所述保存函数。7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文,包括:通过所述SecureMonitor软件在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述非安全模式包括进阶精简指令集机器ARM架构的异常等级EL0和EL1中的至少一种,所述安全模式包括所述ARM架构的EL3。9.根据权利要求1至8中任一项所述的方法,其特征在于,所述安全中断请求是所述OS定时触发看门狗生成的,或者是由于硬件故障触发看门狗生成的。10.一种执行不可屏蔽中断的装置,其特征在于,包括:中断模块,用于在非安全模式下获取安全中断请求,并中断操作系统OS的操作,所述安全中断请求不可被屏蔽;保存模块,用于通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;第一执行模块,用于返回所述非安全模式执行用户定义处理;恢复模块,用于在所述用户定义处理完成后,再次进入所述安全模式,在所述安全模式下根据所述中断上下文恢复所述OS状态;第二执行模块,用于再次返回所述非安全模式,继续执行所述OS的操作。11.根据权利要求10所述的装置,其特征在于,所述第一执行模块具体用于:在所述安全模式下完成所述中断上下文的保存后,根据异常返回地址返回所述非安全模式,在所述非安全模式执行用户定义函数以完成所述用户定义处理。12.根据权利要求11所述的装置,其特征在于,所述装置还包括:接口调用模块,用于在所述第一执行模块根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理之前,在所述非安全模式的内核kernel启动时调用接口函数,所述接口函数通过安全监控呼叫SMC指令在所述安全模式将所述用户定义函数的地址记录在所述异常返回地址中。13.根据权利要求10至12中任一项所述的装置,其特征在于,所述安全中断请求为快速中断请求FIQ。14.根据权利要求10至13中任一项所述的装置,其特征在于,所述用户定义处理包括:保存系统日志、上报OS的状态和喂狗中的至少一种。15.根据权利要求10至14中任一项所述的装置,其特征在于,所述装置还包括:预配置模块,用于在所述安全模式的异常向量表中预配置保存函数的地址,所述保存函数用于保存所述OS的操作中断时OS状态的所述中断上下文;所述保存模块具体用于:当产生所述安全中断请求时,所述安全中断请求不可被屏蔽,根据所述预配置模块预配置的所述保存函数的地址进入安全模式执行所述保存函数。16.根据权利要求10至15...

【专利技术属性】
技术研发人员:马军丁天虹童肇哲
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1