CN116719613B - 基于虚拟监控器实现Linux下PCIe物理设备隔离的方法 - Google Patents

基于虚拟监控器实现Linux下PCIe物理设备隔离的方法 Download PDF

Info

Publication number
CN116719613B
CN116719613B CN202310999954.7A CN202310999954A CN116719613B CN 116719613 B CN116719613 B CN 116719613B CN 202310999954 A CN202310999954 A CN 202310999954A CN 116719613 B CN116719613 B CN 116719613B
Authority
CN
China
Prior art keywords
pcie
root client
client
root
ecam
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
CN202310999954.7A
Other languages
English (en)
Other versions
CN116719613A (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.)
Kirin Software Co Ltd
Original Assignee
Kirin Software 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 Kirin Software Co Ltd filed Critical Kirin Software Co Ltd
Priority to CN202310999954.7A priority Critical patent/CN116719613B/zh
Publication of CN116719613A publication Critical patent/CN116719613A/zh
Application granted granted Critical
Publication of CN116719613B publication Critical patent/CN116719613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

本发明涉及一种基于虚拟监控器实现Linux下PCIe物理设备隔离的方法,包括以下步骤:S1:在Linux系统上安装Jailhouse分区虚拟化工具;S2:启动Jailhouse分区虚拟化工具,将主机系统分隔为分别运行Linux系统的root客户机和none root客户机;S3:隔离root客户机;S4:根据步骤S3中生成的新的root客户机的配置文件启动root客户机;S5:隔离none root客户机;S6:在新的none root客户机的配置文件中增加PCIe设备描述;S7:在hypervisor中增加ECAM空间地址转换表;S8:修改网卡驱动;S9:启动none root客户机。

Description

