Patent ID: 8001543
Filing Date: 2011-08-16
Classification: G06F

Abstract:
1. A computing device comprising: an input/output (I/O) device; a guest operating system (OS) running on a virtual machine (VM) of the computing device; a device driver for the I/O device running on the VM; a VM manager (VMM) running on the computing device; I/O translation hardware that is part of the computing device and that is separate from both the VMM and the I/O device, the I/O translation hardware to translate physical addresses of the computing device assigned to the OS to machine address of the I/O device; and, a hardware abstraction component for the OS, the hardware abstraction component running on the VM, the hardware abstraction component and the VMM cooperatively interacting to enable the device driver to receive direct-memory access (DMA) from the I/O device via the I/O translation hardware, such that neither the hardware abstraction component nor the VMM alone enable the device driver to receive the DMA from the I/O device via the I/O translation hardware, wherein the OS is unmodified to run on the VM of the computing device except for the hardware abstraction component being capable of cooperatively interacting with the VMM to enable the device driver to have DMA from the I/O device.