本技术公开了跨总线域的设备对宿主机空间DMA访问方法及相关设备,涉及设备虚拟技术领域。本发明通过连接桥连接设备出借方和设备借用方二者的总线域,并由设备出借方中连接桥对应的端设备维护一个地址空间作为第一DMA窗口,以及由设备借用方的连接桥驱动维护一个地址空间作为第二DMA窗口,通过这两个DMA窗口转发被虚拟设备对设备借用方的DMA访问请求。并在设备借用方的IOMMU中设置地址映射,通过IOMMU对连接桥传送的DMA访问请求进行地址转换,使得地址转换后的DMA访问请求可以指向DMA缓存的物理内存地址,从而实现跨总线域的设备对宿主机空间的DMA访问。
背景技术
高速串行计算机扩展总线标准(PCI-Express,PCIe)的设备虚拟通常是在一个PCIe总线域下,虚拟机环境中模拟和管理物理PCIe设备的过程。虚拟化PCIe设备可以让虚拟机访问和使用这些设备。DMA(Direct Memory Aaccess)直接内存访问技术,是一种不通过CPU的干涉直接将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输方式。现有技术中设备虚拟方法和DMA的应用场景局限于单一PCIe总线域/单个系统,无法实现跨总线域的设备对宿主机空间DMA访问。
因此,现有技术还有待改进和发展。
实现思路