-
公开(公告)号:US12248799B2
公开(公告)日:2025-03-11
申请号:US17553607
申请日:2021-12-16
Applicant: VMware, Inc.
Inventor: Andrei Warkentin , Ye Li , Alexander Fainkichen , Regis Duchesne , Cyprien Laplace , Shruthi Muralidhara Hiriyuru , Sunil Kumar Kotian
IPC: G06F9/455
Abstract: An example method of managing guest time for a virtual machine (VM) supported by a hypervisor of a virtualized host computer includes: configuring, by the hypervisor, a central processing unit (CPU) of the host computer to trap, to the hypervisor, access by guest code in the VM to a physical counter and timer of the CPU; configuring, by the hypervisor, the guest code in the VM to use the physical counter and timer of the CPU rather than a virtual counter and timer of the CPU; trapping, at the hypervisor, an access to the physical counter and timer by the guest code; and executing, by the hypervisor, the access to the physical counter and timer on behalf of the guest code while compensating for an adjustment of a system count of the physical counter and timer to maintain the guest time as scaled with respect to frequency of the physical counter and timer.
-
公开(公告)号:US12182602B2
公开(公告)日:2024-12-31
申请号:US17704040
申请日:2022-03-25
Applicant: VMWARE, INC.
Inventor: Andrei Warkentin , Karthik Ramachandra , Timothy P. Mann , Jared Mcneill , Sunil Kotian , Cyprien Laplace , David A Dunn
IPC: G06F9/455
Abstract: Disclosed are various examples of provisioning a data processing unit (DPU) management operating system using a capsule. A management hypervisor installer executed on a host device receives a listing DPU device from a baseboard management controller (BMC). A preinstalled DPU management operating system image is identified for a DPU device from the listing, and is wrapped with a capsule that specifies the capsule as a DPU management operating system image capsule. A server component provides the DPU management operating system image capsule at a particular URI, and the URI is transmitted to the BMC.
-
公开(公告)号:US20230325203A1
公开(公告)日:2023-10-12
申请号:US17715288
申请日:2022-04-07
Applicant: VMware, Inc.
Inventor: Andrei Warkentin , Sunil Kotian
IPC: G06F9/4401
CPC classification number: G06F9/4416 , G06F9/4406
Abstract: Disclosed are various examples of provisioning a data processing unit (DPU) management operating system (OS). A host device boots a host provisioning image, which executes a host provisioning agent. The host provisioning agent launches a server component that serves a DPU management OS. A provisioning command is transmitted to a DPU device installed to the host device. The server component transmits the DPU management OS from the host device to the DPU device. A host OS is executed once an indication that the DPU device is executing on the DPU management OS is received.
-
公开(公告)号:US20230229602A1
公开(公告)日:2023-07-20
申请号:US17577584
申请日:2022-01-18
Applicant: VMware, Inc.
Inventor: Srihari Venkatesan , Sunil Kotian , Andrei Warkentin , Kalaiselvi Sengottuvel
IPC: G06F12/14 , G06F12/109 , G06F12/02 , G06F13/42 , G06F9/455
CPC classification number: G06F12/145 , G06F12/1433 , G06F12/109 , G06F12/0238 , G06F13/4221 , G06F9/45558 , G06F2009/45583 , G06F2009/45587
Abstract: Disclosed are various embodiments for various approaches for implementing trust domains to provide boundaries between PCIe devices connected to the same PCIe switch. A first trust identifier can be assigned to a first virtual machine hosted by the computing device. The first trust identifier can also be assigned to a first PCIe device assigned to the first virtual machine. Later, it can be determined that a second PCIe device connected to the PCIe switch is assigned a second trust identifier assigned to a second virtual machine. An Address Control Services (ACS) direct translated bit for peer-to-peer memory requests in the PCIe switch can be disabled in response to a determination that the second PCIe device is associated with the second trust identifier assigned to the second virtual machine.
-
公开(公告)号:US20230229558A1
公开(公告)日:2023-07-20
申请号:US17577714
申请日:2022-01-18
Applicant: VMware, Inc.
Inventor: Andrei Warkentin , Jared McNeill , Sunil Kotian , Alexander Fainkichen , Shruthi Hiriyuru
CPC classification number: G06F11/1417 , G06F11/1484 , G06F11/1441 , G06F11/0757 , G06F9/45541
Abstract: Boot failure protection on smartNICs and other computing devices is described. During a power-on stage of a booting process for a computing device, a boot loading environment is directed to install an application programming interface (API) able to be invoked to control operation of a hardware-implemented watchdog. During an operating system loading stage of the booting process, the application programming interface is invoked to enable the hardware-implemented watchdog. During an operating system hand-off stage of the booting process, a last watchdog refresh of the hardware-implemented watchdog is performed, and execution of the boot loading environment is handed off to a kernel boot loader of an operating system. The application programming interface may not be accessible after the hand off to the kernel boot loader.
-
6.
公开(公告)号:US11263019B2
公开(公告)日:2022-03-01
申请号:US16521434
申请日:2019-07-24
Applicant: VMware, Inc.
Inventor: Andrei Warkentin , Cyprien Laplace , Ye Li , Alexander Fainkichen , Regis Duchesne
IPC: G06F15/177 , G06F9/00 , G06F9/4401 , G06F16/22
Abstract: A method for generating boot tables for a device having access to device information. It is determined whether there exists at least one system boot table stored in a memory. If it is determined that a system boot table does not exist, the device information is retrieved, and the device information is converted to at least one boot table. The converting includes generating a first boot table by populating the first boot table with information of components of the device that have a correspondence to a computer system boot information standard. The generating also includes generating a second boot table for another component of the device that does not have a correspondence to the computer system boot information standard, by creating an entry in the second boot table that is populated with an identifier used to find a compatible component defined in the computer system boot standard.
-
公开(公告)号:US10698783B2
公开(公告)日:2020-06-30
申请号:US15865770
申请日:2018-01-09
Applicant: VMware, Inc.
Inventor: Andrei Warkentin , Cyprien Laplace , Regis Duchesne , Ye Li , Alexander Fainkichen
Abstract: A method of detecting virtualization in a computing system, which includes a processor having at least three hierarchical privilege levels including a third privilege level more privileged than a second privilege level, the second privilege level more privileged than a first privilege level, is described. The method includes: executing a program on the processor at a privilege level less privileged than the third privilege level, the program including a load-exclusive instruction of the processor, followed by at least one instruction of the processor capable of being trapped to the third privilege level, followed by a store-exclusive instruction of the processor; and determining presence or absence of virtualization software at least a portion of which executes at the third privilege level in response to a return status of the store-exclusive instruction.
-
公开(公告)号:US10379870B2
公开(公告)日:2019-08-13
申请号:US15644670
申请日:2017-07-07
Applicant: VMware, Inc.
Inventor: Andrei Warkentin , Cyprien Laplace , Regis Duchesne , Alexander Fainkichen , Ye Li
IPC: G06F9/44 , G06F9/4401 , G06F3/06 , G06F12/1009 , G06F9/38 , G06F12/121 , G06F12/1027
Abstract: A method of initializing a secondary processor pursuant to a soft reboot of system software comprises storing code to be executed by the secondary processor in memory, building first page tables to map the code into a first address space and second page tables to identically map the code into a second address space, fetching a first instruction of the code based on a first virtual address in the first address space and the first page tables, and executing the code beginning with the first instruction to switch from the first to the second page tables. The method further comprises, fetching a next instruction of the code using a second virtual address, which is identically mapped to a corresponding machine address, turning off a memory management unit of the secondary processor, and executing a waiting loop until a predetermined location in the physical memory changes in value.
-
公开(公告)号:US10185571B2
公开(公告)日:2019-01-22
申请号:US15618010
申请日:2017-06-08
Applicant: VMware, Inc.
Inventor: Andrei Warkentin , Timothy P. Mann , Alexander Fainkichen
IPC: G06F12/00 , G06F13/00 , G06F9/4401 , G06F12/109 , G06F11/22 , G06F11/27 , G06F9/455
Abstract: A method of re-mapping memory regions for firmware run-time services to a virtual address space of a kernel executed on a processor, includes the steps of selecting a re-mapping policy for re-mapping the memory regions for the firmware run-time services, creating a new mapping according to the selected re-mapping policy, and making a call to an application programming interface exposed by the firmware to apply the new map and re-map the memory regions for the firmware to the virtual address space of the kernel.
-
公开(公告)号:US10019275B2
公开(公告)日:2018-07-10
申请号:US14312175
申请日:2014-06-23
Applicant: VMware, Inc.
Inventor: Harvey Tuch , Andrei Warkentin
CPC classification number: G06F9/45558 , G06F9/461 , G06F9/48 , G06F9/4843 , G06F2009/45587
Abstract: In a virtualized computer system operable in more than two hierarchical privilege levels, components of a hypervisor, which include a virtual machine kernel and virtual machine monitors (VMMs), are assigned to different privilege levels. The virtual machine kernel operates at a low privilege level to be able to exploit certain features provided by the low privilege level, and the VMMs operate at a high privilege level to support execution of virtual machines. Upon determining that a context switch from the virtual machine kernel to a VMM is to be performed, the computer system exits the low privilege level, and enters the high privilege level to execute a trampoline that supports context switches to VMMs, such as state changes, and then the VMM. The trampoline is deactivated after execution control is switched to the VMM.
-
-
-
-
-
-
-
-
-