摘要 |
<p>Direct memory access (DMA) is provided between input/output (I/O) devices and memory within virtual machine (VM) environments. A computing device includes an I/O device, an operating system (OS) running on a VM of the computing device, a device driver for the I/O device, a VM manager (VMM), I/O translation hardware, and a hardware abstraction component for the OS. The I/O translation hardware is for translating physical addresses of the computing device assigned to the OS to machine addresses of the I/O device. The hardware abstraction component and the VMM cooperatively interact to enable the device driver to initiate DMA between the I/O device and memory via the translation hardware. The OS may be unmodified to run on the VM of the computing device, except that the hardware abstraction component is particularly capable of cooperatively interacting with the VMM to enable the device driver to receive DMA from the I/O device.</p> |