一种在jailhouse实现PCIE设备隔离的方法与流程

文档序号:34818368发布日期:2023-07-19 21:08阅读:104来源:国知局

本发明涉及pcie设备领域,具体涉及一种在jailhouse实现pcie设备隔离的方法。


背景技术:

1、jailhouse是用于实现设备隔离的虚拟化软件,是一个基于hypervisor虚拟化技术的linux静态分区管理程序,其可以运行linux、裸机程序或rtos程序。jailhouse使用cell单元节点来配置cpu和设备硬件平台的虚拟化功能,且各个节点分配的资源互不干扰。host os作为root cell,guest os作为inmate cell,一旦jailhouse被启动,在inmate空间就会运行相应的程序,也就是说在linux端分配了相关的硬件资源给inmate,它完全可以独立控制硬件且不再需要外部系统的支持。

2、pci express(pcie)标准的出现是为了满足网络设备对更高带宽、更大灵活性和更好性能的需求。pcie在首次亮相后已经得到充分开发并广泛应用于许多网络设备。pcie卡是指一种具有pcie接口的网络适配器,在主板级连接中用作扩展卡接口。pci-e与 pci-x、pci是具有不同设计和拓扑的三个版本的网络适配器,最新的pcie卡已经进行了改进,成为选择网卡时的必然趋势。

3、jailhouse可以对pcie设备进行物理隔离,也就是说可以把pcie设备当作一种资源分配给各个虚拟机使用。现有的jailhouse设计框架决定了在arm或arm64架构cpu隔离pcie设备不可行,主要存在的问题是pcie总线初始化和gic初始化在jailhouse root cell完成,在jailhouse inmate cell拿不到pcie总线和gic资源,hypervisor(管理程序)无法把msi、msix中断注入到相应inmate cell。


技术实现思路

1、本发明的主要目的是针对基于jailhouse现有框架无法把pcie设备隔离给arm/arm64架构cpu inmate cell这一问题,提出一种把pcie root complex隔离给inmate cell的方法,从而实现pcie设备的隔离。

2、为了完成上述目的,本发明提供了一种在jailhouse实现pcie设备隔离的方法,方法包括:

3、修改host os设备树文件,防止host os初始化pcie总线和gic-its;

4、修改host os在jailhouse中的配置文件,在jailhouse hypervisor层会对pcie和gic-its进行资源分配,以供guest os来使用;

5、修改guest os设备树文件,使得所有pcie和gic-its相关的初始化过程都由guestos来完成;

6、修改guest os在jailhouse中的配置文件,以便jailhouse初始化guest os资源;

7、在jailhouse hypervisor层增加对gicr_pendbaser寄存器访问权限,用以保证guest os中的避免pcie设备的msi/msix中断能够频繁访问到gicr_pendbaser寄存器资源。

8、优选的,方法包括:

9、修改host os设备树文件,去除pcie总线描述节点和gic-its描述节点;

10、修改host os在jailhouse中的配置文件,增加pcie和gic-its相关内存段的描述;

11、修改guest os设备树文件,增加pcie总线描述节点和gic-its描述节点;

12、修改guest os在jailhouse中的配置文件,增加pcie和gic-its相关内存段;

13、在jailhouse hypervisor层增加对gicr_pendbaser寄存器访问权限,用以保证guest os中的pcie设备msi/msix中断能够访问到gicr_pendbaser寄存器资源。

14、进一步优选的,host os中的gic-its在jailhouse中的资源包括gic its地址空间大小、jailhouse访问gic-its内存的权限、gic-its的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问gic-its内存的权限包括读权限、写权限和输入输出权限。

15、更进一步优选的,host os中的pcie在jailhouse中的资源包括:

16、pcie ecam资源、pcie io资源、pcie mem32资源和pcie mem64资源,其中,

17、pcie ecam资源包括pcie ecam地址空间大小、jailhouse访问pcie ecam的权限、pcie ecam的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问pcie ecam的权限包括读权限、写权限和输入输出权限;

18、pcie io资源包括pcie io地址空间大小、jailhouse访问pcie ecam的权限、pcieio的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问pcie io的权限包括读权限、写权限和输入输出权限;

19、pcie mem32资源包括pcie mem32地址空间大小、jailhouse访问pcie mem32的权限、pcie mem32的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问pcie mem32的权限包括读权限、写权限和输入输出权限;

20、pcie mem64资源包括pcie mem64地址空间大小、jailhouse访问pcie mem64的权限、pcie mem64的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问pcie mem64的权限包括读权限、写权限和输入输出权限。

21、更进一步优选的,guest os中的pcie在jailhouse中的资源包括:

22、pcie ecam资源、pcie io资源、pcie mem32资源和pcie mem64资源,其中,

23、pcie ecam资源包括pcie ecam地址空间大小、jailhouse访问pcie ecam的权限、pcie ecam的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问pcie ecam的权限包括读权限、写权限和输入输出权限;

24、pcie io资源包括pcie io地址空间大小、jailhouse访问pcie ecam的权限、pcieio的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问pcie io的权限包括读权限、写权限和输入输出权限;

25、pcie mem32资源包括pcie mem32地址空间大小、jailhouse访问pcie mem32的权限、pcie mem32的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问pcie mem32的权限包括读权限、写权限和输入输出权限;

26、pcie mem64资源包括pcie mem64地址空间大小、jailhouse访问pcie mem64的权限、pcie mem64的物理地址和虚拟地址,其中,物理地址和虚拟地址两者在jailhouse中采取线性映射;jailhouse访问pcie mem64的权限包括读权限、写权限和输入输出权限。

27、更进一步优选的,pcie总线描述节点和gic-its描述节点均为linux设备树源文件中的标准格式代码。

28、本发明的有益效果为:

29、本发明通过把pcie root complex隔离给guest os的方法,解决了jailhousehypervisor不能把msi/msix中断注入给guest os的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1