发明名称 计算机虚拟化系统的PCI设备INTx中断投递方法
摘要 本发明公开了一种计算机虚拟化系统的PCI设备INTx中断投递方法,实施步骤如下:生成内部设备中断信息记录,对每一个设备初始化数据变量记录;虚拟机启动后根据所述内部设备中断信息记录获取具有直接访问权限的设备,针对设备注册中断号以及中断号处理例程,并向虚拟机监控器请求填写本虚拟机具有直接访问权限的设备的中断使能和中断目标;虚拟机监控器接收设备的当前INTx中断请求,将当前INTx中断请求投递给设备匹配数据变量记录的中断目标虚拟机。本发明具有支持虚拟机直接IO技术,不对除目标虚拟机外的其它虚拟机产生副作用,安全性和隔离性好、中断性能高、应用兼容性好、开销小、不需要额外的硬件机制支持的优点。
申请公布号 CN103984591B 申请公布日期 2015.04.29
申请号 CN201410205359.2 申请日期 2014.05.15
申请人 中国人民解放军国防科学技术大学 发明人 戴华东;董攀;陈松政;刘晓建;易晓东;王伟;魏立峰;黄辰林;邵立松
分类号 G06F9/46(2006.01)I;G06F9/455(2006.01)I 主分类号 G06F9/46(2006.01)I
代理机构 湖南兆弘专利事务所 43008 代理人 赵洪;谭武艺
主权项 一种计算机虚拟化系统的PCI设备INTx中断投递方法,其特征在于实施步骤如下:1)为虚拟机监控器生成用于指定具有各个设备对应直接访问权限的虚拟机信息的内部设备中断信息记录,并针对每一个设备初始化一个用于存储设备中断使能值、中断目标虚拟机和中断请求信息的数据变量记录;2)虚拟机启动后根据所述内部设备中断信息记录获取本虚拟机具有直接访问权限的设备,针对所述本虚拟机具有直接访问权限的设备向操作系统注册中断号以及中断号处理例程,使能所述本虚拟机具有直接访问权限的设备的设备中断并向虚拟机监控器请求填写本虚拟机具有直接访问权限的各个设备的中断使能和中断目标;所述虚拟机监控器根据各个虚拟机的请求填写各个设备的设备中断使能值和中断目标虚拟机;3)虚拟机监控器接收设备的当前INTx中断请求,如果发起当前INTx中断请求的设备对应数据变量记录的设备中断使能值为使能,则将当前INTx中断请求投递给设备对应数据变量记录中记录的中断目标虚拟机,通过中断目标虚拟机来直接处理当前INTx中断请求;所述步骤1)的详细步骤如下:1.1)对PCIE控制单元所连的PCIE总线进行标准PCI软件扫描配置,获取各个设备的设备名称、总线号、中断状态寄存器地址;1.2)虚拟机监控器根据所述各个设备的设备名称、总线号、中断状态寄存器地址生成各个设备的内部设备中断信息记录,并将所述内部设备中断信息记录写入虚拟机监控器的配置文件中;所述内部设备中断信息记录包括中断信息结点名称、具有设备直接访问权限的虚拟机、设备名称、总线号、设备号、中断寄存器地址、中断寄存器特征值;1.3)虚拟机监控器针对每一个设备初始化一个用于存储设备中断使能值、中断目标虚拟机和中断请求信息的数据变量记录,所述数据变量记录为以总线号和设备号作为索引的数据结构体,所述数据结构体的信息字段包括设备中断使能值、中断目标虚拟机和中断请求信息,所述中断请求信息包括中断寄存器地址和中断寄存器特征值,其中设备中断使能值默认为非使能,中断目标虚拟机默认为空;1.4)虚拟机监控器构建并提供用于为数据结构体的设备中断使能值、中断目标虚拟机进行填充赋值操作的填充调用接口。
地址 410073 湖南省长沙市砚瓦池正街47号中国人民解放军国防科学技术大学计算机学院