基于虚拟监控器实现Linux下PCIe物理设备隔离的方法
技术领域
本发明涉及PCIe物理设备,具体涉及一种基于虚拟监控器实现Linux下PCIe物理设备隔离的方法。
背景技术
随着集成电路制造工艺的发展,越来越多的计算单元被集成到单一芯片上。如何更有效地使用单芯片上的资源从而获得良好的系统伸缩性成为摆在系统软件设计者面前的重要问题。目前多核系统上部署虚拟机监控器(hypervisor)是解决该问题的一种有效的解决方式。hypervisor的虚拟化和隔离功能可以实现多个客户机操作系统运行在同一个硬件平台之上。根据不同客户机应用需求,给不同客户机配置不同的硬件资源,更加有效的利用硬件资源。
其中,PCIe设备是硬件平台使用最多的硬件设备,比如网卡、显卡等,都是通过PCIe总线连接硬件平台上。如何将PCIe设备进行隔离,才能更加有效的利用硬件资源。PCIe设备隔离需要隔离PCIe中断和内存。PCIe设备支持INTx、MSI、MSI-X三种中断:INTx中断,是传统中断,通过改变中断请求线电平的方式向处理器提交中断请求;MSI(message signalinterrupt)/MSI-x中断,是PCIe设备通过写一个特定消息到特定地址,从而触发一个CPU中断。
目前多数PCIe设备默认使用MSI/MSI-x中断,而分区虚拟化工具(如jailhouse)在armv8架构下,无法实现MSI/MSI-x中断隔离,因此无法实现PCIe物理设备的隔离。这样就大大限制了分区虚拟化的应用,无法更加有效的利用硬件资源。
发明内容
本发明的主要目的是提供一种一种基于虚拟监控器实现Linux下PCIe物理设备隔离的方法,可以实现在armv8架构下,使用分区虚拟化工具(如jialhouse)隔离PCIe物理设备。
为了完成上述目的,本发明提供了一种基于虚拟监控器实现Linux下PCIe物理设备隔离的方法,该方法应用于armv8架构下,包括以下步骤:
S1:在Linux系统上安装Jailhouse分区虚拟化工具;
S2:启动Jailhouse分区虚拟化工具,将主机系统分隔为分别运行Linux系统的root客户机和none root客户机;
S3:隔离root客户机,主机Linux系统获取PCIe ECAM地址空间,并将PCIe ECAM地址空间的基地址写到root客户机的配置文件中,以便生成新的root客户机的配置文件;
S4:根据步骤S3中生成的新的root客户机的配置文件启动root客户机,将root客户机的PCIe ECAM地址空间映射到hypervisor中,并通过模拟MMIO中断的方式控制noneroot客户机PCIe ECAM地址空间的访问;
S5:隔离none root客户机,修改none root客户机上运行的Linux系统的设备树文件,增加一条PCIe总线描述,使得PCIe总线具备与主机上一致的PCIe ECAM地址空间,生成新的none root客户机的配置文件;
S6:在新的none root客户机的配置文件中增加PCIe设备描述,以便描述从主机上隔离的PCIe网卡设备;
S7:在hypervisor中增加ECAM空间地址转换表,以便将none root客户机Linux访问的第一个PCIe设备的ECAM地址转换成主机上真实的PCIe设备的ECAM地址;
S8:修改网卡驱动,使得网卡工作在INTx中断模式,并将修改后的网卡驱动放入none root客户机Linux系统的PCIe设备驱动中;
S9:启动none root客户机。
优选的,在步骤S3中,主机Linux系统是通过cat /proc/iomem命令获取PCIe ECAM地址空间的,并将PCIe ECAM地址空间的基地址写到root客户机配置文件中的pci_mmconfig_base配置项中。
优选的,在步骤S6中,PCIe设备描述中包括要隔离的PCIe网卡设备的唯一标识BDF。
更进一步优选的,PCIe网卡设备的唯一标识BDF是从主机Linux系统上通过lspci命令获取的。
更进一步优选的,新的none root客户机的配置文件中还包括通过“1:1”的方式将主机预留的物理内存映射给none root客户机。
本发明的有益效果为:
本发明在hypervisor中通过模拟MMIO(Memroy-mapped Input/Output)方式,控制none root 客户机PCIe ECAM地址空间访问;并在hypervisor实现一个ECAM空间地址转换表,将none root客户机BUS 0上ECAM地址转换成host主机上真实的PCIe设备的ECAM地址。实现none root客户机Linux在BUS 0上扫描到要隔离的PCIe设备。通过让PCIe设备工作在INTx中断模式下,使用armv8中断虚拟化机制,通过注入虚拟中断的方式,实现PCIe设备的中断隔离。从而,实现在armv8架构下,使用分区虚拟化工具,隔离PCIe物理设备。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明的主机上PCIe拓扑结构。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
本发明具体实施基于armv8硬件平台,外置Intel I210 PCIe网卡,Linux系统内核版本是4.19。具体实施如下:
S1:在Linux系统上安装Jailhouse分区虚拟化工具。
S2:启动Jailhouse分区虚拟化工具,将主机系统分隔为分别运行Linux系统的root客户机和none root客户机。
通过Jailhouse分区虚拟化工具实现分区虚拟化,将主机系统隔离为两个分区:root客户机和none root客户机,两个客户机均运行Linux系统,以便最后将主机上的PCIe网卡隔离到none root客户机上。也就是说,当Jailhouse工具执行后,将接管主机系统和硬件资源,然后将主机隔离成两个分区,一个是root客户机,一个none root客户机。root客户机上的Linux系统就是主机Linux系统执行jailhouse工具后的系统,而none root客户机则运行另外一个Linux系统。
已知的,PCIe采用的是树形拓扑结构,一般由root complex、switch、endpoint等类型的PCIe设备组成,其中:
root complex:根桥设备,是PCIe最重要的一个组成部件;主要负责PCIe报文的解析和生成。root complex接受来自CPU的IO指令,生成对应的PCIe TLP(Transaction LayerPacket)报文,或者接受来自设备的PCIe TLP报文,解析数据传输给CPU或者内存;
switch:PCIe转接器设备,用于扩展PCIe总线。switch中有一个上游端口和若干下游端口,每一个端口都相当于一个PCIe bridge;
endpoint:PCIe终端设备,是PCIe树形结构的叶子节点。比如网卡、显卡等。
在操作系统启动之前整个系统的PCIe拓扑结构是未知的,只有root complex内部总线是已知的,其命名为BUS 0,这是硬件编码在芯片当中的。为了得到整个系统的PCIe拓扑,Linux操作系统首先要对PCIe总线进行扫描来枚举该总线下连接的所有设备。所谓枚举,就是从root complex根桥开始进行探测和扫描,逐个“枚举”连接在第一条PCIe总线上的所有设备并记录在案。如果其中的某个设备是PCIe桥,则又进一步再探测和扫描连在这个桥上的次级PCIe总线。就这样递归下去,直到穷尽系统中的所有PCIe设备,即深度优先搜索。枚举结束后得到PCIe树形拓扑结构,以及每个PCIe设备的唯一标识BDF(bus、device、function)。
扫描BUS 0下的所有PCIe设备,就需要访问PCIe设备内部的配置空间,配置空间包含设备标识、能力等信息。ARM架构下使用ECAM方式访问PCIe配置空间,可以读取配置空间获取设备的信息,也可以通过配置空间来配置设备,每个PCIe设备配置空间大小为4kbytes。通ECAM地址空间基地址加上PCIe设备偏移就可以访问所有PCIe设备的配置空间。
S3:隔离root客户机,主机Linux系统获取PCIE ECAM地址空间,并将PCIe ECAM地址空间的基地址写到root客户机的配置文件中,以便生成新的root客户机的配置文件。
在本步骤中,设置root客户机PCIe ECAM空间,在主机Linux上通过cat /proc/iomem命令获取主机PCIe ECAM地址空间,将PCIe ECAM地址空间基地址写到root客户机配置文件中的pci_mmconfig_base配置项中。
S4:根据步骤S3中生成的新的root客户机的配置文件启动root客户机,将root客户机的PCIe ECAM地址空间映射到hypervisor中,并通过模拟MMIO中断的方式控制noneroot客户机PCIe ECAM地址空间的访问。
在本步骤中,root客户机启动后,将主机PCIe ECAM地址空间映射到hypervisor(虚拟机监控程序)中,并通过模拟MMIO(Memroy-mapped Input/Output)的方式控制noneroot 客户机PCIe ECAM地址空间的访问。这样,当有none root客户机访问ECAM地址空间时,由于ECAM地址空间没有映射到none root客户机,因此会触发同步异常,从而陷入hypervisor中,通过hypervisor建立的映射,进而访问host主机上真实的PCIe设备的配置空间。
S5:隔离none root客户机,修改none root客户机上运行的Linux系统的设备树文件,增加一条PCIe总线描述,使得PCIe总线具备与主机上一致的PCIe ECAM地址空间,生成新的none root客户机的配置文件。
修改none root客户机上运行的Linux系统的设备树文件,增加一条PCIe总线描述,使得设备树中有描述PCIe ECAM地址空间,并且设置和host 主机上一致的PCIe ECAM地址空间。none root客户机的Linux系统启动时按照设备树配置的ECAM地址空间枚举PCIe设备,此时陷入hypervisor中。
S6:在新的none root客户机的配置文件中增加PCIe设备描述,以便描述从主机上隔离的PCIe网卡设备。
在none root客户机配置文件中增加一个PCIe设备描述,来描述要从host主机上隔离的PCIe网卡设备,jailhouse将根据这些配置将PCIe设备隔离给none root客户机。其中一个重要的配置项是要隔离的PCIe网卡设备的BDF,可以在host主机的Linux系统上通过lspci命令获取。
S7:在hypervisor中增加ECAM空间地址转换表,以便将none root客户机Linux访问的第一个PCIe设备的ECAM地址转换成主机上真实的PCIe设备的ECAM地址。
通过host主机上PCIe拓扑结构可以看出(如图1所示),PCIe网卡没有挂接在BUS 0下,而是挂接在PCIe桥下。由于只隔离PCIe设备,没有隔离PCIe桥,所以在none root客户机的Linux系统枚举设备时只能从BUS 0上发现设备。这样就需要在hypervisor实现一个ECAM空间地址转换表(如图1所示),将none root客户机的Linux系统访问的第一个PCIe设备的ECAM地址空间转换成host主机上真实的PCIe设备的ECAM地址空间。由于none root客户机、host主机两个系统的PCIe设备的ECAM地址空间偏移不一样,因此通过配置的隔离设备的BDF就可以得到该偏移。这样在none root客户机的Linux系统就可以扫描到要隔离PCIe网卡设备,得到none root客户机上PCIe拓扑结构(如图1所示)。
S8:修改网卡驱动,使得网卡工作在INTx中断模式,并将修改后的网卡驱动放入none root客户机Linux系统的PCIe设备驱动中。具体的,在本实施例中,修改i210网卡中断工作模式(如上所述,本实施例是以外置Intel I210 PCIe网卡为说明的)。PCIe设备通过配置空间的MSI/MSI-X的Capability寄存器控制使能MSI/MSI-X中断,在i210网卡驱动中关闭MSI/MSI-X Capability的使能位,则网卡工作在INTx中断模式。重新编译网卡驱动,并放到none root客户机Linux系统的文件系统中。
通过armv8的中断虚拟化机制,armv8使用gic中断控制器,使能中断虚拟化后,所有物理中断被路由到hypervisor中,然后通过注入虚拟中断的方式,将中断转发到相应的CPU,实现将PCIe网卡使用的INTx中断隔离到none root客户机中。通过host主机的Linux系统的设备树文件可以看到PCIe设备使用的INTx中断,其默认使用INTA中断号,将该INTA中断号配置到none root客户机配置文件中。这样,none root客户机启动时,就可以收到PCIe设备的INTx中断。
另外,通过“1:1”的方式将host主机预留的物理内存映射给none root客户机,作为none root客户机系统内存,这样none root客户机的Linux系统的网卡驱动申请DMA内存的物理地址为host主机物理内存地址,这样PCIe 网卡发起DMA操作就可以直接访问系统物理内存。
S9:启动none root客户机。
启动none root客户机,Linux系统首先扫描到PCIe网卡设备,加载使用INTx中断的网卡驱动,这样网卡就可以正常工作,至此成功将主机上的PCIe网卡隔离到none root客户机上。
显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (5)

1.基于虚拟监控器实现Linux下PCIe物理设备隔离的方法,其特征在于,该方法应用于armv8架构下,包括以下步骤:
S1:在Linux系统上安装Jailhouse分区虚拟化工具;
S2:启动Jailhouse分区虚拟化工具,将主机系统分隔为分别运行Linux系统的root客户机和none root客户机;
S3:隔离root客户机,主机Linux系统获取PCIe ECAM地址空间,并将PCIe ECAM地址空间的基地址写到root客户机的配置文件中,以便生成新的root客户机的配置文件;
S4:根据步骤S3中生成的新的root客户机的配置文件启动root客户机,将root客户机的PCIe ECAM地址空间映射到hypervisor中,并通过模拟MMIO中断的方式控制none root客户机PCIe ECAM地址空间的访问;
S5:隔离none root客户机,修改none root客户机上运行的Linux系统的设备树文件,增加一条PCIe总线描述,使得PCIe总线具备与主机上一致的PCIe ECAM地址空间,生成新的none root客户机的配置文件;
S6:在新的none root客户机的配置文件中增加PCIe设备描述,以便描述从主机上隔离的PCIe网卡设备;
S7:在hypervisor中增加ECAM空间地址转换表,以便将none root客户机Linux访问的第一个PCIe设备的ECAM地址转换成主机上真实的PCIe设备的ECAM地址;
S8:修改网卡驱动,使得网卡工作在INTx中断模式,并将修改后的网卡驱动放入noneroot客户机Linux系统的PCIe设备驱动中;
S9:启动none root客户机。
2.根据权利要求1所述的基于虚拟监控器实现Linux下PCIe物理设备隔离的方法,其特征在于,在步骤S3中,主机Linux系统是通过cat /proc/iomem命令获取PCIe ECAM地址空间的,并将PCIe ECAM地址空间的基地址写到root客户机配置文件中的pci_mmconfig_base配置项中。
3.根据权利要求1所述的基于虚拟监控器实现Linux下PCIe物理设备隔离的方法,其特征在于,在步骤S6中,PCIe设备描述中包括要隔离的PCIe网卡设备的唯一标识BDF。
4.根据权利要求3所述的基于虚拟监控器实现Linux下PCIe物理设备隔离的方法,其特征在于,PCIe网卡设备的唯一标识BDF是从主机Linux系统上通过lspci命令获取的。
5.根据权利要求3所述的基于虚拟监控器实现Linux下PCIe物理设备隔离的方法,其特征在于,新的none root客户机的配置文件中还包括通过“1:1”的方式将主机预留的物理内存映射给none root客户机。
CN202310999954.7A 2023-08-10 2023-08-10 基于虚拟监控器实现Linux下PCIe物理设备隔离的方法 Active CN116719613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310999954.7A CN116719613B (zh) 2023-08-10 2023-08-10 基于虚拟监控器实现Linux下PCIe物理设备隔离的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310999954.7A CN116719613B (zh) 2023-08-10 2023-08-10 基于虚拟监控器实现Linux下PCIe物理设备隔离的方法

Publications (2)

Publication Number Publication Date
CN116719613A CN116719613A (zh) 2023-09-08
CN116719613B true CN116719613B (zh) 2023-10-31

Family

ID=87866490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310999954.7A Active CN116719613B (zh) 2023-08-10 2023-08-10 基于虚拟监控器实现Linux下PCIe物理设备隔离的方法

Country Status (1)

Country Link
CN (1) CN116719613B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117421096B (zh) * 2023-12-19 2024-04-05 麒麟软件有限公司 基于jailhouse虚拟机监控器SMMU使用方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599502A (zh) * 2022-10-17 2023-01-13 麒麟软件有限公司(Cn) 基于虚拟机监控器的rtos网络共享方法
CN115664892A (zh) * 2022-10-17 2023-01-31 麒麟软件有限公司 虚拟监控器下Linux虚拟网卡的实现方法
CN116204933A (zh) * 2023-05-05 2023-06-02 麒麟软件有限公司 一种ARM64架构下基于jailhouse隔离PCIe网卡的方法
CN116431293A (zh) * 2023-06-14 2023-07-14 麒麟软件有限公司 一种在jailhouse实现PCIE设备隔离的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613847B2 (en) * 2006-05-16 2009-11-03 Hewlett-Packard Development Company, L.P. Partially virtualizing an I/O device for use by virtual machines

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599502A (zh) * 2022-10-17 2023-01-13 麒麟软件有限公司(Cn) 基于虚拟机监控器的rtos网络共享方法
CN115664892A (zh) * 2022-10-17 2023-01-31 麒麟软件有限公司 虚拟监控器下Linux虚拟网卡的实现方法
CN116204933A (zh) * 2023-05-05 2023-06-02 麒麟软件有限公司 一种ARM64架构下基于jailhouse隔离PCIe网卡的方法
CN116431293A (zh) * 2023-06-14 2023-07-14 麒麟软件有限公司 一种在jailhouse实现PCIE设备隔离的方法

Also Published As

Publication number Publication date
CN116719613A (zh) 2023-09-08

Similar Documents

Publication Publication Date Title
JP5608243B2 (ja) 仮想化環境においてi/o処理を行う方法および装置
US8830228B2 (en) Techniques for enabling remote management of servers configured with graphics processors
TWI511048B (zh) 多主機上單根輸入/輸出虛擬化虛擬功能共享的方法及系統
US7890669B2 (en) Computer system for sharing I/O device
US7814496B2 (en) Method and system for replicating schedules with regard to a host controller for virtualization
US20170177854A1 (en) Method and Apparatus for On-Demand Isolated I/O Channels for Secure Applications
US8856781B2 (en) Method and apparatus for supporting assignment of devices of virtual machines
US20080147891A1 (en) I/o adapter lpar isolation in a hypertransport environment
US20080065854A1 (en) Method and apparatus for accessing physical memory belonging to virtual machines from a user level monitor
US8037210B2 (en) Computer and method for directly accessing computer hardware by virtual system
US20090265708A1 (en) Information Processing Apparatus and Method of Controlling Information Processing Apparatus
US9423958B2 (en) System and method for managing expansion read-only memory and management host thereof
CN116719613B (zh) 基于虚拟监控器实现Linux下PCIe物理设备隔离的方法
CN113312140B (zh) 用于虚拟可信平台模块的系统、存储介质和方法
US10318460B2 (en) UMA-aware root bus selection
JP2023545818A (ja) チップ・システム、仮想割り込み処理方法および対応する装置
US11922072B2 (en) System supporting virtualization of SR-IOV capable devices
CN116737322B (zh) 虚拟机同时支持PCIe虚拟设备和物理设备的方法
CN113312141B (zh) 用于卸载串行端口模拟的计算机系统、存储介质和方法
US10162787B1 (en) Multicore safe PCIe solution
CN112559120B (zh) 定制化pcie总线io虚拟化支撑方法
CN117421096B (zh) 基于jailhouse虚拟机监控器SMMU使用方法
JP2020173603A (ja) デバイス通信制御モジュールおよびデバイス通信制御方法
US20240143526A1 (en) Data processing unit with transparent root complex
CN117555832A (zh) 虚拟机直通PCIe设备的DMA中断配置方法、设备、产品和介质

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