CN105279021B - 执行不可屏蔽中断的方法和装置 - Google Patents
执行不可屏蔽中断的方法和装置 Download PDFInfo
- Publication number
- CN105279021B CN105279021B CN201510677146.4A CN201510677146A CN105279021B CN 105279021 B CN105279021 B CN 105279021B CN 201510677146 A CN201510677146 A CN 201510677146A CN 105279021 B CN105279021 B CN 105279021B
- Authority
- CN
- China
- Prior art keywords
- security
- safe mode
- mode
- user
- interrupt request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
- Bus Control (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种执行不可屏蔽中断的方法和装置,该方法包括:在非安全模式下获取安全中断请求,并中断操作***OS的操作,该安全中断请求不可被屏蔽;通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;返回所述非安全模式执行用户定义处理;在所述用户定义处理完成后,再次进入所述安全模式,在该安全模式下根据所述中断上下文恢复所述OS状态;再次返回所述非安全模式,继续执行所述OS的操作。本发明实施例的执行不可屏蔽中断的方法和装置,可以不依赖于硬件简单地实现NMI。
Description
技术领域
本发明实施例涉及服务器领域,并且更具体地,涉及一种执行不可屏蔽中断的方法和装置。
背景技术
服务器一般对***稳定性有着极高的要求。在***正常运行时候能够定时保存***的状态,同时也需要在***异常的时候能够保存一些关键数据,为定位***出错原因提供数据支撑。因为***正常运行时,可以有多种方法和手段来保存***数据,但是***异常时——最严重的就是死机时,所有常规方法和手段已经不可行,所有中断也无法响应。此时需要不可屏蔽中断(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流程。
结合第一方面,在第一方面的一种实现方式中,返回所述非安全模式执行用户定义处理,包括:在所述安全模式下完成所述中断上下文的保存后,根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理。
结合第一方面或其上述相应的实现方式的任一种,在第一方面的另一种实现方式中,在所述根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理之前,所述方法还包括:在所述非安全模式的内核kernel启动时调用接口函数,所述接口函数通过安全监控呼叫SMC指令在所述安全模式将所述用户定义函数的地址记录在所述异常返回地址中。
结合第一方面或其上述相应的实现方式的任一种,在第一方面的另一种实现方式中,所述方法还包括:在所述安全模式的异常向量表中预配置保存函数的地址,所述保存函数用于保存所述OS的操作中断时OS状态的所述中断上下文;所述通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文,包括:当产生所述安全中断请求时,所述安全中断请求不可被屏蔽,根据所述保存函数的地址进入安全模式执行所述保存函数。
结合第一方面或其上述相应的实现方式的任一种,在第一方面的另一种实现方式中,所述通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文,可以包括:通过所述安全模式中运行的安全监测Secure Monitor软件捕获所述安全中断请求以进入安全模式,通过所述Secure Monitor软件在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文。
第二方面,本发明提供了一种执行不可屏蔽中断的装置,包括中断模块、保存模块、第一执行模块、恢复模块和第二执行模块,以用于执行第一方面及其相应的实现方式的执行不可屏蔽中断的方法。其中,中断模块,用于在非安全模式下获取安全中断请求,并中断操作***OS的操作;保存模块,用于通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;第一执行模块,用于返回所述非安全模式执行用户定义处理;恢复模块,用于在所述用户定义处理完成后,再次进入所述安全模式根据所述中断上下文恢复所述OS状态;第二执行模块,用于返回所述非安全模式,继续执行所述OS的操作。
其中,第二方面中所指的执行不可屏蔽中断的装置可以是中央处理器CPU。
结合第二方面,在第二方面的一种实现方式中,所述第一执行模块具体用于:在所述安全模式下完成所述中断上下文的保存后,根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理。
结合第二方面或其上述相应的实现方式的任一种,在第二方面的另一种实现方式中,所述装置还包括:接口调用模块,用于在所述第一执行模块根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理之前,在所述非安全模式的内核kernel启动时调用接口函数,所述接口函数通过安全监控呼叫SMC指令在所述安全模式将所述用户定义函数的地址记录在所述安全模式的所述异常返回地址中。
结合第二方面或其上述相应的实现方式的任一种,在第二方面的另一种实现方式中,所述保存模块具体用于:通过所述安全模式中运行的安全监测Secure Monitor软件捕获所述安全中断请求以进入安全模式,通过所述Secure Monitor软件在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文。
结合第二方面或其上述相应的实现方式的任一种,在第二方面的另一种实现方式中,所述装置还包括:预配置模块,用于在所述安全模式的异常向量表中预配置保存函数的地址,所述保存函数用于保存所述OS的操作中断时OS状态的所述中断上下文;所述保存模块具体用于:当产生所述安全中断请求时,所述安全中断请求不可被屏蔽,根据根据所述预配置模块预配置的所述保存函数的地址直接进入安全模式执行所述保存函数。
第三方面,本发明提供了一种执行不可屏蔽中断的装置,包括处理器、存储器和收发器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以控制收发器进行信号的接收和发送,当处理器执行所述存储器存储的指令时,以用于执行第一方面及其相应的实现方式的方法。
其中,在第三方面的执行不可屏蔽中断的装置中,收发器可以为一个接口,用于接收硬件向CPU发送的安全中断请求。
在第一方面至第三方面及相应的实现方式中,所述安全中断请求为快速中断请求FIQ。
在第一方面至第三方面及相应的实现方式中,用户定义处理可以是用户定义的,能够在不可屏蔽流程中的非安全模式下执行的指令。所述用户定义处理可以包括:保存***日志、上报OS的状态和喂狗中的至少一种。
在第一方面至第三方面及相应的实现方式中,所述非安全模式包括进阶精简指令集机器ARM架构的异常等级EL0和EL1中的至少一种,所述安全模式包括所述ARM架构的EL3。
在第一方面至第三方面及相应的实现方式中,所述安全中断请求是所述OS定时触发看门狗生成的,或者是由于硬件故障触发看门狗生成的。
本发明实施例的执行不可屏蔽中断的方法和装置,对安全中断请求进行相应的预配置,在获取安全中断请求时能够不受到硬件(例如MASK)的屏蔽,直接进入安全模式执行中断流程的中断上下文保存,继而通过安全模式的安全监测软件在安全模式与非安全模式下切换,实现后续的用户定义处理、OS状态恢复以及继续执行OS的操作等处理,因而可以不依赖于硬件简单地实现不可屏蔽中断流程。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明一个实施例的执行不可屏蔽中断的方法的示意性流程图。
图2是根据本发明另一个实施例的执行不可屏蔽中断的方法的示意性流程图。
图3是根据本发明另一个实施例的执行不可屏蔽中断的方法的示意性流程图。
图4是根据本发明一个实施例的FIQ的预配置的示意性流程图。
图5是根据本发明一个实施例的用户定义函数的预配置的示意性流程图。
图6是根据本发明一个实施例的执行不可屏蔽中断的装置的示意性框图。
图7是根据本发明另一个实施例的执行不可屏蔽中断的装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面对本发明实施例涉及的几个基本概念进行简要地介绍。
NMI:不可屏蔽中断(Non Maskable Interrupt),即中央处理器(CentralProcessing Unit,CPU)不能屏蔽的中断,无论状态寄存器中的中断标识(Interrupt Flag,IF)位的状态如何,CPU收到有效的NMI必须进行响应。NMI通常用于故障处理,例如协处理器运算出错、存储器校验出错、输入/输出(Input/Output,I/O)端口校验出错等,用于保存操作***(Operating System,OS)的错误状态和异常信息等。
EL0:异常等级(Exception Level)0,是指ARM架构中应用软件运行的环境,属于非安全模式,也称作非安全世界。
EL1:异常等级(Exception Level)1,是指ARM架构中内核(kernel)运行的环境,属于非安全模式。其中,kernel为操作***内核,是指大多数操作***(Operating System,OS)的核心部分。它由OS中用于管理存储器、文件、外设和***资源的部分组成。kernel通常用于运行进程,并提供进程间的通信。
EL3:Exception Level 3,一般用于ARM架构中运行安全监控(Secure Monitor)软件,例如可从网络获取的开源软件Trust Firmware等,EL3属于安全模式,也称作安全世界。
安全中断请求:是指可以被安全模式的代码处理的中断。
FIQ:快速中断请求(Fast Interrupt Request,FIQ),***在中断时做一些优化来达到快速和实时的目的。FIQ必须尽快处理,处理结束后离开这个模式。中断请求(Interrupt Request,IRQ)可以被FIQ中断,但IRQ不能中断FIQ。
本发明实施例的方法可以应用于ARM架构中,例如,应用于ARM64架构。也可以应用于非ARM架构的***中,只要可以运行安全监测软件或者可以产生类似于安全中断的***,都可以利用本发明的思想来实现NMI机制。
本发明实施例的执行不可屏蔽中断的方法,对安全中断请求进行相应的预配置,在获取安全中断请求时能够不受到硬件(例如MASK)的屏蔽,直接进入安全模式执行中断流程的中断上下文保存,继而通过安全模式的安全监测软件在安全模式与非安全模式下切换,实现后续的用户定义处理、OS状态恢复以及继续执行OS的操作等处理,因而可以不依赖于硬件简单地实现不可屏蔽中断流程。
具体而言,图1是根据本发明一个实施例的执行不可屏蔽中断的方法100的示意性流程图,方法100可以包括:
S110,在非安全模式下获取安全中断请求,并中断操作***OS的操作,该安全中断请求不可被屏蔽;
S120,通过该安全中断请求进入安全模式,在该安全模式下保存该OS的操作中断时OS状态的中断上下文;
S130,返回该非安全模式执行用户定义处理;
S140,在该用户定义处理完成后,再次进入该安全模式,在该安全模式下根据该中断上下文恢复该OS状态;
S150,再次返回该非安全模式,继续执行该OS的操作。
其中,在执行该方法之前,可以对相应的寄存器和异常向量表进行预配置,使得在获取安全中断请求后能够执行不可屏蔽中断流程。
例如,在ARM架构中,预配置SCR_EL3寄存器的FIQ位为1,使得当获取安全中断请求FIQ时,***能够知道应执行不可屏蔽中断,从而转向异常向量表查找应路由至的模式。对异常向量表的预配置则可以将地址初始化为VBAR_EL3,使得***在执行不可屏蔽中断时进入非安全模式。
应理解,用户定义处理可以是用户定义的,能够在不可屏蔽流程中的非安全模式下执行的指令。
本发明实施例的执行不可屏蔽中断的方法,通过安全中断请求进入安全模式保存中断时OS状态的中断上下文,返回非安全模式执行用户定义处理后再次进入安全模式恢复OS状态,恢复OS状态后再次返回非安全模式继续执行OS的操作,从而可以不依赖于硬件简单地实现NMI。
其中,本发明实施例中的安全中断请求可以为快速中断请求FIQ,也可以为可以被安全模式的代码处理的其它类型的安全中断请求,本发明实施例对此不作限定。本说明书以FIQ为例进行说明,其它安全中断请求的情况与之类似,不再一一赘述。
其中,本说明书以ARM架构为例进行说明。ARM架构中非安全模式可以包括EL0和EL1中的至少一种,安全模式可以包括EL3。
具体而言,图2和图3示出了本发明实施例的执行不可屏蔽中断的示意性流程图。执行不可屏蔽中断的过程可以包括以下步骤:
S210,看门狗(Watch Dog)生成安全中断请求,该安全中断请求可以是FIQ。其中,安全中断请求可以是OS定时触发看门狗生成的,或者是由于硬件故障触发看门狗生成的,本发明实施例对此不作限定。
OS为了保证运行的稳定性,需要定时保存OS的状态,从而定时触发看门狗生成FIQ。
硬件可以是产生中断的各类硬件设备,又称作中断源(Interrupt Source),可以包括网卡(即网络接口板,又称为通信适配器,或网络适配器(Network Adapter),或网络接口卡(Network Interface Card,NIC)),硬盘(SATA)以及看门狗等。当硬件发生故障时可以触发看门狗生成FIQ。
S220,当看门狗产生FIQ以后,通用中断控制器(Generic Interrupt Controller,GIC)会捕捉到这种中断请求,将该FIQ发送到中央处理器(Central Processing Unit,CPU)的接口。此时不论CPU处于什么状态,都会停止工作响应,即中断OS的操作,并处理该FIQ。
其中,GIC是用来对中断进行控制和上报的硬件模块,是ARM架构中的通用模块。
S230,FIQ导致CPU进入到EL3模式,FIQ不可被屏蔽,被运行在EL3模式的安全监控软件(例如trust firmware)所捕获。在安全监控软件捕获到FIQ后,CPU根据EL3模式的异常向量表,确定保存函数在EL3模式中的地址。
其中,FIQ不可被屏蔽,使得CPU进入到EL3模式可以通过预配置实现,具体在下文中的预配置的流程300中介绍。
S240,执行上述保存函数,在EL3模式下保存OS的操作中断时OS状态的中断上下文(Context,或称为场景)。
其中,中断上下文为***中断时产生的相关数据。通常,中断上下文可以包括:X0-X30的状态、ELR_EL3、SPSR_EL3的状态等。其中,X0-X30是通用寄存器、ELR_EL3为从EL3异常返回至其它层级的地址、SPSR_EL3为EL3异常返回的状态。
S250,在完成中断上下文的保存后,根据异常返回地址返回非安全模式(EL1模式的kernel中)的用户定义函数。在返回非安全模式前,可以将保存的中断上下文连同SP_EL0、SP_EL1、SP_EL2等再保存一个备份。其中,SP_EL0是指EL0层级的堆栈点(Stack Point,SP)中的数据、SP_EL1是指EL1层级用的SP中的数据、SP_EL2是指EL2层级用的SP中的数据。
其中,异常返回地址需要在***初始化时通过注册进行预配置,具体在下文中的预配置的流程400中介绍。
S260,在EL1模式中kernel执行用户定义函数以完成用户定义处理。
其中,用户定义处理可以是用户定义的,能够在不可屏蔽流程中的非安全模式下执行的指令。用户定义处理,可以由用户根据***的需要定制,例如可以包括:保存***日志、上报OS的状态和喂狗中的至少一种,以完成本次中断的一些惯常的后续处理,例如,保存***日志,上报本次中断OS的状态,清空Watch Dog的计时器告等等。
用户定义处理还可以包括用户定义的一些其它处理,本发明实施例对此不作限定。用户定义函数中可以包括再次进入EL3模式时,所进入的函数的地址。
ARM架构的EL3模式下,不能实现本发明实施例的用户定义处理,因而需返回非安全模式(EL1模式)中来执行。
S250和S260,可以对应于S130返回该非安全模式执行用户定义处理,包括:在该安全模式下完成该中断上下文的保存后,根据该安全模式的异常返回地址返回该非安全模式,执行用户定义函数以完成该用户定义处理。
S270,在用户定义处理完成后,通过ARM架构中通用的安全监控呼叫(SecureMonitor Call,SMC)指令再次从EL1进入EL3,即安全模式,进入S260该的函数。该函数可以为恢复函数,用于根据中断上下文恢复OS状态,但本发明实施例不限于此。
S280,在中断上下文恢复后,返回非安全模式,继续执行中断产生时OS的操作。
应理解,本发明实施例的方法运行在EL3模式时,可以通过Secure Monitor软件完成相应的处理。Secure Monitor软件是可以运行在EL3模式下的一类软件。当CPU在安全模式和非安全模式之间进行切换时均可经过Secure Monitor软件。Secure Monitor软件主要负责CPU在两种模式之间转换时上下文(Context)安全稳定的切换。因而,本发明实施例的实现NMI机制可视为是基于软件实现的。
本发明实施例中,以Secure Monitor软件为Trust Firmware软件为例进行描述,当然也可以使用其他的Secure Monitor软件,本发明实施例对此不作限定。
本发明实施例中,为使得***可执行不可屏蔽中断,在EL3模式***需要运行trust firmware软件。在***启动过程中,在对trust firmware初始化过程中需对FIQ进行预配置,使其能够作为安全中断请求来使用。
因此,在本发明实施例中,S120通过该安全中断请求进入安全模式,在该安全模式下保存该OS的操作中断时OS状态的中断上下文,可以包括:通过该安全模式中运行的安全监测Secure Monitor软件捕获该安全中断请求以进入安全模式,并且通过该SecureMonitor软件在该安全模式下保存该OS的操作中断时OS状态的中断上下文。
具体地,例如,FIQ的预配置过程可以如图4所示的流程300,包括:
S310,在***启动阶段,初始化异常向量表,将异常向量表(runtime_exceptions)的地址初始化为VBAR_EL3。由此,当捕获FIQ时,CPU可以根据异常向量表进入EL3模式。
S320,配置SCR_EL3寄存器的FIQ位为1。由此,当FIQ产生时,***可知应执行不可屏蔽中断,从而转向至异常向量表查找应路由至的模式。
S330,对***的硬件进行配置,定义由FIQ产生的中断的特性。其中,包括配置GICCFIQEn为1,即Group0的中断为FIQ形式;设置GICC的FIQBypDisGrp0位为0。使能GICD的Group0和Group1,设置中断前将所有安全中断请求的中断使能清除,同时优先级设置为不区分。设置GICC PMR,即不屏蔽任何中断。设置对应安全中断号的中断优先级为0,即最高优先级。设置中断分组寄存器,即设置对应的安全中断号为Group0。
对应上述方法100,方法100还可以包括:
在该安全模式的异常向量表中预配置保存函数的地址,该保存函数用于保存该OS的操作中断时OS状态的中断上下文;
S120通过该安全中断请求进入安全模式,在该安全模式下保存该OS的操作中断时OS状态的中断上下文,可以包括:
当产生该安全中断请求时,该安全中断请求不可被屏蔽,根据该地址进入安全模式执行该保存函数。
应理解,上述预配置的过程也可以不在trust firmware初始化时执行,而是在***启动的其他过程中执行。或者可以将上述流程分开在***不同的启动阶段来执行,并且预配置的顺序可以不局限于流程300所给出的顺序。
本发明实施例中,在完成中断上下文的保存后,根据异常返回地址返回非安全模式(EL1模式的kernel中)的用户定义函数。异常返回地址可以如图5所示的流程400进行预配置,用于将运行在非安全模式下的OS的NMI的中断接口函数注册到安全模式下。
S410,启动kernel,装载除kernel以外的其他模块的代码。
S420,调用中断接口函数(例如可以为register_nmi_handler)。该函数通过SMC指令将EL1模式执行的用户定义函数(例如可以为nmi_handler)的地址传送到EL3模式的trust firmware软件中并被记录下来。
具体地,中断接口函数可以通过SMC指令向trust firmware软件发送两个参数。参数0为用户定义函数的地址,其中用户定义函数可以为用户根据需要定制的函数;参数1为SMC函数标识(ID),例如可以参考SMC调用规范设为0x83000000。其中,0x83000000可以是原始设备制造商(Original Equipment Manufacture,OEM)定义的标识ID,其符合SMC调用规范,实现的功能为保存用户定义函数的地址。继而,***进入EL3模式的trust firmware软件,确认SMC函数ID并保存用户定义函数nmi_handler。
相应地,在该根据该安全模式的异常返回地址返回该非安全模式,执行用户定义函数以完成用户定义处理之前,该方法还包括:
在该非安全模式的kernel的启动时调用接口函数,该接口函数通过安全监控呼叫SMC指令在该安全模式,将该用户定义函数的地址记录在该异常返回地址中。
应理解,本发明实施例中也可以通过其他方式,例如中断等方式来将该用户定义函数的地址传递给trust firmware软件,本发明实施例对此不作限定。
此外,在本发明实施例的ARM架构中,当***产生其他类型的中断时,即非不可屏蔽中断时,仍然可以依照现有的方式,生成IRQ。由相应的硬件,如IRQ MASK对其进行屏蔽,从而使得应用软件所运行的EL0和kernel运行的EL1等非安全模式不感知该中断。本发明实施例对非不可屏蔽中断的实施方式不作限定。
还应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
上文中结合图1至图5详细描述了根据本发明实施例的执行不可屏蔽中断的方法,下面将结合图6和图7描述根据本发明实施例的执行不可屏蔽中断的装置。
如图6所示,该执行不可屏蔽中断的装置500包括:
中断模块510,用于在非安全模式下获取安全中断请求,并中断操作***OS的操作,该安全中断请求不可被屏蔽;
保存模块520,用于通过该安全中断请求进入安全模式,在该安全模式下保存该OS的操作中断时OS状态的中断上下文;
第一执行模块530,用于返回该非安全模式执行用户定义处理;
恢复模块540,用于在该用户定义处理完成后,再次进入该安全模式,在该安全模式下根据该中断上下文恢复该OS状态;
第二执行模块550,用于再次返回该非安全模式,继续执行该OS的操作。
因此,本发明实施例的执行不可屏蔽中断的装置,通过安全中断请求进入安全模式保存中断时OS状态的中断上下文,返回非安全模式执行用户定义处理后再次进入安全模式恢复OS状态,恢复OS状态后再次返回非安全模式继续执行OS的操作,从而可以不依赖于硬件简单地实现NMI。
在本发明实施例中,该安全中断请求可以为快速中断请求FIQ。
在本发明实施例中,该用户定义处理可以包括:保存***日志、上报OS的状态和喂狗中的至少一种。
在本发明实施例中,该非安全模式可以包括进阶精简指令集机器ARM架构的异常等级EL0和EL1中的至少一种,该安全模式可以包括该ARM架构的EL3。
在本发明实施例中,该安全中断请求可以是该OS定时触发看门狗生成的,或者可以是由于硬件故障触发看门狗生成的。
可选地,作为一个实施例,该第一执行模块530具体可以用于:
在该安全模式下完成该中断上下文的保存后,根据该安全模式的异常返回地址返回该非安全模式,执行用户定义函数以完成该用户定义处理。
可选地,作为一个实施例,该装置500还可以包括:
接口调用模块,用于在该第一执行模块530根据该安全模式的异常返回地址返回该非安全模式,执行用户定义函数以完成该用户定义处理之前,在该非安全模式的内核kernel启动时调用接口函数,该接口函数通过安全监控呼叫SMC指令在该安全模式将该用户定义函数的地址记录在该异常返回地址中。
可选地,作为一个实施例,该装置500还包括:
预配置模块,用于在该安全模式的异常向量表中预配置保存函数的地址,该保存函数用于保存该OS的操作中断时OS状态的该中断上下文;
该保存模块520具体用于:
当产生该安全中断请求时,该安全中断请求不可被屏蔽,根据根据该预配置模块预配置的该保存函数的地址进入安全模式执行该保存函数。
可选地,作为一个实施例,该保存模块520具体可以用于:
通过所述安全模式中运行的安全监测Secure Monitor软件捕获所述安全中断请求以进入安全模式,并且通过所述Secure Monitor软件在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文。
应理解,本发明实施例的装置500可以为CPU。
还应理解,装置500中的各模块的划分仅仅是示意性的,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。各模块可以单独存在,也可以进行结合。优选地,装置500中的各模块可以集成到CPU的一个总模块中,用于执行不可屏蔽中断流程。
还应理解,本发明实施例的装置500可对应于执行本发明实施例中的执行不可屏蔽中断的主体,并且装置500中的各个模块的上述和其它操作和/或功能分别为了实现图1至图5中的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的执行不可屏蔽中断的装置,通过安全中断请求进入安全模式保存中断时OS状态的中断上下文,返回非安全模式执行用户定义处理后再次进入安全模式恢复OS状态,恢复OS状态后再次返回非安全模式继续执行OS的操作,从而可以不依赖于硬件简单地实现NMI。
在本发明实施例中,在非安全模式下获取安全中断请求可以由收发器实现,中断模块510、保存模块520、第一执行模块530、恢复模块540和第二执行模块550所实现的功能可以由处理器实现。如图7所示,执行不可屏蔽中断的装置600可以包括处理器610、收发器620和存储器630。其中,存储器630可以用于存储处理器610执行的代码等,收发器620可以为一个接口,用于接收看门狗等硬件向CPU发送的安全中断请求。
装置600中的各个组件通过总线***640耦合在一起,其中总线***640除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。
图7所示的装置600能够实现前述图1至图5的实施例中所实现的各个过程。装置600包括处理器610、收发器620和存储器630,该存储器630用于存储指令,该处理器610用于执行该存储器630存储的指令,以控制收发器620进行信号的接收和发送,当处理器610执行该存储器630存储的指令时,该装置600用于完成本发明实施例的执行不可屏蔽中断的方法。
其中,收发器620可以用于在非安全模式下获取安全中断请求,该安全中断请求不可被屏蔽;
处理器610可以用于:
中断操作***OS的操作;
通过该安全中断请求进入安全模式,在该安全模式下保存该OS的操作中断时OS状态的中断上下文;
返回该非安全模式执行用户定义处理;
在该用户定义处理完成后,再次进入该安全模式,在该安全模式下根据该中断上下文恢复该OS状态;
再次返回该非安全模式,继续执行该OS的操作。
因此,本发明实施例的执行不可屏蔽中断的方法,通过安全中断请求进入安全模式保存中断时OS状态的中断上下文,返回非安全模式执行用户定义处理后再次进入安全模式恢复OS状态,恢复OS状态后再次返回非安全模式继续执行OS的操作,从而可以不依赖于硬件简单地实现NMI。
在本发明实施例中,该安全中断请求可以为快速中断请求FIQ。
在本发明实施例中,该用户定义处理可以包括:保存***日志、上报OS的状态和喂狗中的至少一种。
在本发明实施例中,该非安全模式可以包括进阶精简指令集机器ARM架构的异常等级EL0和EL1中的至少一种,该安全模式可以包括该ARM架构的EL3。
在本发明实施例中,该安全中断请求可以是该OS定时触发看门狗生成的,或者可以是由于硬件故障触发看门狗生成的。
可选地,作为一个实施例,处理器610返回该非安全模式执行用户定义处理,可以包括:
在该安全模式下完成该中断上下文的保存后,根据该安全模式的异常返回地址返回该非安全模式,执行用户定义函数以完成该用户定义处理。
可选地,作为一个实施例,处理器610在该根据该安全模式的异常返回地址返回该非安全模式,执行用户定义函数以完成该用户定义处理之前,还可以用于:
在该非安全模式的内核kernel启动时调用接口函数,该接口函数通过安全监控呼叫SMC指令在该安全模式将该用户定义函数的地址记录在该异常返回地址中。
可选地,作为一个实施例,处理器610还可以用于在该安全模式的异常向量表中预配置保存函数的地址,该保存函数用于保存该OS的操作中断时OS状态的该中断上下文;
处理器610通过该安全中断请求进入安全模式,在该安全模式下保存该OS的操作中断时OS状态的中断上下文,可以包括:
当产生该安全中断请求时,该安全中断请求不可被屏蔽,根据该保存函数的地址进入安全模式执行该保存函数。
可选地,作为一个实施例,处理器610通过该安全中断请求进入安全模式,在该安全模式下保存该OS的操作中断时OS状态的中断上下文,可以包括:
通过该安全模式中运行的安全监测Secure Monitor软件捕获该安全中断请求以进入安全模式,通过该Secure Monitor软件在该安全模式下保存该OS的操作中断时OS状态的中断上下文。
应理解,本发明实施例的装置600可以为CPU。
应注意,本发明上述方法实施例可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本发明实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的***和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (20)
1.一种执行不可屏蔽中断的方法,其特征在于,包括:
在非安全模式下获取安全中断请求,并中断操作***OS的操作,所述安全中断请求不可被屏蔽;
通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;
返回所述非安全模式执行用户定义处理;
在所述用户定义处理完成后,再次进入所述安全模式,在所述安全模式下根据所述中断上下文恢复所述OS状态;
再次返回所述非安全模式,继续执行所述OS的操作。
2.根据权利要求1所述的方法,其特征在于,所述返回所述非安全模式执行用户定义处理,包括:
在所述安全模式下完成所述中断上下文的保存后,根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理之前,所述方法还包括:
在所述非安全模式的内核kernel启动时调用接口函数,所述接口函数通过安全监控呼叫SMC指令在所述安全模式将所述用户定义函数的地址记录在所述异常返回地址中。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述安全中断请求为快速中断请求FIQ。
5.根据权利要求1至3中任一项所述的方法,其特征在于,所述用户定义处理包括:保存***日志、上报OS的状态和喂狗中的至少一种。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
在所述安全模式的异常向量表中预配置保存函数的地址,所述保存函数用于保存所述OS的操作中断时OS状态的所述中断上下文;
所述通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文,包括:
当产生所述安全中断请求时,所述安全中断请求不可被屏蔽,根据所述保存函数的地址进入安全模式执行所述保存函数。
7.根据权利要求1至3中任一项所述的方法,其特征在于,所述通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文,包括:
通过所述安全模式中运行的安全监测Secure Monitor软件捕获所述安全中断请求以进入安全模式,通过所述Secure Monitor软件在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文。
8.根据权利要求1至3中任一项所述的方法,其特征在于,所述非安全模式包括进阶精简指令集机器ARM架构的异常等级EL0和EL1中的至少一种,所述安全模式包括所述ARM架构的EL3。
9.根据权利要求1至3中任一项所述的方法,其特征在于,所述安全中断请求是所述OS定时触发看门狗生成的,或者是由于硬件故障触发看门狗生成的。
10.一种执行不可屏蔽中断的装置,其特征在于,包括:
中断模块,用于在非安全模式下获取安全中断请求,并中断操作***OS的操作,所述安全中断请求不可被屏蔽;
保存模块,用于通过所述安全中断请求进入安全模式,在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文;
第一执行模块,用于返回所述非安全模式执行用户定义处理;
恢复模块,用于在所述用户定义处理完成后,再次进入所述安全模式,在所述安全模式下根据所述中断上下文恢复所述OS状态;
第二执行模块,用于再次返回所述非安全模式,继续执行所述OS的操作。
11.根据权利要求10所述的装置,其特征在于,所述第一执行模块具体用于:
在所述安全模式下完成所述中断上下文的保存后,根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
接口调用模块,用于在所述第一执行模块根据所述安全模式的异常返回地址返回所述非安全模式,执行用户定义函数以完成所述用户定义处理之前,在所述非安全模式的内核kernel启动时调用接口函数,所述接口函数通过安全监控呼叫SMC指令在所述安全模式将所述用户定义函数的地址记录在所述异常返回地址中。
13.根据权利要求10至12中任一项所述的装置,其特征在于,所述安全中断请求为快速中断请求FIQ。
14.根据权利要求10至12中任一项所述的装置,其特征在于,所述用户定义处理包括:保存***日志、上报OS的状态和喂狗中的至少一种。
15.根据权利要求10至12中任一项所述的装置,其特征在于,所述装置还包括:
预配置模块,用于在所述安全模式的异常向量表中预配置保存函数的地址,所述保存函数用于保存所述OS的操作中断时OS状态的所述中断上下文;
所述保存模块具体用于:
当产生所述安全中断请求时,所述安全中断请求不可被屏蔽,根据所述预配置模块预配置的所述保存函数的地址进入安全模式执行所述保存函数。
16.根据权利要求10至12中任一项所述的装置,其特征在于,所述保存模块具体用于:
通过所述安全模式中运行的安全监测Secure Monitor软件捕获所述安全中断请求以进入安全模式,通过所述Secure Monitor软件在所述安全模式下保存所述OS的操作中断时OS状态的中断上下文。
17.根据权利要求10至12中任一项所述的装置,其特征在于,所述非安全模式包括进阶精简指令集机器ARM架构的异常等级EL0和EL1中的至少一种,所述安全模式包括所述ARM架构的EL3。
18.根据权利要求10至12中任一项所述的装置,其特征在于,所述安全中断请求是所述OS定时触发看门狗生成的,或者是由于硬件故障触发看门狗生成的。
19.根据权利要求10至12中任一项所述的装置,其特征在于,所述装置为中央处理器CPU。
20.一种执行不可屏蔽中断的装置,其特征在于,包括处理器、收发器和存储器,
所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,以控制收发器进行信号的接收和发送,当处理器执行所述存储器存储的指令时,所述装置用于完成如权利要求1至9中任一项所述的方法。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910408194.1A CN110209615B (zh) | 2015-10-16 | 2015-10-16 | 执行不可屏蔽中断的方法和装置 |
CN201510677146.4A CN105279021B (zh) | 2015-10-16 | 2015-10-16 | 执行不可屏蔽中断的方法和装置 |
ES16854908T ES2928753T3 (es) | 2015-10-16 | 2016-10-09 | Método y aparato para ejecutar una interrupción no enmascarable |
EP22179800.2A EP4123450A1 (en) | 2015-10-16 | 2016-10-09 | Method and apparatus for executing non-maskable interrupt |
PCT/CN2016/101592 WO2017063529A1 (zh) | 2015-10-16 | 2016-10-09 | 执行不可屏蔽中断的方法和装置 |
EP16854908.7A EP3306470B1 (en) | 2015-10-16 | 2016-10-09 | Method and apparatus for executing non-maskable interrupt |
US15/947,491 US10437632B2 (en) | 2015-10-16 | 2018-04-06 | Method and apparatus for executing non-maskable interrupt |
US16/592,144 US10970108B2 (en) | 2015-10-16 | 2019-10-03 | Method and apparatus for executing non-maskable interrupt |
US17/207,186 US11360803B2 (en) | 2015-10-16 | 2021-03-19 | Method and apparatus for executing non-maskable interrupt |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510677146.4A CN105279021B (zh) | 2015-10-16 | 2015-10-16 | 执行不可屏蔽中断的方法和装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910408194.1A Division CN110209615B (zh) | 2015-10-16 | 2015-10-16 | 执行不可屏蔽中断的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105279021A CN105279021A (zh) | 2016-01-27 |
CN105279021B true CN105279021B (zh) | 2019-05-07 |
Family
ID=55148073
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910408194.1A Active CN110209615B (zh) | 2015-10-16 | 2015-10-16 | 执行不可屏蔽中断的方法和装置 |
CN201510677146.4A Active CN105279021B (zh) | 2015-10-16 | 2015-10-16 | 执行不可屏蔽中断的方法和装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910408194.1A Active CN110209615B (zh) | 2015-10-16 | 2015-10-16 | 执行不可屏蔽中断的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10437632B2 (zh) |
EP (2) | EP3306470B1 (zh) |
CN (2) | CN110209615B (zh) |
ES (1) | ES2928753T3 (zh) |
WO (1) | WO2017063529A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110209615B (zh) | 2015-10-16 | 2023-09-12 | 华为技术有限公司 | 执行不可屏蔽中断的方法和装置 |
KR101936565B1 (ko) * | 2016-11-14 | 2019-01-09 | 엘에스산전 주식회사 | 인버터에서 인터럽트 제어방법 |
CN108090376B (zh) * | 2016-11-23 | 2021-01-12 | 厦门雅迅网络股份有限公司 | 基于TrustZone的CAN总线数据防护方法及*** |
CN107103257B (zh) * | 2017-05-16 | 2020-06-16 | 陕西国博政通信息科技有限公司 | 计算机入侵防范方法 |
CN107507552B (zh) * | 2017-09-05 | 2019-08-09 | 京东方科技集团股份有限公司 | 一种信号处理方法和时序控制电路 |
CN109947550B (zh) * | 2019-03-18 | 2023-07-28 | 晶晨半导体(上海)股份有限公司 | 一种适用于risc-v架构的非屏蔽中断处理***及方法 |
US10860438B1 (en) * | 2019-06-27 | 2020-12-08 | EMC IP Holding Company LLC | Stream level uninterrupted backup operation using an interrupt service routine approach |
US11354182B1 (en) * | 2019-12-10 | 2022-06-07 | Cisco Technology, Inc. | Internal watchdog two stage extension |
CN110990229B (zh) * | 2019-12-17 | 2023-07-18 | 北京天融信网络安全技术有限公司 | 一种***信息采集方法及装置 |
CN114416408A (zh) * | 2021-12-13 | 2022-04-29 | 飞腾信息技术有限公司 | 一种中断处理方法及装置 |
CN117331676B (zh) * | 2023-11-30 | 2024-03-19 | 上海兆芯集成电路股份有限公司 | ***管理模式进入方法、处理器和计算机*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1070496A (zh) * | 1991-08-30 | 1993-03-31 | 英特尔公司 | 自动暂停状态重启动的透明***中断 |
CN102483713A (zh) * | 2009-08-04 | 2012-05-30 | 富士通株式会社 | 复位方法以及监视装置 |
CN102591719A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种基于8051cpu***的中断扩展方法 |
CN102708015A (zh) * | 2012-05-15 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 基于cpu不可屏蔽中断***问题诊断的调试方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
US7130951B1 (en) * | 2002-04-18 | 2006-10-31 | Advanced Micro Devices, Inc. | Method for selectively disabling interrupts on a secure execution mode-capable processor |
US7603551B2 (en) * | 2003-04-18 | 2009-10-13 | Advanced Micro Devices, Inc. | Initialization of a computer system including a secure execution mode-capable processor |
US7165135B1 (en) * | 2002-04-18 | 2007-01-16 | Advanced Micro Devices, Inc. | Method and apparatus for controlling interrupts in a secure execution mode-capable processor |
US7117284B2 (en) * | 2002-11-18 | 2006-10-03 | Arm Limited | Vectored interrupt control within a system having a secure domain and a non-secure domain |
US7363544B2 (en) * | 2003-10-30 | 2008-04-22 | International Business Machines Corporation | Program debug method and apparatus |
US20050193259A1 (en) | 2004-02-17 | 2005-09-01 | Martinez Juan I. | System and method for reboot reporting |
US7950020B2 (en) * | 2006-03-16 | 2011-05-24 | Ntt Docomo, Inc. | Secure operating system switching |
US7730248B2 (en) * | 2007-12-13 | 2010-06-01 | Texas Instruments Incorporated | Interrupt morphing and configuration, circuits, systems and processes |
US8051467B2 (en) * | 2008-08-26 | 2011-11-01 | Atmel Corporation | Secure information processing |
US9405637B2 (en) * | 2011-01-18 | 2016-08-02 | Texas Instruments Incorporated | Locking/unlocking CPUs to operate in safety mode or performance mode without rebooting |
US9112793B2 (en) | 2012-05-31 | 2015-08-18 | International Business Machines Corporation | End-to-end multipathing through network having switching devices compatible with different protocols |
JP6117068B2 (ja) * | 2013-09-20 | 2017-04-19 | 株式会社東芝 | 情報処理装置、およびプログラム |
CN110209615B (zh) * | 2015-10-16 | 2023-09-12 | 华为技术有限公司 | 执行不可屏蔽中断的方法和装置 |
-
2015
- 2015-10-16 CN CN201910408194.1A patent/CN110209615B/zh active Active
- 2015-10-16 CN CN201510677146.4A patent/CN105279021B/zh active Active
-
2016
- 2016-10-09 ES ES16854908T patent/ES2928753T3/es active Active
- 2016-10-09 WO PCT/CN2016/101592 patent/WO2017063529A1/zh active Application Filing
- 2016-10-09 EP EP16854908.7A patent/EP3306470B1/en active Active
- 2016-10-09 EP EP22179800.2A patent/EP4123450A1/en active Pending
-
2018
- 2018-04-06 US US15/947,491 patent/US10437632B2/en active Active
-
2019
- 2019-10-03 US US16/592,144 patent/US10970108B2/en active Active
-
2021
- 2021-03-19 US US17/207,186 patent/US11360803B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1070496A (zh) * | 1991-08-30 | 1993-03-31 | 英特尔公司 | 自动暂停状态重启动的透明***中断 |
CN102483713A (zh) * | 2009-08-04 | 2012-05-30 | 富士通株式会社 | 复位方法以及监视装置 |
CN102591719A (zh) * | 2011-01-17 | 2012-07-18 | 上海华虹集成电路有限责任公司 | 一种基于8051cpu***的中断扩展方法 |
CN102708015A (zh) * | 2012-05-15 | 2012-10-03 | 江苏中科梦兰电子科技有限公司 | 基于cpu不可屏蔽中断***问题诊断的调试方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3306470A4 (en) | 2018-08-08 |
US10437632B2 (en) | 2019-10-08 |
CN110209615B (zh) | 2023-09-12 |
ES2928753T3 (es) | 2022-11-22 |
US11360803B2 (en) | 2022-06-14 |
US20180225143A1 (en) | 2018-08-09 |
CN105279021A (zh) | 2016-01-27 |
US10970108B2 (en) | 2021-04-06 |
US20200034187A1 (en) | 2020-01-30 |
US20210208925A1 (en) | 2021-07-08 |
CN110209615A (zh) | 2019-09-06 |
EP4123450A1 (en) | 2023-01-25 |
EP3306470B1 (en) | 2022-07-27 |
WO2017063529A1 (zh) | 2017-04-20 |
EP3306470A1 (en) | 2018-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105279021B (zh) | 执行不可屏蔽中断的方法和装置 | |
CN105718309B (zh) | 虚拟环境的中断处理方法与*** | |
CN101131639A (zh) | 向os提供平台管理功能的基于efi的机制 | |
CN106502814B (zh) | 一种记录pcie设备错误信息的方法及装置 | |
CN107491373A (zh) | 一种任务栈溢出监测方法及*** | |
CN104054087A (zh) | 控制装置监控***以及控制装置的监控方法 | |
CN109976926B (zh) | 一种屏蔽重启保护bmc更新过程的方法、电路、终端及存储介质 | |
CN105939286A (zh) | 令牌桶管理方法及装置 | |
RU2014151557A (ru) | Сетевое управление наборами защищенных данных | |
JP2015524128A5 (zh) | ||
TW201610672A (zh) | 在資料處理裝置中進行除錯 | |
CN106375103B (zh) | 一种告警数据采集和发送方法 | |
US9479478B2 (en) | Method for operating a communication module, and communication module | |
CN112632645A (zh) | 消息监测 | |
CN110912725A (zh) | 一种OpenFlow虚拟交换机的配置方法及配置装置 | |
RU2569576C1 (ru) | Управляющий модуль | |
CN104580135A (zh) | 一种基于uefi的终端实时控制***和方法 | |
CN111131198B (zh) | 网络安全策略配置的更新方法及装置 | |
CN111901060B (zh) | 一种让iptables规则支持本地时间的方法及终端 | |
CN112003739A (zh) | 一种创建用户自动配额的方法、***、终端及存储介质 | |
CN109656676B (zh) | 多虚拟机共享fpga的控制方法、装置及电子设备 | |
CN109062718A (zh) | 一种服务器及数据处理方法 | |
KR20160100626A (ko) | 실제 자원들을 이용하여 악성 코드를 실행하는 컴퓨팅 장치, 악성 코드의 정보를 관리하는 서버 시스템, 및 그것들을 포함하는 전자 시스템 | |
CN110413480A (zh) | 用于机器人运行状态的处理方法及装置 | |
US20210397478A1 (en) | Resource-usage notification framework in a distributed computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |