CN114610444A - 消息中断的虚拟化处理方法、装置及存储介质 - Google Patents

消息中断的虚拟化处理方法、装置及存储介质 Download PDF

Info

Publication number
CN114610444A
CN114610444A CN202210225874.1A CN202210225874A CN114610444A CN 114610444 A CN114610444 A CN 114610444A CN 202210225874 A CN202210225874 A CN 202210225874A CN 114610444 A CN114610444 A CN 114610444A
Authority
CN
China
Prior art keywords
interrupt
virtual machine
message
target
machine manager
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.)
Pending
Application number
CN202210225874.1A
Other languages
English (en)
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.)
Zebred Network Technology Co Ltd
Original Assignee
Zebred Network Technology 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 Zebred Network Technology Co Ltd filed Critical Zebred Network Technology Co Ltd
Priority to CN202210225874.1A priority Critical patent/CN114610444A/zh
Publication of CN114610444A publication Critical patent/CN114610444A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

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

Abstract

本发明公开了一种消息中断的虚拟化处理方法、装置及存储介质,应用于计算机领域,该方法包括:由虚拟机管理器为每个消息中断分配固定的中断标识,并根据每个消息中断的中断标识配置中断控制器的ITS组件;分别将虚拟机管理器创建的每个虚拟机作为目标虚拟机,由虚拟机管理器将M个消息中断的中断标识配置到目标虚拟机的配置文件中,M个消息中断属于目标虚拟机;在目标虚拟机启动时,由目标虚拟机从目标虚拟机的配置文件中解析出M个消息中断的中断标识,并根据M个消息中断的中断标识注册对应的中断处理程序。通过本发明减少了消息中断的延迟,且不再需要依赖于硬件的支持。

Description

消息中断的虚拟化处理方法、装置及存储介质
技术领域
本发明涉及计算机领域,尤其涉及一种消息中断的虚拟化处理方法、装置及存储介质。
背景技术
hyperVisior虚拟化技术作为一项底层IT核心技术,是通过Hypervisor(虚拟机管理器)模拟出一个具有完整硬件系统功能、运行在一个完全隔离环境中的计算机系统。当hyperVisior虚拟化技术被引入到AOS(AutomoTIve OperaTIng System,车载操作系统)之后,不再需要设计多个硬件来实现汽车不同的功能需求,而只需要在车载主芯片上进行虚拟化的软件配置,形成多个虚拟机,在每个虚拟机上运行相应的应用软件即可满足需求,从而降低了汽车成本。并且,需要在车载操作系统上运行不同安全等级的应用软件,比如娱乐导航语音系统和ADA(Active Drive Assist、主动驾驶辅助系统)的安全等级就不同,如果在同一系统下运行,会导致汽车的安全性不高,可以通过形成多个虚拟机来运行不同安全等级的应用软件。
在利用hyperVisior技术实现车载操作系统上多个虚拟机之间安全隔离的方案中,大部分是基于虚拟机管理器对中断的注入或者是依赖于硬件的中断直通客户机(guestOS)。当采用基于硬件方式的中断直通客户机时,依赖于硬件本身支持中断直通。当采用消息中断的注入方式时,对应物理消息中断需要进入虚拟机管理器中进行中断的识别以及中断的模拟注入,造成了中断处理的时延。
发明内容
基于现有技术存在终端直通客户机依赖于硬件支持,本发明实施例提供了一种消息中断的虚拟化处理方法、系统及存储介质。
第一方面,本发明实施例提供了一种消息中断的虚拟化处理方法,包括:由虚拟机管理器为每个消息中断分配固定的中断标识,并根据每个消息中断的中断标识配置中断控制器的ITS组件;分别将所述虚拟机管理器创建的每个虚拟机作为目标虚拟机,由所述虚拟机管理器将M个消息中断的中断标识配置到所述目标虚拟机的配置文件中,所述M个消息中断属于所述目标虚拟机;在所述目标虚拟机启动时,由所述目标虚拟机从所述目标虚拟机的配置文件中解析出所述M个消息中断的中断标识,并根据所述M个消息中断的中断标识注册对应的中断处理程序。
可选地,在由虚拟机管理器为每个消息中断分配固定的中断标识之前,还包括:由所述虚拟机管理器从所述虚拟机管理器的配置文件中获取每个外设的设备标识,并根据所述设备标识获取对应外设使用的消息中断;其中,所述虚拟机管理器的配置文件中定义有每个消息中断的属性信息,所述消息中断的属性信息包括使用该消息中断的外设的设备标识。
可选地,由虚拟机管理器为每个消息中断分配固定的中断标识,包括:分别将每个外设作为目标外设,由所述虚拟机管理器为所述目标外设分配固定的中断标识段,所述中断标识段中各个中断标识用于一一对应的标识所述目标外设使用的各个消息中断。
可选地,由所述虚拟机管理器为所述目标外设分配固定的中断标识段,包括:在所述虚拟机管理器每次启动之后,由所述虚拟机管理器均采用同一预设的标识分配规则为所述目标外设分配中断标识段,以使为所述目标外设分配的中断标识段固定。
可选地,由所述虚拟机管理器均采用同一预设的标识分配规则为所述目标外设分配中断标识段,包括:在所述虚拟机管理器每次启动之后,由所述虚拟机管理器根据所述目标外设使用的消息中断,确定所述目标外设所需的中断标识个数;由所述虚拟机管理器根据所述标识分配规则以及所述中断标识个数,为所述目标外设分配对应的中断标识段。
可选地,所述消息中断的属性信息还包括该消息中断绑定的物理CPU,在根据所述设备标识获取对应外设使用的消息中断之后,还包括:由所述虚拟机管理器从所述虚拟机管理器的配置文件中获取每个所述消息中断与物理CPU的绑定关系;针对每个所述消息中断,由所述虚拟机管理器根据所述消息中断与物理CPU的绑定关系配置所述消息中断的路由。
可选地,根据每个消息中断的中断标识配置中断控制器的ITS组件,包括:由所述虚拟机管理器为中断控制器的ITS组件创建多个全局ITS表,其中,所述多个全局ITS表包括中断映射表;由所述虚拟机管理器将每个所述消息中断的中断标识,配置到所述中断映射表中;在所述目标虚拟机启动时,忽略对所述ITS组件的ITS表配置。
可选地,由所述虚拟机管理器将M个消息中断的中断标识配置到所述目标虚拟机的配置文件中,包括:由所述虚拟机管理器确定属于所述目标虚拟机的M个消息中断;针对所述M个消息中断中每个消息中断,将该消息中断的中断标识配置到所述目标虚拟机的配置文件中。
第二方面,本发明实施例提供了一种消息中断的虚拟化处理装置,包括:虚拟机管理器和多个虚拟机;所述虚拟机管理器,包括:标识分配单元,用于为每个消息中断分配固定的中断标识;第一配置单元,用于根据每个消息中断的中断标识配置中断控制器的ITS组件;第二配置单元,用于分别将所述虚拟机管理器创建的每个虚拟机作为目标虚拟机,将M个消息中断的中断标识配置到所述目标虚拟机的配置文件中,所述M个消息中断属于所述目标虚拟机;所述目标虚拟机,包括:解析单元,用于在所述目标虚拟机启动时,从所述目标虚拟机的配置文件中解析出所述M个消息中断的中断标识;注册单元,用于根据所述M个消息中断的中断标识注册对应的中断处理程序。
第三方面,本发明实施例提供了一种物理节点,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面任一实施方式所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方向任一实施方式所述的方法。
本发明实施例提供的一种或者多种技术方案,至少实现了如下技术效果或者效果:通过虚拟机管理器为每个消息中断分配固定的中断标识,根据每个消息中断的中断标识配置中断控制器的ITS组件,将固定的中断标识配置该消息中断所属目标虚拟机的配置文件中,使得目标虚拟机启动时,能够从自身的配置文件中解析出属于目标虚拟机的M个消息中断的中断标识,并根据M个消息中断的中断标识注册对应的中断处理程序,由此实现了外设产生的消息中断直通虚拟机,而虚拟机只需要根据固定的中断标识执行对应的中断处理程序,以准确响应相应消息中断,从而减少了消息中断的延迟,且不再需要依赖于硬件的支持。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中实现消息中断的虚拟化处理方法的系统架构图;
图2为本发明实施例中消息中断的虚拟化处理方法的流程图;
图3为本发明实施例中消息中断的虚拟化处理装置;
图4为本发明实施例中物理节点的结构示意图。
具体实施方式
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
第一方面,本发明实施例提供了一种消息中断的虚拟化处理方法,应用于配置有虚拟机管理器(virtual machine monitor,VMM)的物理节点(node,指一台物理机),其中,虚拟机管理器又称为Safety Hypervisor。通过在物理节点上运行的虚拟机管理器,可以在物理节点上创建多个独立的虚拟机(英文全称:Virtual Machine,缩写:VM),其中,虚拟机也称为实例、客户机操作系统(Guest OS)或者虚拟域(domain)。
本发明实施例所提供的一种消息中断的虚拟化处理方法,可以基于如图1所示的物理节点的系统架构实现。参考图1所示,该系统架构包括:中断控制器(GenericInterrupt Controller,GIC)、虚拟机管理器以及由虚拟机管理器创建的多个虚拟机。其中,中断控制器属于物理节点的硬件部分,中断控制器包括供各个虚拟机共享使用的ITS(Interrupt Translation Service,中断翻译服务)组件,ITS组件用于负责接收来自外设的中断信号,并经过解析处理后转发到相应的重分发器(Redistributor),由相应的重分发器分发到对应CPU的CPU接口,其中,这里的中断信号包括LPI(Locality-specificPeripheral Interrupt,一种基于消息的边沿中断)等类型的消息中断。
本发明实施例提供的一种消息中断的虚拟化处理方法,用于实现外设产生的消息中断直通虚拟机,以减少消息中断直通虚拟机对硬件本身的依赖,并减少了消息中断的处理时延。参考图2所示,本发明实施例提供的一种消息中断的虚拟化处理方法包括如下步骤S201~S203:
S201、由虚拟机管理器为每个消息中断分配固定的中断标识,并根据每个消息中断的中断标识配置中断控制器的ITS组件。
应当理解的是,一个物理节点需要使用到多个外设,每个外设可能会使用到的消息中断包括一个或者多个。基于此,在步骤S101中,由虚拟机管理器为每个消息中断分配固定的中断标识,具体包括:分别将每个外设作为目标外设;由虚拟机管理器为目标外设分配固定的中断标识段,其中,中断标识段中各个中断标识用于一一对应的标识目标外设所使用的各个消息中断。
为了保证为每个外设分配的中断标识段是固定的,进而保证每个消息中断对应的中断标识是固定的,在虚拟机管理器每次启动之后,均使用同一预设的标识分配规则为每个外设分配对应的中断标识段。
可以理解的是,虚拟机管理器为每个消息中断分配的中断标识为数字的中断号。基于此,预设的标识分配规则可以为:在虚拟机管理器每次启动时,根据中断号的由小至大为每个外设分配对应的中断号段或者由大至小依次为每个外设分配对应的中断号段,以确保每次为每个外设分配的中断号段是固定的,不会因启动次数不同而发生变化。
具体来讲,目标外设所对应的中断标识段中所包含的中断标识个数,由目标外设需要使用到的消息中断的数量决定,即为目标外设分配的中断标识段中所包含的中断标识个数与目标外设对应使用消息中断的数量相同。在虚拟机管理器每次启动之后,由虚拟机管理器根据目标外设使用的消息中断,确定目标外设所需的中断标识个数;由虚拟机管理器根据标识分配规则以及中断标识个数,为目标外设分配对应的中断标识段。
比如,目标外设需要使用到100个消息中断,则虚拟机管理器为目标外设分配固定的100个中断标识,用于一一对应的标识目标外设需要使用到的100个消息中断。
以LPI类型的消息中断为例,假设整个可用的中断号段为8192~10000,即LPI中断可用的最小中断号为8192;可用的最大中断号为10000,如果是根据中断号的由小至大为设备ID1~IDk这K个外设依次分配中断号段,设备ID1标识的外设需要使用到100个中断号,设备ID2标识的另一外设需要使用到90个中断号,则将8192~8291这100个中断号分配给设备ID1使用,用于一一对应的标识设备ID1使用的100个消息中断,将8292~8382这90个中断号分配给设备ID2使用,用于一一对应的标识设备ID2所使用的90个消息中断,依次类推。
可以理解的是,为了获取每个外设使用的消息中断,预先在虚拟机管理器的配置文件中静态定义有各个消息中断的属性信息,而每个消息中断的属性信息至少包括使用该消息中断的外设的设备标识,比如外设的设备ID(Identity document),设备ID用于表示哪一个外设发起消息中断。则在虚拟机管理器每次启动运行时,由虚拟机管理器从其配置文件中获取每个外设的设备标识,并根据每个外设的设备标识从虚拟机管理器的配置文件中获取对应外设使用的消息中断。
由于一个外设可能会使用到一个或者多个消息中断,因此,在虚拟机管理器的配置文件中,一个设备标识对应的消息中断包括一个或者多个,且每个外设使用的消息中断的中断类型可以为LPI中断。举例来讲,从虚拟机管理器的配置文件中获取每个设备ID:设备ID1、设备ID2、设备ID3……设备IDK,并分别以获取到的每个设备ID为索引,从虚拟机管理器的配置文件中查找到每个设备ID各自对应的消息中断。
通过上述步骤S201,在虚拟机管理器启动时,实现了由虚拟机管理器统一为每个外设使用的每个消息中断一一分配了固定的中断标识,不会同一消息中断在虚拟机管理器的不同启动次数下分配到不同的中断标识,解决了每个设备的LPI中断号不固定的问题。
为了降低虚拟机的处理复杂度,可以在虚拟机启动之前,由已经启动运行的虚拟机管理器根据每个消息中断的中断标识配置中断控制器的ITS组件:
具体的,对ITS组件的配置包括如下步骤:由虚拟机管理器为中断控制器的ITS组件创建多个全局ITS表,其中,创建的全局ITS表用于各个虚拟机共享使用,各个全局ITS表包括中断映射表;由虚拟机管理器将每个消息中断的中断标识,配置到中断映射表中;在目标虚拟机启动时,目标虚拟机忽略对ITS组件的配置,即由于虚拟机管理器已经对ITS组件进行了初始化配置,则目标虚拟机启动之后不再对ITS组件进行配置,避免了目标虚拟机重新配置ITS组件会覆盖虚拟机管理器之前对ITS组件的初始化配置。若目标虚拟机在启动之后修改ITS组件的配置,则虚拟机管理器拦截目标虚拟机对ITS组件的配置。
其中,虚拟机管理器创建的全局ITS表,包括:设备表(Device Table)、中断映射表(Interrupt Translation Tables)、集合表(Collection Table)等。每个全局ITS表的配置如下:
1、设备表:映射设备ID到中断转换表,具体的,使用任意的设备ID可以从设备表中选择索引为该设备ID的表项,并从该表项中得到中断映射表的位置。
2、中断映射表:映射事件ID(表示外设发送中断的事件类型)到对应的中断号,以及该中断号所属的collection号。具体的,使用任意的事件ID可以从中断映射表中选择索引为该事件ID的表项。该表项包括该事件ID对应的中断号以及中断所属的collection号。
3、集合表:映射collection号到重分发器,使用任意的collection号,可以从集合表中选择索引为该collection号的重分发器。
由虚拟机管理器在启动之后根据对每个消息中断分配的中断标识分配对ITS组件的各个全局ITS表进行配置,以实现了ITS组件在多个虚拟机之间的共享使用,从而解决了ITS组件在多个虚拟机之间共享使用的难题。从而实现了消息中断的使能、中断号配置都统一由虚拟机管理器来管理,简化了虚拟机处理的复杂度。
在步骤S201之后,执行步骤S202:分别将虚拟机管理器创建的每个虚拟机作为目标虚拟机,由虚拟机管理器将M个消息中断的中断标识配置到目标虚拟机的配置文件中,M个消息中断均属于目标虚拟机。
其中,M为大于1的整数,具体数值是基于外设所要使用到的消息中断的总数量所决定,在此不进行具体数值的限定。
可以理解的是,在每次虚拟机管理器启动之后,针对属于同一虚拟机的M个消息中断,将为M个消息中断分配的中断标识配置到该虚拟机的配置文件中。
需要说明的是,每个虚拟机对应消息中断的数量不一定相同,根据实际对消息中断的配置所决定,在此不再赘述。
举例来讲,虚拟机管理器创建了三个虚拟机:VM1、VM2、VM3。其中,属于VM1的有100个消息中断,为设备ID1使用;属于VM2的有20个消息中断,为设备ID2使用;属于VM3的有50个消息中断,为设备ID3使用将属于VM1的100个消息中断所分配到的中断号8192~8291配置到VM1的配置文件中,将属于VM2的20个消息中断所分配到的中断号8292~8311配置到VM2的配置文件中,将属于VM3的50个消息中断所分配到的中断号8311~8360配置到VM3的配置文件中。
S203:在目标虚拟机启动时,由目标虚拟机从目标虚拟机的配置文件中解析出M个消息中断的中断标识,并根据M个消息中断的中断标识注册对应的中断处理程序。
目标虚拟机启动之后,由于目标虚拟机的配置文件解析出属于目标虚拟机的各个中断标识,比如,解析出设备ID1对应的100个中断号8192~8291,针对中断号8192~8291中的每个中断号,注册对应的中断处理程序。
应当理解的是,还可以在虚拟机管理器启动运行之后,且虚拟机启动运行之前,由虚拟机管理器统一配置各个消息中断的路由:在虚拟机管理器的配置文件中,每个消息中断的属性信息还包括该消息中断绑定的物理CPU,由虚拟机管理器从虚拟机管理器的配置文件中获取每个消息中断与物理CPU的绑定关系;针对每个消息中断,由虚拟机管理器根据该消息中断与物理CPU的绑定关系配置该消息中断的路由,通过虚拟机管理器为该消息中断配置的路由。以使在发生该消息中断时,中断控制器的ITS组件可以确定由哪个物理CPU来执行该消息中断。
通过上述预先在虚拟机管理器启动时,为每个消息中断配置路,并每个消息中断分配中断标识,并根据分配的中断标识配置中断控制器的ITS组件、虚拟机的配置文件。使得当某一设备ID标识的外设发起一消息中断发生时,该消息中断所属的虚拟机根据该消息中断对应的中断号调用中断处理程序,该虚拟机使用ITS组件根据设备ID和事件ID经过一系列查表,得到中断号,再使用中断号查表,得到该消息中断绑定的物理CPU,以执行该中断处理程序。
为了在车载OS系统上运行不同安全等级的应用软件,由hyperVisior在车载OS系统中创建多个虚拟机,来对应运行不同安全等级的应用软件,以实现不同安全等级的应用软件的运行环境隔离,从而提高汽车安全性。而本发明实施例提供的消息中断的虚拟化处理方法可以应用于这一场景。
具体的,根据ISO 26262ASIL(Automotive Safety Integration Level,汽车安全完整性等级),汽车上的全部电子电气系统的安全等级由低至高可以划分为QM(表示与安全无关)、A、B、C、D这五个等级。举例来讲,娱乐导航属于QM等级,创建有虚拟机1,用于运行娱乐导航等属于QM等级的应用软件;后车灯等属于A等级,创建有虚拟机2用于运行后车灯控制等属于A等级的应用软件;数字仪表盘、大灯和刹车灯等属于B等级,创建有虚拟机3,用于运行控制数字仪表盘、大灯和刹车灯等属于B等级的应用软件;巡航控制属于C等级,创建有虚拟机3,用于进行巡航控制;自动驾驶系统属于D等级,创建有虚拟机5用于运行自动驾驶系统。
每次一旦车载OS系统启动,就会触发从hyperVisior的配置文件中解析出每个消息中断的属性信息(消息中断的属性信息包括:由哪个设备ID使用该消息中断、该消息中断与哪个物理CPU绑定、该消息中断的触发类型(上升沿触发或者下降沿触发),等等)。
接着,在车载OS系统启动Hypervisor。在Hypervisor启动过程中,根据消息中断的属性信息为每个消息中断分配固定的中断号,并根据为该消息中断分配的固定中断号配置中断控制器的ITS组件,根据消息中断与物理CPU之间的绑定关系,配置每个消息中断的路由。
再接着,为每个消息中断分配的固定中断号配置到虚拟机1~5中对应虚拟机的配置文件中:为娱乐导航系统使用到的消息中断分配的固定中断号配置到虚拟机1的配置文件中;为后车灯使用到的消息中断分配的固定中断号配置到虚拟机2的配置文件中;为数字仪表盘、大灯和刹车灯对应使用到的消息中断分配的固定中断号配置到虚拟机3的配置文件中;为巡航控制对应使用到的消息中断分配的固定中断号配置到虚拟机4的配置文件中,为自动巡航系统对应使用到的消息中断分配的固定中断号配置到虚拟机5的配置文件中。
再接着,在Hypervisor对虚拟机1~5中任何一个虚拟机进行启动时,启动的虚拟机在启动过程中直接从自己的配置文件中解析出上一步骤配置的固定中断号,并针对每个固定中断号注册对应的中断处理程序。应当理解的是,虚拟机1~5是可以同时处于启动状态的。举例来讲,在虚拟机5的启动过程中,虚拟机5解析出在虚拟机5的配置文件所配置的各个固定中断号,并对应解析出的各个固定中断号注册对应的中断处理程序。
再接着,Hypervisor对启动运行的虚拟机1~5进行使用管理:基于前述配置,在汽车的任何一个外设产生消息中断时,Hypervisor基于启动时为该消息中断分配的固定中断号直通对应的虚拟机。因此,直通到的虚拟机感知不到消息中断的存在,感知到的是固定中断号所产生的固定中断,使得虚拟机基于感知到的固定中断号执行对应的中断处理程序,以快速响应该外设产生的消息中断。
通过上述实施例描述可以看出,通过将本发明实施例中消息中断的虚拟化处理方法应用于车载OS系统,可以在车载OS系统中实现消息中断直通虚拟机,进而减少了对汽车上的外设产生的消息中断的处理延时,并且简化了虚拟机OS处理中断的复杂度,有利于提高车载OS系统的处理效率。
基于同一发明构思,参考图3所示,本发明实施例提供了一种消息中断的虚拟化处理装置,包括:虚拟机管理器10和多个虚拟机20;其中,虚拟机管理器10包括:标识分配单元101,用于为每个消息中断分配固定的中断标识;第一配置单元102,用于根据每个消息中断的中断标识配置中断控制器的ITS组件;第二配置单元103,用于分别将所述虚拟机管理器创建的每个虚拟机作为目标虚拟机,将M个消息中断的中断标识配置到所述目标虚拟机的配置文件中,所述M个消息中断属于所述目标虚拟机;其中,所述目标虚拟机20包括:解析单元201,用于在所述目标虚拟机启动时,从所述目标虚拟机的配置文件中解析出所述M个消息中断的中断标识;注册单元201,用于根据所述M个消息中断的中断标识注册对应的中断处理程序。
用于在所述目标虚拟机启动时,从所述目标虚拟机的配置文件中解析出所述M个消息中断的中断标识,并根据所述M个消息中断的中断标识注册对应的中断处理程序。
在一些实施方式下,所述虚拟机管理器10,还包括:设备标识获取单元,用于从所述虚拟机管理器的配置文件中获取每个外设的设备标识;消息中断获取单元,用于根据所述设备标识获取对应外设使用的消息中断;其中,所述虚拟机管理器的配置文件中定义有每个消息中断的属性信息,所述消息中断的属性信息包括使用该消息中断的外设的设备标识。
在一些实施方式下,标识分配单元101,具体用于:分别将每个外设作为目标外设,为所述目标外设分配固定的中断标识段,所述中断标识段中各个中断标识用于一一对应的标识所述目标外设使用的各个消息中断。
在一些实施方式下,标识分配单元101,具体用于:在所述虚拟机管理器每次启动之后,采用同一预设的标识分配规则为所述目标外设分配中断标识段,以使为所述目标外设分配的中断标识段固定。
在一些实施方式下,标识分配单元101,具体用于:在所述虚拟机管理器每次启动之后,由所述虚拟机管理器根据所述目标外设使用的消息中断,确定所述目标外设所需的中断标识个数;由所述虚拟机管理器根据所述标识分配规则以及所述中断标识个数,为所述目标外设分配对应的中断标识段。
在一些实施方式下,所述消息中断的属性信息还包括该消息中断绑定的物理CPU,虚拟机管理器还包括:绑定关系获取单元,用于从所述虚拟机管理器的配置文件中获取每个所述消息中断与物理CPU的绑定关系;第三配置单元,用于:针对每个所述消息中断,由所述虚拟机管理器根据所述消息中断与物理CPU的绑定关系配置所述消息中断的路由。
在一些实施方式下,第一配置单元102,具体用于:由所述虚拟机管理器为中断控制器的ITS组件创建多个全局ITS表,其中,所述多个全局ITS表包括中断映射表;由所述虚拟机管理器将每个所述消息中断的中断标识,配置到所述中断映射表中;在所述目标虚拟机启动时,忽略对所述ITS组件的ITS表配置。
在一些实施方式下,第二配置单元103,具体用于:由所述虚拟机管理器确定属于所述目标虚拟机的M个消息中断;针对所述M个消息中断中每个消息中断,将该消息中断的中断标识配置到所述目标虚拟机的配置文件中。
第三方面,基于同一发明构思,本发明实施例提供一种物理节点,参考图4所示,包括存储器404、处理器402及存储在存储器404上并可在处理器402上运行的计算机程序,处理器402执行所述程序时实现前述消息中断的虚拟化处理方法实施例。
其中,在图4中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器404代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口405在总线400和接收器401和发送器403之间提供接口。接收器401和发送器403可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器404可以被用于存储处理器402在执行操作时所使用的数据。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述消息中断的虚拟化处理方法实施例。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种消息中断的虚拟化处理方法,其特征在于,包括:
由虚拟机管理器为每个消息中断分配固定的中断标识,并根据每个消息中断的中断标识配置中断控制器的ITS组件;
分别将所述虚拟机管理器创建的每个虚拟机作为目标虚拟机,由所述虚拟机管理器将M个消息中断的中断标识配置到所述目标虚拟机的配置文件中,所述M个消息中断属于所述目标虚拟机;
在所述目标虚拟机启动时,由所述目标虚拟机从所述目标虚拟机的配置文件中解析出所述M个消息中断的中断标识,并根据所述M个消息中断的中断标识注册对应的中断处理程序。
2.如权利要求1所述的方法,其特征在于,在由虚拟机管理器为每个消息中断分配固定的中断标识之前,还包括:
由所述虚拟机管理器从所述虚拟机管理器的配置文件中获取每个外设的设备标识,并根据所述设备标识获取对应外设使用的消息中断;
其中,所述虚拟机管理器的配置文件中定义有每个消息中断的属性信息,所述消息中断的属性信息包括使用该消息中断的外设的设备标识。
3.如权利要求1或2所述的方法,其特征在于,由虚拟机管理器为每个消息中断分配固定的中断标识,包括:
分别将每个外设作为目标外设,由所述虚拟机管理器为所述目标外设分配固定的中断标识段,所述中断标识段中各个中断标识用于一一对应的标识所述目标外设使用的各个消息中断。
4.如权利要求3所述的方法,其特征在于,由所述虚拟机管理器为所述目标外设分配固定的中断标识段,包括:
在所述虚拟机管理器每次启动之后,由所述虚拟机管理器均采用同一预设的标识分配规则为所述目标外设分配中断标识段,以使为所述目标外设分配的中断标识段固定。
5.如权利要求4所述的方法,其特征在于,由所述虚拟机管理器均采用同一预设的标识分配规则为所述目标外设分配中断标识段,包括:
在所述虚拟机管理器每次启动之后,由所述虚拟机管理器根据所述目标外设使用的消息中断,确定所述目标外设所需的中断标识个数;
由所述虚拟机管理器根据所述标识分配规则以及所述中断标识个数,为所述目标外设分配对应的中断标识段。
6.如权利要求2所述的方法,其特征在于,所述消息中断的属性信息还包括该消息中断绑定的物理CPU,在根据所述设备标识获取对应外设使用的消息中断之后,还包括:
由所述虚拟机管理器从所述虚拟机管理器的配置文件中获取每个所述消息中断与物理CPU的绑定关系;
针对每个所述消息中断,由所述虚拟机管理器根据所述消息中断与物理CPU的绑定关系配置所述消息中断的路由。
7.如权利要求1所述的方法,其特征在于,所述根据每个消息中断的中断标识配置中断控制器的ITS组件,包括:
由所述虚拟机管理器为中断控制器的ITS组件创建多个全局ITS表,其中,所述多个全局ITS表包括中断映射表;
由所述虚拟机管理器将每个所述消息中断的中断标识,配置到所述中断映射表中;
在所述目标虚拟机启动时,忽略对所述ITS组件的ITS表配置。
8.如权利要求1所述的方法,其特征在于,由所述虚拟机管理器将M个消息中断的中断标识配置到所述目标虚拟机的配置文件中,包括:
由所述虚拟机管理器确定属于所述目标虚拟机的M个消息中断;
针对所述M个消息中断中每个消息中断,将该消息中断的中断标识配置到所述目标虚拟机的配置文件中。
9.一种消息中断的虚拟化处理装置,其特征在于,包括:虚拟机管理器和多个虚拟机;
所述虚拟机管理器,包括:
标识分配单元,用于为每个消息中断分配固定的中断标识;
第一配置单元,用于根据每个消息中断的中断标识配置中断控制器的ITS组件;
第二配置单元,用于分别将所述虚拟机管理器创建的每个虚拟机作为目标虚拟机,将M个消息中断的中断标识配置到所述目标虚拟机的配置文件中,所述M个消息中断属于所述目标虚拟机;
所述目标虚拟机,包括:
解析单元,用于在所述目标虚拟机启动时,从所述目标虚拟机的配置文件中解析出所述M个消息中断的中断标识;
注册单元,用于根据所述M个消息中断的中断标识注册对应的中断处理程序。
10.一种物理节点,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8中任一所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一所述的方法。
CN202210225874.1A 2022-03-07 2022-03-07 消息中断的虚拟化处理方法、装置及存储介质 Pending CN114610444A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210225874.1A CN114610444A (zh) 2022-03-07 2022-03-07 消息中断的虚拟化处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210225874.1A CN114610444A (zh) 2022-03-07 2022-03-07 消息中断的虚拟化处理方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN114610444A true CN114610444A (zh) 2022-06-10

Family

ID=81861401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210225874.1A Pending CN114610444A (zh) 2022-03-07 2022-03-07 消息中断的虚拟化处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN114610444A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521324A (zh) * 2023-06-30 2023-08-01 深圳中安辰鸿技术有限公司 中断虚拟化处理方法、装置及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521324A (zh) * 2023-06-30 2023-08-01 深圳中安辰鸿技术有限公司 中断虚拟化处理方法、装置及电子设备
CN116521324B (zh) * 2023-06-30 2024-04-12 深圳中安辰鸿技术有限公司 中断虚拟化处理方法、装置及电子设备

Similar Documents

Publication Publication Date Title
US9424067B2 (en) Managing virtual machine instances utilizing an offload device
US9733959B2 (en) Policy-based hypervisor configuration management
US9411654B2 (en) Managing configuration and operation of an adapter as a virtual peripheral component interconnect root to expansion read-only memory emulation
US9854036B2 (en) Method for migrating memory data of virtual machine, and related apparatus and cluster system
US20090164990A1 (en) Apparatus for and Method for Real-Time Optimization of virtual Machine Input/Output Performance
US20050198632A1 (en) Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another
US9697024B2 (en) Interrupt management method, and computer implementing the interrupt management method
US9626221B2 (en) Dynamic guest virtual machine identifier allocation
US20070006227A1 (en) Method, apparatus and system for bi-directional communication between a virtual machine monitor and an ACPI-compliant guest operating system
CN107479943B (zh) 基于工业互联网操作系统的多操作系统运行方法及装置
US8966478B2 (en) Methods and systems for executing software applications using hardware abstraction
US20070011444A1 (en) Method, apparatus and system for bundling virtualized and non-virtualized components in a single binary
KR20140049064A (ko) 분리된 가상 공간을 제공하기 위한 방법 및 장치
CN103034524A (zh) 半虚拟化的虚拟gpu
WO2006088637A1 (en) Method, apparatus and system for dynamically reassigning memory from one virtual machine to another
WO2013089906A1 (en) Virtualized input/output adapter
CN106886429B (zh) 一种加载驱动程序的方法和服务器
CN105573830A (zh) 一种虚拟机迁移方法
CN110990110A (zh) 一种基于Sriov网卡的虚拟机创建方法及装置
CN114610444A (zh) 消息中断的虚拟化处理方法、装置及存储介质
US10853284B1 (en) Supporting PCI-e message-signaled interrupts in computer system with shared peripheral interrupts
CN108062239B (zh) 一种加速器加载方法、系统和加速器加载装置
US8386659B2 (en) Configuration adaptation layer for mapping I/O device resources
US20190179788A1 (en) Hot plugging of virtual bridges in a virtual pci system
CN106598696B (zh) 一种虚拟机之间数据交互的方法及装置

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