-
公开(公告)号:US20230229609A1
公开(公告)日:2023-07-20
申请号:US17578290
申请日:2022-01-18
Applicant: VMware, Inc.
Inventor: Alexander Dean Gotsis , Jiajun Cao , Radu Rugina , James Eugene Chow , Srihari Venkatesan , Jeffrey W. Sheldon , Kalaiselvi Sengottuvel
CPC classification number: G06F13/28 , G06F9/45558 , G06F2009/4557
Abstract: Techniques for implementing IOMMU-based DMA tracking for enabling live migration of VMs that use passthrough physical devices are provided. In one set of embodiments, these techniques leverage an IOMMU feature known as dirty bit tracking which is available in most, if not all, modern IOMMU implementations. The use of this feature allows for the tracking of passthrough DMA in a manner that is device/vendor/driver agnostic, resulting in a solution that is universally applicable to all passthrough physical devices.
-
公开(公告)号:US20210209040A1
公开(公告)日:2021-07-08
申请号:US16817653
申请日:2020-03-13
Applicant: VMWARE, INC.
Inventor: Radu Rugina , Vivek Mohan Thampi
Abstract: A virtual machine (VM) has direct access to an I/O device having physical and virtual functions and a mailbox register, and includes a guest driver for controlling the virtual functions. The VM runs on system software that includes a physical driver for controlling the physical function (PF) and maintains VM page tables, which include an entry that references a memory space into which the mailbox register is mapped. The system software registers a callback function with the physical driver, which the physical driver invokes upon receiving a trigger for communication with the guest driver. In response, the system software alters the page tables so that access to the mailbox register causes a PF intercept, and the callback function handles the communication with the guest driver. After completion of the communication, the system software alters the page tables so that access to the mailbox register does not cause a PF intercept.
-
公开(公告)号:US10198299B1
公开(公告)日:2019-02-05
申请号:US15798365
申请日:2017-10-30
Applicant: VMware, Inc.
Inventor: Xin Xu , Bryan Tan , Wei Xu , Tao Ren , Radu Rugina , Vivek Mohan Thampi
Abstract: Techniques for enabling live migration of VMs with passthrough PCI devices are provided. In one set of embodiments, a hypervisor of a host system can create a copy of a DMA buffer used by a VM of the host system and a passthrough PCI device of the VM. The hypervisor can further designate one of the DMA buffer or the copy of the DMA buffer as a vCPU buffer that is accessible by the VM, and designate the other of the DMA buffer or the copy of the DMA buffer as a device buffer that is accessible by the passthrough PCI device. The hypervisor can then synchronize the vCPU buffer and the device buffer with each other as the VM and passthrough PCI device interact with their respective buffers, and as part of the synchronization can intercept DMA work requests submitted by the VM/completed by the passthrough PCI device.
-
公开(公告)号:US09678816B2
公开(公告)日:2017-06-13
申请号:US13848231
申请日:2013-03-21
Applicant: VMware, Inc.
Inventor: Radu Rugina , Vivek Mohan Thampi , Ricardo E. Gonzalez , Alok Kataria
CPC classification number: G06F11/0712 , G06F11/0793 , G06F11/36 , G06F11/3644
Abstract: Probes are employed to inject errors into code. In response to a function-entry trigger event, a probe writes a predefined test value to a return value register. The probe then cause function execution to be skipped such that the test value is returned in lieu of the value which would otherwise be returned by the function. Behavior after the error is injected may then be observed, data collected, etc. such that undesired behavior (e.g., crashes) can be identified and/or corrected. In an alternative embodiment, the probe which is triggered may write a test value to a given memory address.
-
公开(公告)号:US11586567B2
公开(公告)日:2023-02-21
申请号:US16817653
申请日:2020-03-13
Applicant: VMWARE, INC.
Inventor: Radu Rugina , Vivek Mohan Thampi
Abstract: A virtual machine (VM) has direct access to an I/O device having physical and virtual functions and a mailbox register, and includes a guest driver for controlling the virtual functions. The VM runs on system software that includes a physical driver for controlling the physical function (PF) and maintains VM page tables, which include an entry that references a memory space into which the mailbox register is mapped. The system software registers a callback function with the physical driver, which the physical driver invokes upon receiving a trigger for communication with the guest driver. In response, the system software alters the page tables so that access to the mailbox register causes a PF intercept, and the callback function handles the communication with the guest driver. After completion of the communication, the system software alters the page tables so that access to the mailbox register does not cause a PF intercept.
-
公开(公告)号:US20190146853A1
公开(公告)日:2019-05-16
申请号:US16223071
申请日:2018-12-17
Applicant: VMware, Inc.
Inventor: Xin Xu , Bryan Tan , Wei Xu , Tao Ren , Radu Rugina , Vivek Mohan Thampi
Abstract: Techniques for enabling live migration of VMs with passthrough PCI devices are provided. In one set of embodiments, a hypervisor of a host system can create a copy of a DMA buffer used by a VM of the host system and a passthrough PCI device of the VM. The hypervisor can further designate one of the DMA buffer or the copy of the DMA buffer as a vCPU buffer that is accessible by the VM, and designate the other of the DMA buffer or the copy of the DMA buffer as a device buffer that is accessible by the passthrough PCI device. The hypervisor can then synchronize the vCPU buffer and the device buffer with each other as the VM and passthrough PCI device interact with their respective buffers, and as part of the synchronization can intercept DMA work requests submitted by the VM/completed by the passthrough PCI device.
-
公开(公告)号:US10089126B2
公开(公告)日:2018-10-02
申请号:US13848191
申请日:2013-03-21
Applicant: VMware, Inc.
Inventor: Radu Rugina , Ricardo E. Gonzalez , Zheng He , Alok Kataria
Abstract: Function exits are instrumented in tail-call optimized code in which calls to target functions and return instructions are replaced by jump instructions. A probe engine identifies a tail-call jump and instruments the jumps to raise an exception. In response to an exception raised at the tail-call jump, an exception handler loads various registers and transferring control to a trampoline, which calls the jump target. After the target function returns, an exit probe is fired when the trampoline itself returns.
-
8.
公开(公告)号:US20140289726A1
公开(公告)日:2014-09-25
申请号:US13848191
申请日:2013-03-21
Applicant: VMWARE, INC.
Inventor: Radu Rugina , Ricardo E. Gonzalez , Zheng He , Alok Kataria
IPC: G06F9/455
CPC classification number: G06F9/45525 , G06F9/45545 , G06F9/4812 , G06F11/3409 , G06F11/3466 , G06F2201/815 , G06F2201/865
Abstract: Function exits are instrumented in tail-call optimized code in which calls to target functions and return instructions are replaced by jump instructions. A probe engine identifies a tail-call jump and instruments the jumps to raise an exception. In response to an exception raised at the tail-call jump, an exception handler loads various registers and transferring control to a trampoline, which calls the jump target. After the target function returns, an exit probe is fired when the trampoline itself returns.
Abstract translation: 功能出口被调用在尾调用优化代码中,其中对目标函数和返回指令的调用被跳转指令代替。 探针引擎识别尾部呼叫跳转并设置跳转以引发异常。 响应于尾部调用跳转引发的异常,异常处理程序加载各种寄存器并将控制传输到调用跳转目标的蹦床。 目标函数返回后,当蹦床本身返回时,将退出探针。
-
公开(公告)号:US11544097B2
公开(公告)日:2023-01-03
申请号:US16807188
申请日:2020-03-03
Applicant: VMWARE, INC.
Inventor: Radu Rugina , Vivek Mohan Thampi
Abstract: A method of migrating a virtual machine having a virtual device that is backed by direct passthrough hardware, from a source host to a destination host, includes the steps of determining whether or not the destination host has direct passthrough hardware that can back the virtual device, and upon determining that the destination host has direct passthrough hardware that can back the virtual device, determining if a version of the direct passthrough hardware at the source host matches a version of the direct passthrough hardware at the destination host. If the versions do not match, the steps further include quiescing the virtual device, deleting data structures relating to the virtual device, and then migrating the virtual machine from the source host to the destination host. If the versions match, the virtual machine is migrated without quiescing the virtual device and without deleting the data structures relating to the virtual device.
-
公开(公告)号:US11379385B2
公开(公告)日:2022-07-05
申请号:US15444350
申请日:2017-02-28
Applicant: VMWARE, INC.
Inventor: Alok Nemchand Kataria , Wei Xu , Radu Rugina , Jeffrey W. Sheldon , James S. Mattson , Rakesh Agarwal , David Dunn
Abstract: Mechanisms to protect the integrity of memory of a virtual machine are provided. The mechanisms involve utilizing certain capabilities of the hypervisor underlying the virtual machine to monitor writes to memory pages of the virtual machine. A guest integrity driver communicates with the hypervisor to request such functionality. Additional protections are provided for protecting the guest integrity driver and associated data, as well as for preventing use of these mechanisms by malicious software. These additional protections include an elevated execution mode, termed “integrity mode,” which can only be entered from a specified entry point, as well as protections on the memory pages that store the guest integrity driver and associated data.
-
-
-
-
-
-
-
-
-