CN117272412B - 中断控制寄存器保护方法、装置、计算机设备及存储介质 - Google Patents

中断控制寄存器保护方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN117272412B
CN117272412B CN202311554005.4A CN202311554005A CN117272412B CN 117272412 B CN117272412 B CN 117272412B CN 202311554005 A CN202311554005 A CN 202311554005A CN 117272412 B CN117272412 B CN 117272412B
Authority
CN
China
Prior art keywords
mode
interrupt
target
application program
target application
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
Application number
CN202311554005.4A
Other languages
English (en)
Other versions
CN117272412A (zh
Inventor
胡振波
彭剑英
桂兵
方华启
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shin Lai Zhirong Semiconductor Technology Shanghai Co ltd
Original Assignee
Shin Lai Zhirong Semiconductor Technology Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shin Lai Zhirong Semiconductor Technology Shanghai Co ltd filed Critical Shin Lai Zhirong Semiconductor Technology Shanghai Co ltd
Priority to CN202311554005.4A priority Critical patent/CN117272412B/zh
Publication of CN117272412A publication Critical patent/CN117272412A/zh
Application granted granted Critical
Publication of CN117272412B publication Critical patent/CN117272412B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例中提供了一种中断控制寄存器保护方法、中断控制寄存器保护装置、计算机设备和存储介质,涉及计算机技术领域。该方法包括:获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;响应于接收目标应用程序的中断请求,根据中断请求确定目标应用程序的目标特权模式;若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对hart的特权模式为机器模式执行的写操作。本公开可以确保PLIC寄存器不被篡改,以适用于具有安全需求的应用场景。

Description

中断控制寄存器保护方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,具体地,涉及一种中断控制寄存器保护方法、中断控制寄存器保护装置、计算机设备和存储介质。
背景技术
RISC-V芯片通过平台级中断寄存器(Platform-Level interrupt controller,简称为PLIC)将外部的全局中断请求处理后再转至内核处理。其处理器内核通常为硬件线程(hardware thread ,简称为hart)上下文,其中 hart 上下文是hart 上的某特权模式,例如机器模式(Machine -mode,简称为M模式)、监督模式(Supervisor-mode,简称为S模式)。
在实际应用中,通常预先配置PLIC寄存器对应中断源的特权模式配置表,从而实现应用程序将中断分配到M模式进行响应,另一些中断分配到S模式进行响应。
然而,上述技术方案在处理中断过程中,当应用程序为S模式时,PLIC寄存器是可读写状态,即S模式下的应用程序能直接修改PLIC寄存器,极易出现上述特权模式配置表被恶意篡改,不便于PLIC寄存器的保护,进而不适用于有安全需求的应用场景。
发明内容
本申请实施例中提供了一种中断控制寄存器保护方法、中断控制寄存器保护方法装置、计算机设备和存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致中断控制寄存器预先配置的中断源特权模式配置表极易被篡改,不适用于有安全需求的应用场景,且不便于PLIC中断控制寄存器的保护的技术问题。
本申请实施例的第一个方面,提供了一种中断控制寄存器保护方法,包括:获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;响应于接收目标应用程序的中断请求,根据中断请求确定目标应用程序的目标特权模式;若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作。
在本申请一个可选的实施例中,该方法还包括:若目标特权模式为监督模式,则控制中断控制寄存器响应目标应用程序针对特权模式为机器模式的目标hart所执行的读操作,并向目标应用程序返回预设布尔值。
在本申请一个可选的实施例中,中断控制寄存器在预设时间段内接收到多个应用程序的中断请求或目标应用程序发起的多个中断请求;响应于接收目标应用程序的中断请求,根据中断请求确定目标应用程序的目标特权模式,包括:响应于接收到多个应用程序的中断请求或目标应用程序的多个中断请求,确定多个应用程序的中断优先级;将中断优先级最高的应用程序确定目标应用程序,并根据目标应用程序的中断请求确定目标应用程序的目标特权模式。
在本申请一个可选的实施例中,将中断优先级最高的应用程序确定目标应用程序,包括:将中断优先级最高的应用程序且中断优先级大于中断优先级门限值的应用程序确定为目标应用程序。
在本申请一个可选的实施例中,该方法还包括:若目标应用程序的目标特权模式为监督模式,则将目标应用程序发起的中断请求分配至可执行的特权模式为监督模式对应的hart进行处理。或,若目标应用程序的目标特权模式为机器模式,则将目标应用程序发起的中断请求分配至可执行的特权模式为机器模式对应的hart进行处理。
在本申请一个可选的实施例中,若目标应用程序的目标特权模式为监督模式,则将目标应用程序发起的中断请求分配至可执行的特权模式为监督模式对应的hart进行处理。或,若目标应用程序的目标特权模式为机器模式,则将目标应用程序发起的中断请求分配至可执行的特权模式为机器模式对应的hart进行处理,包括:若目标应用程序的目标特权模式为监督模式,则将目标应用程序发起的中断请求通知至可执行的特权模式为监督模式对应的hart,或,若目标应用程序的目标特权模式为机器模式,则将目标应用程序发起的中断请求通知至可执行的特权模式为机器模式对应的hart,以便hart基于当前处理任务的优先级与目标应用程序发起的中断请求的优先级确定待处理任务。
在本申请一个可选的实施例中,在控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作之后,方法还包括:不响应针对预设寄存器的信息更新;预设寄存器包含claim/complete寄存器、中断优先级门限值寄存器、pending寄存器中的至少一个。
本申请实施例的第二个方面,提供了一种中断控制寄存器保护装置,该装置包括:模式获取模块,用于获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;模式确定模块,用于响应于接收目标应用程序的中断请求,根据中断请求确定目标应用程序的目标特权模式;控制模块,用于若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作。
在本公开一个可选的实施例中,控制模块,还可以用于若目标特权模式为监督模式,则控制中断控制寄存器响应目标应用程序针对特权模式为机器模式的目标hart所执行的读操作,并向目标应用程序返回预设布尔值。
在本公开一个可选的实施例中,中断控制寄存器在预设时间段内接收到多个应用程序的中断请求或目标应用程序发起的多个中断请求;则模式确定模块,用于响应于接收到多个应用程序的中断请求或目标应用程序的多个中断请求,确定多个应用程序的中断优先级;将中断优先级最高的应用程序确定目标应用程序,并根据目标应用程序的中断请求确定目标应用程序的目标特权模式。
在本公开一个可选的实施例中,模式确定模块,用于将中断优先级最高的应用程序且中断优先级大于中断优先级门限值的应用程序确定为目标应用程序。
在本公开一个可选的实施例中,该中断控制寄存器保护装置还可以包括中断分配模块,中断分配模块用于若目标应用程序的目标特权模式为监督模式,则将目标应用程序发起的中断请求分配至可执行的特权模式为监督模式对应的hart进行处理。或,中断分配模块用于若目标应用程序的目标特权模式为机器模式,则将目标应用程序发起的中断请求分配至可执行的特权模式为机器模式对应的hart进行处理。
在本公开一个可选的实施例中,中断分配模块用于若目标应用程序的目标特权模式为监督模式,则将目标应用程序发起的中断请求通知至可执行的特权模式为监督模式对应的hart,或,若目标应用程序的目标特权模式为机器模式,则将目标应用程序发起的中断请求通知至可执行的特权模式为机器模式对应的hart,以便hart基于当前处理任务的优先级与目标应用程序发起的中断请求的优先级确定待处理任务。
在本公开一个可选的实施例中,控制模块,用于不响应针对预设寄存器的信息更新;预设寄存器包含claim/complete寄存器、中断优先级门限值寄存器、pending寄存器中的至少一个。
本申请实施例的第三个方面,提供了一种计算机设备,包括:包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上任一项中断控制寄存器保护方法的步骤。
本申请实施例的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如上任一项的中断控制寄存器保护方法的步骤。
上述该中断控制寄存器保护方法,通过获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;确定访问中断控制寄存器的应用程序的目标特权模式;若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作。该方法使得工作在监督模式下的应用程序在向中断控制寄存器请求写操作时,对于预先配置为机器模式的hart直接进行忽略。该过程可以使工作在S模式下的应用程序trap到S模式下进行处理,使工作在M模式下的应用程序trap到M模式下进行处理。当S模式下的应用程序是试图对M模式下的hart进行的写操作时直接进行忽略(即不响应),从而维持PLIC的正常运行,以防止PLIC寄存器预先配置的特权模式配置表被恶意篡改,实现了对PLIC寄存器的保护,进而可以确保应用程序均在受控的环境下运行,使其也适用于安全需求较高的应用场景中。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一个实施例提供的一种中断控制寄存器的结构示意图;
图2为本申请一个实施例提供的一种中断控制寄存器保护方法的应用场景示意图;
图3为本申请一个实施例提供的一种中断控制寄存器保护方法的流程图;
图4为本申请一个实施例提供的一种分配中断请求的方法的流程图;
图5为本申请一个实施例提供的一种确定目标应用程序的流程图;
图6为本申请一个实施例提供的另一种确定目标应用程序的方法的流程图;
图7为本申请一个实施例提供的中断控制寄存器保护装置结构示意图;
图8为本申请一个实施例提供的计算机设备结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
为了帮助本领域技术人员更好地理解本公开的技术方案,下面将对本公开技术方案涉及的相关内容进行介绍。
a)、物理内存保护机制(Physical Memory Protection,简称为PMP):PMP用于保护系统免受不可信代码的危害,为不受信任的进程提供隔离保护,PMP检查一般用于hart在S模式或用户模式下的所有访问,允许M模式指定用户模式下可以访问的内存地址。
b)、PMP entry:由一个8-bit的PMP配置寄存器和一个32/64位长的PMP地址寄存器组成,整个PMP包括有限个(通常为 8到 16组)PMP entry;其中,PMP配置寄存器可以配置读、写和执行权限,PMP地址寄存器用来划定界限。
c)、PLIC存在内存映射(memory-mapped),主要包括以下6大类:
1)优先级配置寄存器Interrupt Priorities registers:每个中断源有一个优先级配置寄存器。
2)中断pending状态寄存器Interrupt Pending Bits registers:每个中断源有一个中断pending状态寄存器。
3)中断源使能寄存器Interrupt Enables registers:每个hart context有中断源使能寄存器。
4)中断优先级门限值寄存器Priority Thresholds registers:每个hartcontext有中断优先级门限值寄存器,优先级小于此寄存器的中断将不会被触发。
5)Interrupt Claim registers:每个hart context能从此寄存器获取中断ID。
6)Interrupt Completion registers:每个hart context 执行完中断处理函数后,写入中断ID来通知PLIC gateway,中断处理完成,可以接收下一个中断源信号。
在相关的技术背景下,在一个简易的RISC-V处理器(即RISC-V芯片)由三大块构成,一是执行指令流水的内核(core),二是平台中断控制的PLIC,三是负责调试的调试模块(Debug Module,简称为DM)。其中,外设中断源并不直接接入内核,RISC-V芯片是通过外设中断控制寄存器PLIC将外部的全局中断请求处理后再转至处理器的内核中进行处理。为了提高内核处理外部中断源的效率,当多个外部中断源同时向内核发送中断请求时,可以预先在PLIC进行预处理(例如PLIC将所有外部中断源的中断请求汇总起来,并根据用户配置的中断优先级,中断使能,中断目标阈值等信息进行处理),以便将有优先级最高和/或大于中断目标阈值的外部中断源发送的中断请求转发至内核进行处理。
为了便于本领域技术人员对中断控制寄存器PLIC进行理解以及对上述PLIC进行更清晰的说明,以下将结合图1对PLIC中断控制寄存器进行说明。
图1为本申请一个实施例提供的一种中断控制寄存器的结构示意图;如图1 所示,RISC-V 芯片使用外设中断控制器PLIC进行中断控制,即外部中断源(例如,外部应用程序/应用程序)经PLIC处理后最终送给内核。图1所示的PLIC对应的内核通常是 hart 上下文(即hart context),其中, hart 上下文是指hart 上的某特权模式。即图1所示的hart 0至hart n,且每个 hart 至少包含两种特权模式:M模式和S模式。其中,M模式是RISC-V中hart可执行的最高特权模式,在该模式下,hart对内存、输入/输出(Input / Output,简称为I/O)等所有必要的底层系统有着完全的使用权限,而处于M模式下的应用程序也可以访问一切硬件和执行所有特权指令,其为标准 RISC-V处理器都必须实现的权限模式;S模式的特权权限小于M模式,S模式一般用于运行操作系统,可以设置内存管理单元(MemoryManagement Unit,简称为MMU)使用虚拟地址访问内存。
需要说明的是,PLIC中断控制寄存器在理论上可以支持1023个外部中断源和15872个hart上下文,具体可支持的hart数量和外部中断源可根据实际需求确定。
在上述描述中,M模式和S模式均有对应的CSR寄存器,M模式下可以使用Medeleg/Mideleg CRS寄存器分别进行异常/中断委托,即在M模式下发生异常或中断时,可以通过Mideleg CRS寄存器将上述中断由M模式代理至S模式或者其他模式进行处理。但是上述“一刀切”的代理方式不符合实际应用,因为,实际应用中需要将一些中断直接陷入(trap)到在M模式下响应,另一些中断则需要直接trap在S模式下响应。因此,需要在M模式下预先配置PLIC的各硬件线程hart可执行的特权模式,hart可执行的特权模式可以是M enable(M使能模式)或S enable(S使能模式)。举例来说,假设PLIC支持1023个hart,且为各hart预先配置的特权模式组成的中断使能配置表如下述表1所示:
表1
由表1可知,中断号6、7、8配置为M模式的中断使能,中断号2,3,4,5,1023配置为S模式中断使能,其他中断号则没有任何中断使能。因此,中断6,7,8将对应应用程序为M模式的中断请求trap到M模式处理,而中断号2,3,4,5,1023将相应应用程序为S模式的中断请求trap到S模式处理。
然而,如上述技术方案中描述,虽然RISC-V的特权模式可以划分为M模式和S模式。但是,当应用程序为S模式时,PLIC寄存器是全部暴露在S模式下,此时PLIC寄存器是可读写状态,即S模式下的应用程序能直接修改PLIC寄存器,相应的中断使能配置表极易被恶意篡改。而对于有安全需求的应用场景而言,通常是希望非安全软件在受控的环境下运行,而不是能随意修改中断相关寄存器。因此,相关技术方案不适用于有安全需求的应用场景。另一方面,目前PMP entry 数量有限,而且保护区域设置不灵活,不便于实现PLIC 寄存器的保护。
针对上述问题,本申请实施例中提供了一种中断控制寄存器保护方法,可以保护PLIC寄存器不被篡改。该方法将获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;确定访问中断控制寄存器的应用程序的目标特权模式;若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对hart的特权模式为机器模式执行的写操作。
该方法在检测到工作在S模式下的应用程序尝试对M模式下的hart进行写操作时,直接忽略该操作,进而避免在进行写操作时恶意篡改预先配置的使能表,保护PLIC中断控制寄存器的正常运行。
需要说明的是,本申请实施例中的方案可以采用各种计算机语言实现,例如,面向对象的程序设计语言Java和直译式脚本语言JavaScript等。
为了使本申请实施例中的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
为了解决上述问题,本公开提出了一种中断控制寄存器保护方法及装置,该方法及装置可以应用于图2所示的示例性应用环境的系统架构中。以下对本申请实施例提供的中断控制寄存器保护方法的应用环境的系统架构作简要说明:
图2为本申请一个实施例提供的中断控制寄存器保护方法的应用场景示意图。请参见图2,本申请实施例提供的中断控制寄存器保护方法对应的系统架构200中可以包含外设201、202、203以及204中的一个或多个,网络205、中断控制寄存器PLIC 206以及PLIC 206支持的多个hart 207。其中,网络205用以在外设201、202、203以及204、中断控制寄存器PLIC 206以及PLIC206支持的多个hart 207之间提供通信链路的介质。网络205可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等,但并不局限于此。外设201、202、203以及204可以任意类型的外设,主要包括:①一般中、慢速外设,如键盘、打印机、鼠标等;②数据通道,如磁盘、数据采集装置、网络等;③实时时钟,如定时器定时已到,发中断申请;④故障源,如电源掉电、外设故障、存储器读出出错等。
应该理解,图1中的外设201、202、203以及204中的一个或多个,网络205、中断控制寄存器PLIC 206以及PLIC 206支持的多个hart 207的数目仅仅是示意性的。根据实现需要,可以具有任意数目的201、202、203以及204中的一个或多个,网络205、中断控制寄存器PLIC 206以及PLIC 206支持的多个hart 207。
举例而言,在一种示例性实施例中,通过各外设201、202、203以及204可以运行应用程序并向PLIC发送中断请求,应用程序可以工作在M模式下,也可以工作在S模式下,中断控制寄存器PLIC 206预先配置了各hart 207的特权模式形成诶表1所示的中断使能配置表。中断控制寄存器PLIC 206获取中断控制寄存器的各硬件线程hart 207预先配置的可执行的特权模式;确定访问中断控制寄存器的应用程序的目标特权模式;若目标特权模式为监督模式,则控制中断控制寄存器206不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作。
但本领域技术人员容易理解的是,上述应用场景仅是用于举例,本示例性实施例中并不以此为限。
在了解了本申请的系统架构后,以下将结合图3对本申请实施例提供的中断控制寄存器保护方法进行示例性说明。
图3为本申请一个实施例提供的中断控制寄存器保护方法的流程图。请参见图3,以下实施例以上述中断控制寄存器PLIC 206为执行主体,将本申请实施例提供的方法应用于上述中断控制寄存器PLIC 206为例进行具体说明。本申请实施例提供的中断控制寄存器保护方法可以包括如下步骤301-步骤303:
步骤301、获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式。
步骤302、响应于接收目标应用程序的中断请求,根据中断请求确定目标应用程序的目标特权模式。
步骤303、若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作。
在本公开的一些实施例所提供的技术方案中,通过获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;确定访问中断控制寄存器的应用程序的目标特权模式;若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作。该方法使得工作在监督模式下的应用程序在向中断控制寄存器请求写操作时,对于预先配置为机器模式的hart直接进行忽略。
该过程可以使工作在S模式下的应用程序trap到S模式下进行处理,使工作在M模式下的应用程序trap到M模式下进行处理。当S模式下的应用程序是试图对M模式下的hart进行的写操作时直接进行忽略(即不响应),从而维持PLIC的正常运行,以防止PLIC寄存器预先配置的特权模式配置表被恶意篡改,实现了对PLIC寄存器的保护,进而可以确保应用程序均在受控的环境下运行,使其也适用于安全需求较高的应用场景中。
以下将结合具体实施例对图3所示实施例中各个步骤的具体实施方式进行详细阐述:
在步骤301中,获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式。
其中,各hart预先配置的可执行的特权模式可以是M模式,也可以是S模式,也可以是不具备任何特权模式;中断控制寄存器可以是PLIC。
示例性的,如图1所示,PLIC中断控制寄存器可以支持多个外部中断源和多个hart,其中多个外设中段源向hart发起中断请求,预先通过PLIC中断控制寄存器进行中断预处理。
在实际应用中,一些中断需要直接trap到M模式下的hart进行处理,可以预先为各hart配置中断使能模式,即特权模式,至少包含S模式和M模式。因此。中断控制寄存器便可以直接获取所支持的各hart可执行的特权模式。
应该理解的是,中断控制寄存器PLIC通过与各hart连接的管口信号得到各hart的可执行的特权模式,或者还可以通过预先存储的中断使能配置表进行查询得到,本公开对此不做任何特殊限制。
在步骤302中,响应于接收目标应用程序的中断请求,根据中断请求确定目标应用程序的目标特权模式。
其中,应用程序可以是任意类型的软件,其可以工作在M模式、S模式等特权模式下。相应的,目标应用程序的目标特权模式可以是M模式或者S模式。
在实际应用中,通常遇到多个外部中断源(即多个应用程序)同时请求中断的情况或者一个目标应用程序发起多个中断请求的情况,此时便需要确定各中断请求的优先级以便得到hart提供处理服务的次序。
在本公开一个可选的实施例中,在执行上述步骤S302时,如图5所示,可以通过步骤S3021实现:响应于接收到多个应用程序的中断请求或目标应用程序的多个中断请求,确定多个应用程序的中断优先级;将中断优先级最高的应用程序确定目标应用程序,并根据目标应用程序的中断请求确定目标应用程序的目标特权模式。
示例性的,由于一个系统(平台)中会有很多外设,而每个外设都有一个或多个中断请求,在系统正常工作中处理器内核负责处理(服务)所有外设中断,因此,多个中断请求可以是来自不同的应用程序,也可以是来自同一应用程序。此外,通常这些外设中断并不直接接入处理器内核(即hart),而是经平台中断控制器PLIC处理后再转至内核处理。
在PLIC中断控制寄存器在接收到多个中断请求后,PLIC可以确定各中断请求的中断优先级,示例性的,可以根据以下实施例进行确定各应用程序的中断优先级:
示例性的,可以根据中断请求对应的重要程度确定各应用程序的中断优先级,和/或根据用户配置的中断优先级确定各应用程序的中断优先级,本公开实施例对此不作任何特殊限制。
PLIC在确定各应用程序的中断优先级后,便可以将中断优先级最高的应用程序确定为目标应用程序,并根据目标应用程序的中断请求确定目标应用程序的目标特权模式。
在该实施例中,当PLIC接收到多个中断请求,根据各中断请求对应的中断优先级快速确定目标应用程序,提高中断处理效率的同时,维护了中断处理过程中的秩序性。
在本公开另一个可选的实施例中,在执行上述步骤S302时,还可以如图6所示,通过步骤S3022实现:响应于接收到多个应用程序的中断请求或目标应用程序的多个中断请求,确定多个应用程序的中断优先级;将中断优先级最高的应用程序且中断优先级大于中断优先级门限值的应用程序确定为目标应用程序,并根据目标应用程序的中断请求确定目标应用程序的目标特权模式。
示例性的,每个hart context均有中断优先级门限值寄存器,且优先级小于此中断优先级门限值寄存器的中断将不会被触发。因此,在确定目标应用程序时,还需要将最高中断优先级与中断优先级门限值进行比较,若最高中断优先级大于中断优先级门限值,则对应的中断请求将会被处理,否则将不被处理。
在该实施例中,可以确保确定出的中断请求可以被处理,提高中断处理的效率以及可靠性。
示例性的,应用程序为外部中断源,为了确保hart可以高效的处理外部中断源,由PLIC预先接收目标应用程序的中断请求,并确定目标应用程序的目标特权模式,进而将该中断请求trap到对应特权模式下的hart中进行处理。
以下将结合图4对将该中断请求trap到对应特权模式下的hart中进行处理的过程进行示例性说明。
图4为本申请一个实施例提供的一种分配中断请求的方法流程图,如图4所示,在执行步骤S302之后,在本公开一个可选的实施例中,还可以至少包含以下步骤S403至步骤S405:
步骤S403、判断目标特权模式是否为监督模式。
若应用程序的目标特权模式为监督模式,则执行步骤S404、将目标应用程序发起的中断请求分配至可执行的特权模式为监督模式对应的hart进行处理;
反之,若应用程序的目标特权模式为机器模式,则步骤S405、将目标应用程序发起的中断请求分配至可执行的特权模式为机器模式对应的hart进行处理。
示例性的,当确定各hart可执行的特权模式以及目标应用程序的目标特权模式后,便可以将工作在M模式下的应用程序对应的中断请求分配至可执行的特权模式为M模式的hart中处理,进而将该中断trap到M模式进行处理;将工作在S模式下的应用程序对应的中断请求分配至可执行的特权模式为S模式的hart中处理,进而将该中断trap到S模式进行处理。
在该实施例中,中断控制寄存器可以根据各hart可执行的特权模式,将对应特权模式的中断trap到对应特权模式的下进行处理,可以提高中断效率的同时确保中断处理的安全性,避免S模式下的软件对PLIC寄存器进行恶意篡改造成的安全性较低的问题。
在上述实施例中,当执行上述步骤S404或步骤S405之后,即hart接收到中断请求后,在本公开一个可选的实施例中,若目标应用程序的目标特权模式为监督模式,则将目标应用程序发起的中断请求通知至可执行的特权模式为监督模式对应的hart,或,若目标应用程序的目标特权模式为机器模式,则将目标应用程序发起的中断请求通知至可执行的特权模式为机器模式对应的hart,以便hart基于当前处理任务的优先级与目标应用程序发起的中断请求的优先级确定待处理任务。
示例性的,应用程序需要hart处理一任务时,可以向PLIC发送中断请求,以便分配特权模式下的hart下运行,以便hart在该中断请求的优先级大于hart正在处理的任务,hart便可以切换至该中断请求对应的任务进行优先处理。
若当前处理任务的优先级大于或等于目标应用程序发起的中断请求的优先级,则hart继续处理当前处理任务。反之,若当前处理任务的优先级小于目标应用程序发起的中断请求的优先级,则hart停止处理当前处理任务,优先处理目标应用程序发起的中断请求。
在本实施例中,可以确保hart在处理任务过程中优先处理更紧急的任务,从而确保中断处理过程的有效性和逻辑性。
在步骤303中,若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作。
示例性的,S模式下的应用程序可以直接修改PLIC寄存器,进而无法保证非安全软件在受控的环境下运行,进而不适用于有安全需求的应用场景。
对此,本实施例可以在目标应用程序的目标特权模式为S模式时,控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作,便可以确保PLIC不被任意篡改。
由于M模式是最高权限的特权模式,因此工作在M模式的下的应用程序可以读写所有PLIC 寄存器,而S模式的特权权限小于M模式,S模式一般用于运行操作系统。
在本公开另一个可选的实施例中,当S模式下的应用程序针对特权模式为M模式的目标hart所执行的读操作时,控制中断控制寄存器向目标应用程序返回预设布尔值。
其中,预设布尔值为0,即工作在S模式下的应用程序尝试读取M 模式hart将返回0,代表S模式下的应用程序针对特权模式为M模式的目标hart所执行的读操作失败,此时不会读取到任何。
该实施例可以确保处于S模式下的目标应用程序不能针对M模式下的hart执行写操作,且读操作将会失败,保护了PLIC寄存器的安全性。
在本公开一个可选的实施例中,执行步骤S303之后,中断控制寄存器不响应针对预设寄存器的信息更新;预设寄存器包含claim/complete寄存器、中断优先级门限值寄存器、pending寄存器中的至少一个。
其中,步骤S303工作在S模式下的应用程序尝试写M模式的中断使能(interruptenable)将被忽略后,相应的寄存器也会相应的被忽略,例如claim/complete寄存器、中断优先级门限值寄存器、pending寄存器中的至少一个。
示例性的,步骤S303工作在S模式下的应用程序尝试写M模式的中断使能(interrupt enable)将被忽略后,写该中断的中断源优先级(interrupt sourcepriority), pending都将被忽略,修改M模式的中断优先级门限值(priority threshold),操作M模式的claim/complete 都将被忽略。
应该理解的是,在上述实施例中,工作在S模式下的应用程序能正常操作可执行的特权模式为S模式的中断包括中断源优先级(interrupt source priority)、claim/complete等。
虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
为了实现上述中断控制寄存器保护方法,请参见图7,本申请一个实施例提供了一种中断控制寄存器保护装置,该中断控制寄存器保护装置700包括:模式获取模块701、模式确定模块702以及控制模块703。
模式获取模块701,用于获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;模式确定模块702,用于响应于接收目标应用程序的中断请求,根据中断请求确定目标应用程序的目标特权模式;控制模块703,用于若目标特权模式为监督模式,则控制中断控制寄存器不响应目标应用程序针对特权模式为机器模式的目标hart所执行的写操作。
在本公开一个可选的实施例中,控制模块703,还可以用于若目标特权模式为监督模式,则控制中断控制寄存器响应目标应用程序针对特权模式为机器模式的目标hart所执行的读操作,并向目标应用程序返回预设布尔值。
在本公开一个可选的实施例中,中断控制寄存器在预设时间段内接收到多个应用程序的中断请求或目标应用程序发起的多个中断请求;则模式确定模块702,用于响应于接收到多个应用程序的中断请求或目标应用程序的多个中断请求,确定多个应用程序的中断优先级;将中断优先级最高的应用程序确定目标应用程序,并根据目标应用程序的中断请求确定目标应用程序的目标特权模式。
在本公开一个可选的实施例中,模式确定模块702,用于将中断优先级最高的应用程序且中断优先级大于中断优先级门限值的应用程序确定为目标应用程序。
在本公开一个可选的实施例中,该中断控制寄存器保护装置700还可以包括中断分配模块,中断分配模块用于若目标应用程序的目标特权模式为监督模式,则将目标应用程序发起的中断请求分配至可执行的特权模式为监督模式对应的hart进行处理。或,中断分配模块用于若目标应用程序的目标特权模式为机器模式,则将目标应用程序发起的中断请求分配至可执行的特权模式为机器模式对应的hart进行处理。
在本公开一个可选的实施例中,中断分配模块用于若目标应用程序的目标特权模式为监督模式,则将目标应用程序发起的中断请求通知至可执行的特权模式为监督模式对应的hart,或,若目标应用程序的目标特权模式为机器模式,则将目标应用程序发起的中断请求通知至可执行的特权模式为机器模式对应的hart,以便hart基于当前处理任务的优先级与目标应用程序发起的中断请求的优先级确定待处理任务。
在本公开一个可选的实施例中,控制模块703,用于不响应针对预设寄存器的信息更新;预设寄存器包含claim/complete寄存器、中断优先级门限值寄存器、pending寄存器中的至少一个。
关于上述中断控制寄存器保护装置的具体限定可以参见上文中对于中断控制寄存器保护方法的限定,在此不再赘述。上述中断控制寄存器保护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备的内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现如上的一种中断控制寄存器保护方法。包括:包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上中断控制寄存器保护方法中的任一步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可以实现如上中断控制寄存器保护方法中的任一步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种中断控制寄存器保护方法,其特征在于,包括:
获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;
响应于接收目标应用程序的中断请求,根据所述中断请求确定所述目标应用程序的目标特权模式;
若所述目标应用程序的所述目标特权模式为监督模式,则将所述目标应用程序发起的中断请求通知至所述可执行的特权模式为监督模式对应的hart;若所述目标应用程序的所述目标特权模式为机器模式,则将所述目标应用程序发起的中断请求通知至所述可执行的特权模式为机器模式对应的hart,以便hart基于当前处理任务的优先级与所述目标应用程序发起的所述中断请求的优先级确定待处理任务;
若所述目标特权模式为监督模式,则控制所述中断控制寄存器不响应所述目标应用程序针对所述特权模式为机器模式的目标hart所执行的写操作。
2.根据权利要求1所述的中断控制寄存器保护方法,其特征在于,所述方法还包括:
若所述目标特权模式为监督模式,则控制所述中断控制寄存器响应所述目标应用程序针对所述特权模式为机器模式的目标hart所执行的读操作,并向所述目标应用程序返回预设布尔值。
3.根据权利要求1或2所述的中断控制寄存器保护方法,其特征在于,所述中断控制寄存器在预设时间段内接收到多个应用程序的中断请求或所述目标应用程序发起的多个中断请求;
其中,所述响应于接收目标应用程序的中断请求,根据所述中断请求确定所述目标应用程序的目标特权模式,包括:
响应于接收到所述多个应用程序的中断请求或所述目标应用程序的多个中断请求,确定所述多个应用程序的中断优先级;
将中断优先级最高的应用程序确定目标应用程序,并根据所述目标应用程序的中断请求确定所述目标应用程序的目标特权模式。
4.根据权利要求3所述的中断控制寄存器保护方法,其特征在于,所述将中断优先级最高的应用程序确定目标应用程序,包括:
将所述中断优先级最高的应用程序且所述中断优先级大于中断优先级门限值的应用程序确定为所述目标应用程序。
5.根据权利要求1所述的中断控制寄存器保护方法,其特征在于,所述方法还包括:
若所述目标应用程序的所述目标特权模式为监督模式,则将所述目标应用程序发起的中断请求分配至所述可执行的特权模式为监督模式对应的hart进行处理;或,
若所述目标应用程序的所述目标特权模式为机器模式,则将所述目标应用程序发起的中断请求分配至所述可执行的特权模式为机器模式对应的hart进行处理。
6.根据权利要求1所述的中断控制寄存器保护方法,其特征在于,所述方法还包括:
不响应针对预设寄存器的信息更新;所述预设寄存器包含claim/complete寄存器、中断优先级门限值寄存器、pending寄存器中的至少一个。
7.根据权利要求6所述的中断控制寄存器保护方法,其特征在于,所述预设寄存器包含claim/complete寄存器、中断优先级门限值寄存器、pending寄存器中的至少一个。
8.一种中断控制寄存器保护装置,其特征在于,包括:
模式获取模块,用于获取中断控制寄存器的各硬件线程hart预先配置的可执行的特权模式;
模式确定模块,用于响应于接收目标应用程序的中断请求,根据所述中断请求确定所述目标应用程序的目标特权模式;
控制模块,用于若所述目标应用程序的所述目标特权模式为监督模式,则将所述目标应用程序发起的中断请求通知至所述可执行的特权模式为监督模式对应的hart;若所述目标应用程序的所述目标特权模式为机器模式,则将所述目标应用程序发起的中断请求通知至所述可执行的特权模式为机器模式对应的hart,以便hart基于当前处理任务的优先级与所述目标应用程序发起的所述中断请求的优先级确定待处理任务;若所述目标特权模式为监督模式,则控制所述中断控制寄存器不响应所述目标应用程序针对所述特权模式为机器模式的目标hart所执行的写操作。
9.一种计算机设备,包括:包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的中断控制寄存器保护方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的中断控制寄存器保护方法的步骤。
CN202311554005.4A 2023-11-21 2023-11-21 中断控制寄存器保护方法、装置、计算机设备及存储介质 Active CN117272412B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311554005.4A CN117272412B (zh) 2023-11-21 2023-11-21 中断控制寄存器保护方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311554005.4A CN117272412B (zh) 2023-11-21 2023-11-21 中断控制寄存器保护方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN117272412A CN117272412A (zh) 2023-12-22
CN117272412B true CN117272412B (zh) 2024-03-15

Family

ID=89208453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311554005.4A Active CN117272412B (zh) 2023-11-21 2023-11-21 中断控制寄存器保护方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN117272412B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011039666A (ja) * 2009-08-07 2011-02-24 Hitachi Ltd バリア同期方法及び計算機
CN103257943A (zh) * 2006-11-27 2013-08-21 英特尔公司 集中式中断控制器
CN105247485A (zh) * 2013-05-23 2016-01-13 Arm有限公司 用于中断处理的方法和装置
CN105404559A (zh) * 2014-09-10 2016-03-16 Arm有限公司 在数据处理装置中进行除错
CN110059040A (zh) * 2019-04-17 2019-07-26 芯来智融半导体科技(上海)有限公司 一种基于risc-v架构的可嵌套异常和非屏蔽中断系统及方法
CN110083473A (zh) * 2019-04-16 2019-08-02 芯来智融半导体科技(上海)有限公司 基于risc-v架构总线访问错误的改进系统及方法
WO2022001514A1 (zh) * 2020-06-30 2022-01-06 华为技术有限公司 内核和任务隔离的方法和装置
WO2023274027A1 (zh) * 2021-06-28 2023-01-05 华为技术有限公司 用户态中断请求的处理方法及装置
WO2023287517A1 (en) * 2021-07-13 2023-01-19 SiFive, Inc. Error management in system on a chip with securely partitioned memory space

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436626B2 (en) * 2012-08-09 2016-09-06 Freescale Semiconductor, Inc. Processor interrupt interface with interrupt partitioning and virtualization enhancements
CN114371907A (zh) * 2020-10-15 2022-04-19 华为技术有限公司 一种芯片系统、处理虚拟中断的方法及相应装置
US20230134657A1 (en) * 2021-11-04 2023-05-04 Intel Corporation User-level interrupts in virtual machines
US20230169163A1 (en) * 2021-11-29 2023-06-01 Nxp B.V. Software isolation using event driven multi-threading

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257943A (zh) * 2006-11-27 2013-08-21 英特尔公司 集中式中断控制器
JP2011039666A (ja) * 2009-08-07 2011-02-24 Hitachi Ltd バリア同期方法及び計算機
CN105247485A (zh) * 2013-05-23 2016-01-13 Arm有限公司 用于中断处理的方法和装置
CN105404559A (zh) * 2014-09-10 2016-03-16 Arm有限公司 在数据处理装置中进行除错
CN110083473A (zh) * 2019-04-16 2019-08-02 芯来智融半导体科技(上海)有限公司 基于risc-v架构总线访问错误的改进系统及方法
CN110059040A (zh) * 2019-04-17 2019-07-26 芯来智融半导体科技(上海)有限公司 一种基于risc-v架构的可嵌套异常和非屏蔽中断系统及方法
WO2022001514A1 (zh) * 2020-06-30 2022-01-06 华为技术有限公司 内核和任务隔离的方法和装置
WO2023274027A1 (zh) * 2021-06-28 2023-01-05 华为技术有限公司 用户态中断请求的处理方法及装置
WO2023287517A1 (en) * 2021-07-13 2023-01-19 SiFive, Inc. Error management in system on a chip with securely partitioned memory space

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种面向硬件线程的实时调度算法研究与设计;尹震宇 等;《电子学报》;1467-1471页 *
基于RISC-V架构的容器化可重现方法研究;崔傲;《硕士论文电子期刊》;全文 *

