ENABLING EFFICIENT NESTED VIRTUALIZATION
First Claim
1. A method comprising:
- executing a first virtual machine monitor (VMM) to virtualize system hardware;
executing an upper level VMM via a virtual machine (VM) to create a nested virtualization environment;
trapping a privileged instruction issued from an upper level OS via the upper level VMM;
copying an VM execution context from the upper level VMM to a lower level VMM; and
emulating the privileged instruction via the lower level VMM, the lower level VMM to receive an indication of the trapped privileged instruction from one of a physical processor of the system hardware or a parent VMM hosting the lower level VMM.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments of the invention enable dynamic level boosting of operations across virtualization layers to enable efficient nested virtualization. Embodiments of the invention execute a first virtual machine monitor (VMM) to virtualize system hardware. A nested virtualization environment is created by executing a plurality of upper level VMMs via virtual machines (VMs). These upper level VMMs are used to execute an upper level virtualization layer including an operating system (OS).
During operation of the above described nested virtualization environment, a privileged instruction issued from an OS is trapped and emulated via the respective upper level VMM (i.e., the VMM that creates the VM for that OS). Embodiments of the invention enable the emulation of the privileged instruction via a lower level VMM. In some embodiments, the emulated instruction is executed via the first VMM with little to no involvement of any intermediate virtualization layers residing between the first and upper level VMMs.
53 Citations
21 Claims
-
1. A method comprising:
-
executing a first virtual machine monitor (VMM) to virtualize system hardware; executing an upper level VMM via a virtual machine (VM) to create a nested virtualization environment; trapping a privileged instruction issued from an upper level OS via the upper level VMM; copying an VM execution context from the upper level VMM to a lower level VMM; and emulating the privileged instruction via the lower level VMM, the lower level VMM to receive an indication of the trapped privileged instruction from one of a physical processor of the system hardware or a parent VMM hosting the lower level VMM. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium including instructions that, when executed by a processor, cause the processor to perform a method comprising:
-
executing a first virtual machine monitor (VMM) to virtualize system hardware; executing an upper level VMM via a virtual machine (VM) to create a nested virtualization environment; trapping a privileged instruction issued from an upper level OS via the upper level VMM; copying an execution context from the upper level VMM to a lower level VMM; and emulating the privileged instruction via the lower level VMM, the lower level VMM to receive an indication of the trapped privileged instruction from one of a physical processor of the system hardware or a parent VMM hosting the lower level VMM. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
platform hardware including a processor and a memory; a root mode virtual machine monitor (VMM) to present virtualized platform hardware to one or more virtualization layers; and a non-root mode VMM executed via a virtual machine (VM); wherein the non-root mode VMM to further trap a privileged instruction issued from an upper level OS, and copy an execution context to a lower level VMM; and wherein the lower level VMM to further receive an indication of the trapped privileged instruction from one of the processor of the platform hardware or a parent VMM hosting the lower level VMM, reconstruct the execution context based on the copied execution context, and emulate the privileged instruction. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification