发明名称 Virtual device emulation via hypervisor shared memory
摘要 Systems and methods for optimizing operation of a physical device in a virtualized computing environment are provided. The method comprises monitoring instructions issued by an application running on a virtual machine's (VM) operating system, wherein the VM is hosted by a hypervisor providing access to a physical device connected to a virtualized computing environment; wherein a device driver supported by the operating system issues one or more instructions to an emulated device supported by the hypervisor to control the physical device according to the issued instructions, wherein the emulated device's registers are implemented in memory of the hypervisor and the instructions issued by the device driver are stored in said registers, wherein the hypervisor handles the instructions, in response to learning that the instructions are stored in said registers.
申请公布号 US9529615(B2) 申请公布日期 2016.12.27
申请号 US201012953483 申请日期 2010.11.24
申请人 International Business Machines Corporation 发明人 Yehuda Shmuel Ben;Borovik Eran;Factor Michael E.;Machulsky Zorik;Meth Kalman Zvi;Traeger Avishay;Yassour Ben-Ami
分类号 G06F9/455 主分类号 G06F9/455
代理机构 代理人
主权项 1. A computer-implemented method for optimizing operation of a physical device in a virtualized computing environment, comprising: executing a hypervisor hosting a virtual machine; running an application, via a first execution thread, on an operating system of the virtual machine; issuing, by a device driver supported by the operating system and responsive to instructions from the application, control instructions to an emulated device, wherein the hypervisor and the device driver have a shared memory area, the control instructions issued from the device driver are written to the shared memory area, and the emulated device is an interface between the device driver and the physical device; monitoring, by a second execution thread of the virtual machine, the shared memory to detect data written by the device driver, the second execution thread to update a register value based on the written data to prevent a switch in control of a central processing unit (CPU) from the virtual machine to the hypervisor; reserving areas of the CPU's addressable space for I/O operations; and monitoring, by the physical device, the CPU's address bus and responding to the CPU's access of device-assigned address space.
地址 Armonk NY US