Also Published As

Publication number Publication date
CN117272412A (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
US10120736B2 (en) Executing a kernel device driver as a user space process
JP5153887B2 (ja) プロセッサから周辺機器へのセキュア動作モードアクセス特権の譲渡のための方法及び装置
US20170177854A1 (en) Method and Apparatus for On-Demand Isolated I/O Channels for Secure Applications
EP3241149B1 (en) Method to isolate real-time or safety-critical software and operating system from non-critical software and operating system
US10545851B2 (en) Breakpoint insertion into kernel pages
EP3842973B1 (en) Security schemes for multiple trusted-execution-environments (tees) and multiple rich-execution-environments (rees)
US10229077B2 (en) Method for data transfer between real-time tasks using a DMA memory controller
EP2996043B1 (en) Debugging in a data processing apparatus
US6694401B2 (en) Method and apparatus for executing real-mode interrupts from within extended SMRAM handler
CN113391881A (zh) 中断的管理方法、装置、电子设备及计算机存储介质
JPWO2010097925A1 (ja) 情報処理装置
US10248785B2 (en) Application memory protection using a host page table switching virtual machine function
CN116578341A (zh) 处理器、中断隔离方法、指令模拟方法、片上系统及设备
US20160246630A1 (en) Guest controlled malicious payload protection
CN117234729B (zh) 动态内存保护方法、装置、计算机设备及存储介质
CN110276214A (zh) 一种基于从机访问保护的双核可信soc架构及方法
TW201439775A (zh) 基於能力的裝置驅動程式架構
CN117272412B (zh) 中断控制寄存器保护方法、装置、计算机设备及存储介质
US10496439B1 (en) Finite resource allocator with intrinsically subordinate operating system
US10481951B2 (en) Multi-queue device assignment for application groups
US11216372B2 (en) Execution manager for binary objects operating across private address spaces
CN113961366A (zh) 操作系统的内核函数调用方法及计算机设备
US9772961B2 (en) Computer system, a system management module and method of bidirectionally interchanging data via module according to the IPMI standard
EP3255544A1 (en) Interrupt controller
US20090037668A1 (en) Protected portion of partition memory for computer code

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant