CN112783601A - 一种异构系统的中断处理方法、装置、设备及存储介质 - Google Patents
一种异构系统的中断处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112783601A CN112783601A CN202011608928.XA CN202011608928A CN112783601A CN 112783601 A CN112783601 A CN 112783601A CN 202011608928 A CN202011608928 A CN 202011608928A CN 112783601 A CN112783601 A CN 112783601A
- Authority
- CN
- China
- Prior art keywords
- interrupt
- real
- time system
- processing unit
- heterogeneous
- 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
Links
Images
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Bus Control (AREA)
Abstract
本发明提供了一种异构系统的中断处理方法、装置、设备及存储介质,所述异构系统的实时系统和非实时系统分别使用中断重映射表的不同表项,所述方法基于中断号利用所述中断重映射表确定相应中断对应的目标处理单元,由所述目标处理单元处理所述中断。本发明实现了异构系统间外部中断独立管理,减少了异构系统间的外部中断处理耦合性,降低了外部中断的响应时间。
Description
技术领域
本申请涉及计算机操作系统领域,尤其涉及一种异构系统的中断处理方法、装置、计算设备及计算机可读存储介质。
背景技术
现有技术虚拟化技术已经广泛应用于工控机,虚拟化的高可用性和快速迁移功能有效保证了关键系统的计算机业务连续,有效的降低了由计算机故障导致的业务中断。
由于工业行业的诸多应用都对实时性及运行能力有着很高的要求,为相关虚拟化解决方案的整合带来巨大挑战。现有虚拟化技术中,一般由虚拟机监控器VMM(VirtualMachine Monitor)虚拟一套独立于实际硬件的虚拟硬件环境(包括虚拟网卡、虚拟硬盘)给虚拟机使用,所有的外部设备中断由VMM接管,当产生外部中断时VMM截获并导致运行该虚拟机的CPU产生虚拟机退出VM-exit(Virtual Machine-exit)操作。VMM虚拟中断注入到该虚拟机中。当虚拟机处理完中断后引起第二次VM-exit。每次VM-exit涉及的控制流的转移都会带来巨大的上下文切换开销,从而造成中断处理效率的下降和延迟的增加,增加了中断响应时间,影响实时系统的实时性,不能满足工业环境。
发明内容
有鉴于此,本发明实施例提供了一种异构系统的中断处理方法、装置、设备及存储介质,在开启硬件辅助虚拟化的情况下,异构系统间外设中断独立管理
第一方面,本发明实施例提供一种异构系统的中断处理方法,所述异构系统包括实时系统和非实时系统,所述异构系统间开启了硬件辅助虚拟化,实时系统和非实时系统被分配使用中断重映射表的不同表项;所述中断重映射表记录有各中断号和对应的指向目标处理单元的目的域;接收到实时系统或非实时系统的中断时,基于该中断的中断号根据所述中断重映射表确定该中断对应的目标处理单元;由所述目标处理单元处理所述中断。
由上,实时系统和非实时系统分别使用中断重映射表的不同表项,减少了异构系统间的中断处理耦合性,实时系统在其运行的处理器核上独立响应所配置的中断。
根据第一方面,在一种异构系统中断处理方法的第一种可能实施方式中,接收到实时系统的中断时,所述由所述目标处理单元处理所述中断包括:所述目标处理单元基于中断号,根据该目标处理单元的中断描述表确定该实时系统的中断处理程序入口;所述中断描述表记录有各中断号和对应的各中断处理程序入口;由该中断处理程序处理所述中断。
由上,实时系统的处理器核直接基于中断号跳转到中断处理程序入口,响应速度快。
根据第一方面,在一种异构系统中断处理方法的第二种可能实施方式中,对于非实时系统,接收到非实时系统的中断时,所述由所述目标处理单元处理所述中断包括:所述目标处理单元基于中断号,根据该目标处理单元的中断描述表确定该非实时系统的虚拟机监视程序入口;所述中断描述表记录有各中断的虚拟机监视程序入口和对应的各中断号;由该虚拟机监视程序将所述中断投递给相应虚拟机的中断处理程序;由该中断处理程序处理所述中断。
由上,非实时系统的处理器核直接基于中断号跳转到其操作系统的核心态虚拟机监视器入口,再投递给虚拟机进行中断处理。
根据第一方面,在一种异构系统中断处理方法的第三种可能实施方式中,中断重映射表中实时系统的表项的中断包括外部中断。
由上,实时系统把硬件触发的外部中断配置其中断重映射表项中,实现了对外部中断独立管理,减少了异构系统间的外部中断处理耦合性。对比实时系统与非实时系统的中断处理过程,实时系统处理外部中断时减少了所述虚拟机监视程序的相关处理过程,降低了中断响应时延,提高了系统的外部设备的I/O的访问效率。
根据第一方面,在一种异构系统中断处理方法的第四种可能实施方式中,所述实时系统在被分配使用中断重映射表后,还包括:所述实时系统通过预先设置的中断重映射表配置接口,设置适用于所述实时系统的中断信息。
由上,通过所述预先设置的中断重映射表配置接口填写所述实时系统的中断信息,从而确定实时系统的各中断触发、投递、目标域的详细信息
根据第一方面的第四种可能实施方式,在一种异构系统中断处理方法的第五种可能实施方式中,所述设置适用于所述实时系统的中断信息包括:在创建产生中断的外部硬件时,确定分配给所述实时系统的外部硬件,并设置该外部硬件对应的中断在所述分配给实时系统的中断重映射表中的表项位置及表项内容。
由上,在创建外部硬件时,设置其相应的外部中断对应的中断重映射表项的详细内容,从而基于该内容确定该外部硬件的外部中断的目标处理单元,保证该硬件的外部中断被固定目标处理单元处理。
根据第一方面或第一方面的第一种至第五种任一可能实施方式,在一种异构系统中断处理方法的第六种可能实施方式中,通过非实时系统的虚拟机管理器初始化VT-d硬件辅助虚拟化设备,配置非实时系统和实时系统使用的中断重映射表的不同表项。
由上,使用VT-d硬件辅助虚拟化设备可快速配置非实时系统和实时系统使用的中断重映射表的不同表项。
第二方面,本发明实施例提供了一种异构系统的中断处理装置,所述异构系统包括实时系统和非实时系统,所述异构系统间开启了硬件辅助虚拟化,所述装置包括中断配置模块,用于为实时系统和非实时系统分配中断重映射表的不同表项,且配置所述中断重映射表的表项内容,所述表项内容包括各中断号和对应的指向目标处理单元的目的域;实时系统中断处理模块,用于接收到实时系统的中断时,根据所述中断重映射表中实时系统的表项,基于该中断的中断号确定该中断对应的目标处理单元,以及由目标处理单元处理所述中断;非实时系统中断处理模块,用于接收到非实时系统的中断时,根据所述中断重映射表中非实时系统的表项,基于该中断的中断号确定该中断对应的目标处理单元,以及由目标处理单元处理所述中断。
由上,实时系统和非实时系统分别使用中断重映射表的不同表项,减少了异构系统间的中断处理耦合性,实时系统可以独立配置的中断。
根据第二方面,在一种异构系统的中断处理装置的第一种可能实施方式中,所述中断配置模块还用于配置各实时系统的目标处理单元的中断描述表的各中断号和对应的各中断处理程序入口;所述实时系统中断处理模块用于由所述目标处理单元基于中断号,及根据该目标处理单元的中断描述表确定该实时系统的中断处理程序入口,以及由该中断处理程序处理所述中断。
由上,实时系统的处理器核直接基于中断号跳转到中断处理程序入口,响应速度快。
根据第二方面,在一种异构系统的中断处理装置的第二种可能实施方式中,所述中断配置模块还用于配置各非实时系统的目标处理单元的中断描述表的各中断号和对应各中断的虚拟机监视程序入口;所述非实时系统中断处理模块用于由非实时系统的所述目标处理单元基于中断号,根据该目标处理单元的中断描述表确定该非实时系统的虚拟机监视程序入口,及由该虚拟机监视程序将所述中断投递给相应虚拟机的中断处理程序,以及由该中断处理程序处理所述中断。
由上,非实时系统的处理器核基于中断号跳转到其操作系统的核心态虚拟机监视器入口,然后再投递给相应的虚拟机的中断处理程序。
根据第二方面,在一种异构系统中断处理装置的第三种可能实施方式中,中断重映射表中实时系统的表项的中断包括外部中断,所述外部中断是计算机外部硬件产生的中断。
由上,实时系统把硬件触发的外部中断配置其中断重映射表项中,实现了对外部中断独立管理,减少了异构系统间的外部中断处理耦合性。对比实时系统与非实时系统的中断处理过程,实时系统处理外部中断时减少了所述虚拟机监视程序的相关处理过程,降低了中断响应时延,提高了系统的外部设备的I/O的访问效率。
根据第二方面,在一种异构系统中断处理装置的第四种可能实施方式中,所述中断配置模块还用于所述实时系统在被分配使用中断重映射表后,所述实时系统通过预先设置的中断重映射表配置接口,设置适用于所述实时系统的中断信息。
由上,通过所述预先设置的中断重映射表配置接口填写所述实时系统的中断信息,从而确定实时系统的各中断触发、投递、目标域的详细信息。
根据第二方面的第四种可能实施方式,在一种异构系统中断处理装置的第五种可能实施方式中,所述中断配置模块在创建产生中断的外部硬件时,确定分配给所述实时系统的外部硬件,并设置该外部硬件对应的中断在所述分配给实时系统的中断重映射表中的表项位置及表项内容。
由上,在创建外部硬件时,设置其相应的外部中断对应的中断重映射表项的详细内容,从而基于该内容确定该外部硬件的外部中断的目标处理单元,保证该硬件的外部中断被固定目标处理单元处理。
根据第二方面或第二方面的第一种至第五种任一可能实施方式,在一种异构系统中断处理装置的第六种可能实施方式中,所述中断配置模块通过非实时系统的虚拟机管理器初始化VT-d硬件辅助虚拟化设备,配置非实时系统和实时系统使用的中断重映射表的不同表项。
由上,使用VT-d硬件辅助虚拟化设备可快速配置非实时系统和实时系统使用的中断重映射表的不同表项。
第三方面,本发明实施例提供了一种计算设备,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本申请第一方面所述实施方式。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面或第二方面任一所述实施方式。
附图说明
图1、本申请的一种异构系统的中断处理系统结构的示意图;
图2A、本申请的一种异构系统的中断处理方法实施例的中断配置方法的流程示意图;
图2B、本申请的基于VT-d的中断重映射表的中断处理方法的流程示意图;
图2C、本申请的一种异构系统的中断处理方法实施例的非实时系统中断处理方法的流程示意图;
图2D、本申请的一种异构系统的中断处理方法实施例的实时系统中断处理方法的流程示意图;
图3A、一种异构系统的中断处理装置实施例的中断配置模块的结构示意图;
图3B、一种异构系统的中断处理装置实施例的非实时系统中断处理模块的结构示意图;
图3C、一种异构系统的中断处理装置实施例的非实时系统中断处理模块的中断处理第二模块的结构示意图;
图3D、一种异构系统的中断处理装置实施例的实时系统中断处理模块的结构示意图;
图4、本申请的计算设备结构示意图。
具体实施方式
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明具体实施方式进行进一步详细说明之前,对本发明实施例中涉及的名词和术语,以及其在本发明中相应的用途\作用\功能等进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1、硬件辅助虚拟化技术VT-d(Intel Virtualization Technology for DirectI/O)是Intel虚拟化技术的一部分,主要针对的是I/O子系统,它的实现主要是通过在硬件上引入重定向单元,该硬件重定向单元用于对I/O子系统的直接存储器访问DMA(DirectMemory Access)操作和中断传递进行重定向,从而辅助VMM(Virtual Machine Monitor)实现I/O子系统的虚拟化。
2、中断重映射表IRTE(Interrupt Remapping Table Entry),VT-d对中断传递进行重定向通过中断重映射表实现,中断重映射表最大支持65536个表项,每一个表项IRTE(Interrupt Remapping Table Entry)包含中断触发方式、中断投递模式、目标域号和中断号。
3、非对称多进程处理AMP与对称多进程处理SMP,AMP是Asymmetric MultiProcessing的简称,在AMP计算机结构包含多个处理器的核,各处理器的核运行的系统不完全相同。SMP是Symmetric Multi Processing的简称,在SMP计算机结构包含多个处理器的核,各处理器的核运行的系统完全相同。
在AMP运行模式的异构系统中不同处理核上运行多种操作系统环境,包括Linux+KVM虚拟机运行环境和Intewell实时操作系统运行环境,两个系统协同工作实现工业应用的设计目标。
在运行实时操作系统和非实时操作系统的异构环境中设备独占使用,外部设备根据实时系统需求分配给实时操作系统独占使用(包括CPU核,串口、网卡、硬盘等),外部设备的中断由实时系统直接处理。但是在开启硬件辅助虚拟化的情况下外部中断由VT-d设备统一管理,VT-d设备由非实时系统初始化并管理,导致实时系统无法独立管理外设中断,无法独立设置中断触发方式、中断投递模式、目的域和中断号等。
本申请的提出的一种异构系统的中断处理方法,将实时系统和非实时系统分配使用中断重映射表的不同表项,以实现二者的隔离,使用实时系统处理外部中断,降低了中断相应时间。
图1示出了本申请的运行环境即一种异构系统的系统结构图。
整体所述异构系统是AMP架构,示例地,图1该架构包括4个处理器核(Core0、Core1、Core2和Core3),其中,Core0和Core1为SMP架构,通过Linux+KVM(Kernel-basedVirtual Machine)虚拟机运行环境而运行非实时操作系统Window和Linux,Core2和Core3同样为SMP架构,通过Intewell(北京东土科技股份有限公司的工业互联网操作系统)内核而运行实时操作系统RTOS(Real Time Operation System)。
示例地,Intel x86体系芯片在多处理器核之上还构建VT(VirtualizationTechnology),从硬件方面帮助进行芯片层面的虚拟化,Linux+KVM和Intewell运行于Intelx86体系VT层之上,所述VT包括VT-d。AMD x86体系芯片、ARM芯片等也有类似硬件辅助虚拟装置。
【一种异构系统的中断处理方法实施例】
下面图1图至图2D介绍本申请的一种异构系统的中断处理方法实施例。本申请的各实施例以Intel x86体系芯片的异构系统为例。
所述一种异构系统的中断处理方法实施例由其中断配置方法、实时系统中断处理方法和非实时系统处理方法组成,先执行其中的所述中断配置方法,再并行执行所述实时系统中断处理方法和非实时系统处理方。下面结合附图分别介绍。
【一种异构系统的中断处理方法实施例的中断配置方法】
本申请提供了一种异构系统的中断处理方法,其中,在处理中断前,需要进行中断重映射表的分配,将实时系统和非实时系统分配使用中断重映射表的不同表项,并配置实时系统和非实时系统各目标处理单元的中断描述表。下面结合图2A对一种异构系统的中断处理方法实施例的中断配置方法进行详述:
步骤110、分配非实时系统和实时系统分别使用不同的中断重映射表的表项。
其中,本方法实施例把与实时系统相关的硬件对应的外部中断,配置到实时系统使用的中断重映射表的表项。
具体地,该步骤功能在图1中的非实时系统,如WINDOS系列的操作系统或Linux系统,在启动时对VT-d的初始化完成,划定了非实时系统和实时系统分别使用不同的中断重映射表的表项。
图2B示出了本方法实施例中通过VT-d初始化设定的中断重映射表,即中断重映射表中的实时系统与非实时系统的表项范围,示例地,非实时系统使用其中表项0-59999,实时系统使用其中表项60000-65535,可以根据实际需求设置不同的范围。
由上,非实时系统和实时系统分别使用不同的中断重映射表的表项,实现了异构系统间外部中断独立管理,减少了异构系统间的外部中断处理耦合性。
步骤120、配置中断重映射表中实时系统的各表项的要素。
具体地,在实时系统PCI(Peripheral Component Interconnect)设备驱动初始化时,创建实时系统的外部硬件设备,调用IRTE表项的设置接口,设置该外部硬件相应的外部中断的要素,包括中断触发方式、中断投递模式、目的域和中断号,所述目的域为CPU ID。图2B示出了确定目标处理单元的原理图,基于所述CPU ID,通过局部可编程的中断控制器(Local APIC,Advanced Programmable Interrupt Controller)确定具体的处理器核,即目标处理单元。
由上,实时系统可基于中断号利用中断重映射表确定处理该中断的具体的处理器核。
步骤130、配置实时系统各目标处理单元的中断描述表。
其中,实时系统各目标处理单元的所述中断描述表(IDT,Interrupt DescriptorTable)包括中断号和实时系统相应的中断处理程序入口。
具体地,实时系统的每个处理器核配置所述中断描述表(,实时系统的中断处理程序入口根据中断号注册在该表中。
步骤140、配置中断重映射表中非实时系统的各表项的要素。
具体地,非实时系统核心态在初始化时,执行外部硬件设备虚拟化,调用IRTE表项的设置接口,设置非实时系统的各IRTE表项的要素,包括中断触发方式、中断投递模式、目的域和中断号。在非实时系统中,目的域也为CPU ID,图2B示出了基于所述CPU ID,通过Local APIC确定相应的处理器核,即目标处理单元。
步骤150、配置非实时系统各目标处理单元的中断描述表。
其中,非实时系统的操作系统核心态配置各目标处理单元的所述中断描述表,基于中断号确定非实时系统各中断相应的虚拟机监视程序入口。
其中,上述步骤120-130、步骤140-150,进行步骤编号仅为了描述方便,不难理解,也可以先执行步骤140-150,再执行步骤120-130。
当如上配置完成后,则可以据此实现本身的异构系统的中断处理方法,下面参见附图,分别对接收的中断由实时系统和非实时系统处理的方法进行描述。
【一种异构系统的中断处理方法实施例的非实时系统中断处理方法】
参见图2C的示意图,为非实时系统执行中断处理程序的方法,包括如下步骤:
步骤1501、VT-d接收到外部设备产生的外部中断,即PCI设备的MSI(MessageSignaled Interrupts)中断。接收的中断中记录有其中断号。
步骤1502、VT-d基于所述中断号从中断映射表中的非实时系统表项中查找该中断号对应的其指向目标处理单元的目的域,并生成中断消息。
其中,所述中断消息包括所述要素中的中断号和其指向目标处理单元的目的域。示例地,中断映射表中的非实时系统表项为0-59999。
步骤1503、Local APIC基于中断消息的目的域确定处理该中断的处理器核,即目标处理单元。
步骤1504、基于所述处理核的中断描述表确定该中断对应的虚拟机监视程序入口。
步骤1505、由所述虚拟机监视程序处理所述中断,可包括如下子步骤:
步骤15051、所述虚拟机监视程序收到中断后,与其运行在同处理器核的虚拟机暂停的任务运行,保存所述任务的第一上下文。
其中,在该步骤中所述虚拟机运行的任务被以中断退出形式暂停。
步骤15052、所述虚拟机监视程序对中断进行预处理,再把中断投递给所述虚拟机的中断处理程序处理。
步骤15053、所述虚拟机保存第二上下文,进行中断处理,处理完毕后,恢复第二上下文,退出所述虚拟机,进入所述虚拟机监视程序。
其中,在该步骤中目的虚拟机进行了一次中断退出和一次第二上下文切换。
步骤15054、所述虚拟机监视程序基于所保存的第一上文恢复所暂停的虚拟机的任务运行。
其中,该步骤和步骤15051合起来,所述虚拟机监视程序进行了一次第一上下文切换。
由上,非实时系统每次中断处理都会经过两次中断退出和两次上下文切换。
【一种异构系统的中断处理方法实施例的实时系统中断处理方法】
参见图2D的示意图,为实时系统中断处理方法实施例的流程,包括如下步骤,
步骤1301、VT-d接收到外部设备产生的外部中断,即PCI设备的MSI中断。接收的中断中记录有其中断号。
步骤1302、VT-d基于所述中断号从中断映射表中的实时系统表项中查找该中断号对应的其指向目标处理单元的目的域,并生成中断消息。
其中,所述中断消息包括所述要素中的中断号和其指向目标处理单元的目的域。示例地,中断映射表中的实时系统表项为60000-65535。
步骤1303、Local APIC基于中断消息的目的域确定处理该中断的处理器核,即目标处理单元。
步骤1304、基于所述处理核的中断描述表确定该中断对应的中断处理程序入口。
步骤1305、暂停所述处理器核上的任务,保存其上下文,并运行中断处理程序,中断处理完成后,基于所保存的上下文恢复所述处理器核上的任务。
由上,实时系统的中断处理只经过一次中断退出,中断响应快,效率高。
由上,对比实时系统和非实时系统的中断处理方法,实时系统减少了一次中断退出和上下文切换,尤其降低了从中断产生到具体中断处理之间的所有延时,提高实时系统的实时性及通过中断访问外部设备的效率。
综上,一种异构系统的中断处理方法实施例中,非实时系统和实时系统分别使用不同的中断重映射表项实现了异构系统间外部中断独立管理,减少了异构系统间的外部中断处理耦合性。把外部中断配在中断重映射表的实时系统处理的表项中降低了外部中断响应的时间,提高实时系统的实时性及通过中断访问外部设备的访问效率。
【一种异构系统的中断处理装置实施例】
下面基于图3A至图3D介绍本申请的一种异构系统的中断处理装置实施例。本申请的各装置实施例以Intel x86体系芯片的异构系统为例。
所述一种异构系统的中断处理装置实施例由中断配置模块、实时系统中断处理模块和非实时系统处理模块组成。下面结合附图分别介绍。
【一种异构系统的中断处理装置实施例的中断配置模块】
图3A示出了一种异构系统的中断处理装置实施例的中断配置模块的结构示意图,其包括,
中断重映射表分配模块210,用于分配中断重映射表的表项,实时系统和非实时系统分别使用中断重映射表的不同表项,基于中断号利用所述中断重映射表确定相应中断对应的目标处理单元。该模块的原理和优点同一种异构系统的中断处理方法实施例的中断配置方法步骤110,这里不再详述。
中断重映射表第一配置模块220,用于配置中断重映射表中实时系统的各表项;该模块的原理和优点同一种异构系统的中断处理方法实施例的中断配置方法步骤120,这里不再详述。
中断重映射表第二配置模块240,用于配置中断重映射表中非实时系统的各表项。该模块的原理和优点同一种异构系统的中断处理方法实施例的中断配置方法步骤140,这里不再详述。
中断描述表第一配置模块230,用于实时系统配置实时系统的各所述处理单元的中断重映射表项,基于中断号从该中断的所述处理单元的中断描述表确定实时系统的中断处理程序入口。该模块的原理和优点同一种异构系统的中断处理方法实施例的中断配置方法步骤130,这里不再详述。
中断描述表第二配置模块250,用于非实时系统配置实时系统的各所述处理单元的中断重映射表项,基于中断号从该中断的所述处理单元的中断描述表确定非实时系统相应的虚拟机件监视程序入口。该模块的原理和优点同一种异构系统的中断处理方法实施例的中断配置方法步骤150,这里不再详述。
【一种异构系统的中断处理装置实施例的非实时系统中断处理模块】
图3B示出了一种异构系统的中断处理装置实施例的非实时系统中断处理的结构,其包括以下模块:
中断接收模块2510,用于VT-d接收到物理设备产生的外部中断。其工作原理同一种异构系统的中断处理方法实施例的非实时系统中断处理方法的步骤1501。
中断重映射表查询模块2520,用于VT-d基于所述中断号从中断映射表中的实时系统表项中查找该中断号对应的其指向目标处理单元的目的域,并生成中断消息。其工作原理同一种异构系统的中断处理方法实施例的非实时系统中断处理方法的步骤1502。
处理器核确定模块2530,用于Local APIC基于中断消息的目的域确定处理该中断的处理器核。其工作原理同一种异构系统的中断处理方法实施例的非实时系统中断处理方法的步骤1503。
中断处理程序确定第二模块2540,用于基于所述处理核的中断描述表确定该中断对应的虚拟机监视程序入口。其工作原理同一种异构系统的中断处理方法实施例的非实时系统中断处理方法的步骤1504。
中断处理第二模块2550,用于由所述虚拟机监视程序处理所述中断。其模块结构参见【一种异构系统的中断处理装置实施例的非实时系统中断处理模块的中断处理第二模块】。
【一种异构系统的中断处理装置实施例的非实时系统中断处理模块的中断处理第二模块】
图3C示出了一种异构系统的中断处理装置实施例的非实时系统中断处理模块的中断处理第二模块的结构,其包括以下模块:
虚拟机退出模块2551,用于所述虚拟机监视程序收到中断后,与其运行在同处理器核的虚拟机暂停的任务运行,以及保存第一上下文。其工作原理同一种异构系统的中断处理方法实施例的非实时系统中断处理方法的步骤15051。
中断预处理模块2552,用于所述虚拟机监视程序对中断进行预处理,再把中断投递给所述虚拟机的中断处理程序处理。其工作原理同一种异构系统的中断处理方法实施例的非实时系统中断处理方法的步骤15052。
虚拟机中断处理模块2553、用于所述虚拟机保存第二上下文和进行中断处理,以及处理完毕后恢复第二上下文和退出所述虚拟机,以及进入所述虚拟机监视程序。其工作原理同一种异构系统的中断处理方法实施例的非实时系统中断处理方法的步骤15053。
虚拟机恢复模块2554,所述虚拟机监视程序基于所保存的第一上文文恢复所暂停的第一虚拟机的任务运行。其工作原理同一种异构系统的中断处理方法实施例的非实时系统中断处理方法的步骤15054。
【一种异构系统的中断处理装置实施例的实时系统中断处理模块】
图3D示出了一种异构系统的中断处理装置实施例的实时系统中断处理模块的结构,其包括以下模块:
中断接收模块2310,用于VT-d接收到物理设备产生的外部中断。其工作原理同一种异构系统的中断处理方法实施例的实时系统中断处理方法的步骤1301。
中断重映射表查询模块2320,用于VT-d基于所述中断号从中断映射表中的实时系统表项中查找该中断号对应的其指向目标处理单元的目的域,并生成中断消息。其工作原理同一种异构系统的中断处理方法实施例的实时系统中断处理方法的步骤1302。
处理器核确定模块2330,用于Local APIC基于中断消息的目的域确定处理该中断的处理器核。其工作原理同一种异构系统的中断处理方法实施例的实时系统中断处理方法的步骤1303。
中断处理程序确定第一模块2340,用于基于所述处理核的中断描述表确定该中断对应的中断处理程序入口。其工作原理同一种异构系统的中断处理方法实施例的实时系统中断处理方法的步骤1304。
中断处理第一模块2350,暂停所述处理器核上的任务,并运行中断处理程序,中断处理完成后,恢复所述处理器核上的任务。其工作原理同一种异构系统的中断处理方法实施例的实时系统中断处理方法的步骤1305。
综上,一种异构系统的中断处理装置实施例中,非实时系统和实时系统分别使用不同的中断重映射表项实现了异构系统间外部中断独立管理,减少了异构系统间的外部中断处理耦合性。把外部中断配在中断重映射表的实时系统处理的表项中降低了外部中断响应的时间,提高实时系统的实时性及通过中断访问外部设备的访问效率。
【计算设备】
本发明还提供的一种计算设备,下面图4详细介绍。
该计算设备400包括,处理器410、存储器420、通信接口430、总线440。
应理解,该图所示的计算设备410中的通信接口430可以用于与其他设备之间进行通信。
其中,该处理器410可以与存储器420连接。该存储器420可以用于存储该程序代码和数据。因此,该存储器420可以是处理器410内部的存储单元,也可以是与处理器410独立的外部存储单元,还可以是包括处理器410内部的存储单元和与处理器410独立的外部存储单元的部件。
可选的,计算设备400还可以包括总线440。其中,存储器420、通信接口430可以通过总线440与处理器410连接。总线440可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(EFStended Industry StandardArchitecture,EISA)总线等。所述总线440可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本发明实施例中,该处理器410可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器410采用一个或多个集成电路,用于执行相关程序,以实现本发明实施例所提供的技术方案。
该存储器420可以包括只读存储器和随机存取存储器,并向处理器410提供指令和数据。处理器410的一部分还可以包括非易失性随机存取存储器。例如,处理器410还可以存储设备类型的信息。
在计算设备400运行时,所述处理器410执行所述存储器420中的计算机执行指令执行方法实施例的操作步骤。
应理解,根据本发明实施例的计算设备400可以对应于执行根据本发明各实施例的方法中的相应主体,并且计算设备400中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
【存储介质】
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行方法实施例的操作步骤。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,均属于本发明保护范畴。
Claims (10)
1.一种异构系统的中断处理方法,所述异构系统包括实时系统和非实时系统,所述异构系统间开启了硬件辅助虚拟化,其特征在于,包括:
实时系统和非实时系统被分配使用中断重映射表的不同表项;所述中断重映射表记录有各中断号和对应的指向目标处理单元的目的域;
接收到实时系统或非实时系统的中断时,基于该中断的中断号根据所述中断重映射表确定该中断对应的目标处理单元;
由所述目标处理单元处理所述中断。
2.根据权利要求1所述方法,其特征在于,接收到实时系统的中断时,所述由所述目标处理单元处理所述中断包括:
所述目标处理单元基于中断号,根据该目标处理单元的中断描述表确定该实时系统的中断处理程序入口;所述中断描述表记录有各中断号和对应的各中断处理程序入口;
由该中断处理程序处理所述中断。
3.根据权利要求1所述方法,其特征在于,接收到非实时系统的中断时,所述由所述目标处理单元处理所述中断包括:
所述目标处理单元基于中断号,根据该目标处理单元的中断描述表确定该非实时系统的虚拟机监视程序入口;所述中断描述表记录有各中断号和对应各中断的虚拟机监视程序入口;
由该虚拟机监视程序将所述中断投递给相应虚拟机的中断处理程序;
由该中断处理程序处理所述中断。
4.根据权利要求1所述方法,其特征在于,接收到的实时系统的中断包括外部中断,所述外部中断是计算机外部硬件产生的中断。
5.根据权利要求1所述方法,其特征在于,所述实时系统在被分配使用中断重映射表后,还包括:所述实时系统通过预先设置的中断重映射表配置接口,设置适用于所述实时系统的中断信息。
6.根据权利要求5所述方法,其特征在于,所述设置适用于所述实时系统的中断信息包括:
在创建产生中断的外部硬件时,确定分配给所述实时系统的外部硬件,并设置该外部硬件对应的中断在所述分配给实时系统的中断重映射表中的表项位置及表项内容。
7.根据权利要求1至6任一所述方法,其特征在于,通过非实时系统的虚拟机管理器初始化VT-d硬件辅助虚拟化设备,配置非实时系统和实时系统使用的中断重映射表的不同表项。
8.一种异构系统的中断处理装置,所述异构系统包括实时系统和非实时系统,所述异构系统间开启了硬件辅助虚拟化,其特征在于,包括,
中断配置模块,用于为实时系统和非实时系统分配中断重映射表的不同表项,且配置所述中断重映射表的表项内容,所述表项内容包括各中断号和对应的指向目标处理单元的目的域;
实时系统中断处理模块,用于接收到实时系统的中断时,根据所述中断重映射表中实时系统的表项,基于该中断的中断号确定该中断对应的目标处理单元;以及由目标处理单元处理所述中断;
非实时系统中断处理模块,用于接收到非实时系统的中断时,根据所述中断重映射表中非实时系统的表项,基于该中断的中断号确定该中断对应的目标处理单元;以及由目标处理单元处理所述中断。
9.一种计算设备,其特征在于,包括,
总线;
通信接口,其与所述总线连接;
至少一个处理器,其与所述总线连接;以及
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011608928.XA CN112783601A (zh) | 2020-12-30 | 2020-12-30 | 一种异构系统的中断处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011608928.XA CN112783601A (zh) | 2020-12-30 | 2020-12-30 | 一种异构系统的中断处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112783601A true CN112783601A (zh) | 2021-05-11 |
Family
ID=75753544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011608928.XA Pending CN112783601A (zh) | 2020-12-30 | 2020-12-30 | 一种异构系统的中断处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112783601A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360422A (zh) * | 2021-07-13 | 2021-09-07 | 科东(广州)软件科技有限公司 | 一种异构系统中实时操作系统设备收发数据的方法及装置 |
CN113391881A (zh) * | 2021-06-28 | 2021-09-14 | 元心信息科技集团有限公司 | 中断的管理方法、装置、电子设备及计算机存储介质 |
CN114020427A (zh) * | 2021-10-22 | 2022-02-08 | 苏州浪潮智能科技有限公司 | 一种中断设置方法、中断处理方法、装置及存储介质 |
CN116302303A (zh) * | 2022-09-09 | 2023-06-23 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335222A (zh) * | 2014-06-04 | 2016-02-17 | 华为技术有限公司 | 中断信息的处理方法、虚拟机监控器及中断控制器 |
CN107273199A (zh) * | 2012-03-29 | 2017-10-20 | 英特尔公司 | 用于管理虚拟化环境中的中断的体系结构和方法 |
CN108073451A (zh) * | 2017-12-20 | 2018-05-25 | 北京东土科技股份有限公司 | 一种多核cpu上异构操作系统间中断处理方法及装置 |
CN108932160A (zh) * | 2017-10-10 | 2018-12-04 | 北京猎户星空科技有限公司 | 多操作系统控制方法、装置、电子设备和计算机存储介质 |
-
2020
- 2020-12-30 CN CN202011608928.XA patent/CN112783601A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273199A (zh) * | 2012-03-29 | 2017-10-20 | 英特尔公司 | 用于管理虚拟化环境中的中断的体系结构和方法 |
CN105335222A (zh) * | 2014-06-04 | 2016-02-17 | 华为技术有限公司 | 中断信息的处理方法、虚拟机监控器及中断控制器 |
CN108932160A (zh) * | 2017-10-10 | 2018-12-04 | 北京猎户星空科技有限公司 | 多操作系统控制方法、装置、电子设备和计算机存储介质 |
CN108073451A (zh) * | 2017-12-20 | 2018-05-25 | 北京东土科技股份有限公司 | 一种多核cpu上异构操作系统间中断处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
河马虚拟化: "Intel VT-d(3)- 中断重映射,来自https://blog.csdn.net/lindahui2008/article/details/83954861", 《CSDN》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391881A (zh) * | 2021-06-28 | 2021-09-14 | 元心信息科技集团有限公司 | 中断的管理方法、装置、电子设备及计算机存储介质 |
CN113360422A (zh) * | 2021-07-13 | 2021-09-07 | 科东(广州)软件科技有限公司 | 一种异构系统中实时操作系统设备收发数据的方法及装置 |
CN114020427A (zh) * | 2021-10-22 | 2022-02-08 | 苏州浪潮智能科技有限公司 | 一种中断设置方法、中断处理方法、装置及存储介质 |
CN114020427B (zh) * | 2021-10-22 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种中断设置方法、中断处理方法、装置及存储介质 |
CN116302303A (zh) * | 2022-09-09 | 2023-06-23 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
CN116302303B (zh) * | 2022-09-09 | 2024-02-13 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10628087B2 (en) | Extending existing storage devices in virtualized environments | |
CN112783601A (zh) | 一种异构系统的中断处理方法、装置、设备及存储介质 | |
US9710310B2 (en) | Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines | |
EP3039540B1 (en) | Virtual machine monitor configured to support latency sensitive virtual machines | |
US6961941B1 (en) | Computer configuration for resource management in systems including a virtual machine | |
US7757231B2 (en) | System and method to deprivilege components of a virtual machine monitor | |
EP2831728B1 (en) | Architecture and method for managing interrupts in a virtualized environment | |
WO2018177309A1 (en) | Techniques for virtual machine transfer and resource management | |
US9298484B2 (en) | Encapsulation of an application for virtualization | |
US20110153909A1 (en) | Efficient Nested Virtualization | |
CN103984591B (zh) | 计算机虚拟化系统的PCI设备INTx中断投递方法 | |
WO2022078375A1 (zh) | 一种芯片系统、处理虚拟中断的方法及相应装置 | |
JP7538950B2 (ja) | コンピュータデバイス、例外処理方法および割り込み処理方法 | |
US20170337074A1 (en) | Hypervisor-visible guest thread management | |
CN110447012B (zh) | 协作虚拟处理器调度 | |
US11169837B2 (en) | Fast thread execution transition | |
WO2015062199A1 (zh) | 一种虚拟处理器之间的中断的实现方法、相关装置和系统 | |
CN115988217A (zh) | 一种虚拟化视频编解码系统、电子设备和存储介质 | |
CN115988218A (zh) | 一种虚拟化视频编解码系统、电子设备和存储介质 | |
US9176910B2 (en) | Sending a next request to a resource before a completion interrupt for a previous request | |
Gerangelos et al. | vphi: Enabling xeon phi capabilities in virtual machines | |
EP3255544B1 (en) | Interrupt controller | |
CN117472805A (zh) | 一种基于virtio的虚拟化IO设备内存管理系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210511 |