Processor-architecture for facilitating a virtual machine monitor
First Claim
1. A computer processor that executes instructions and that supports virtual machine monitor operation and implementation, the computer processor comprising:
- a virtualization-mode processor state for execution of non-virtual-machine-monitor instructions;
a non-virtualization-mode processor state for execution of virtual machine monitor instructions; and
a virtualization-mode-switch instruction that switches the state the processor between virtualization-mode and non-virtualization-mode without incurring an interruption.
2 Assignments
0 Petitions
Accused Products
Abstract
Virtual-machine-monitor operation and implementation is facilitated by number of easily implemented features and extensions added to the features of a processor architecture. These features, one or more of which are used in various embodiments of the present invention, include a vmsw instruction that provides a means for transitioning between virtualization mode and non-virtualization mode without an interruption, a virtualization fault that faults on an attempt by a priority-0 routine in virtualization mode attempting to execute a privileged instruction, and a flexible highest-implemented-address mechanism to partition virtual address space into a virtualization address space and a non-virtualization address space.
303 Citations
19 Claims
-
1. A computer processor that executes instructions and that supports virtual machine monitor operation and implementation, the computer processor comprising:
-
a virtualization-mode processor state for execution of non-virtual-machine-monitor instructions;
a non-virtualization-mode processor state for execution of virtual machine monitor instructions; and
a virtualization-mode-switch instruction that switches the state the processor between virtualization-mode and non-virtualization-mode without incurring an interruption. - View Dependent Claims (2, 3)
-
-
4. A computer processor that executes instructions and that supports virtual machine monitor operation and implementation, the computer processor including:
-
a virtualization-mode processor state for execution of non-virtual-machine-monitor instructions;
a non-virtualization-mode processor state for execution of virtual machine monitor instructions; and
a virtualization fault invoked by the computer processor when a routine executing in virtualization mode at a highest privilege level attempts to execute an instruction needing virtualization. - View Dependent Claims (5, 6)
-
-
7. A computer processor that executes instructions and that supports virtual machine monitor operation and implementation, the computer processor including a virtualization-mode processor state for execution of non-virtual-machine-monitor instructions;
-
a non-virtualization-mode processor state for execution of virtual machine monitor instructions; and
a flexible highest-implemented-virtual-address bit that, in virtualization mode, is checked by the processor and reported by the virtual machine monitor to be less than the highest-implemented-virtual-address bit in non-virtualization mode, so that a high-order portion of virtual-address space is accessible only to a virtual machine monitor executing in non-virtualization mode.
-
-
8. A method for enhancing a computer processor to support virtual-machine-monitor operation and implementation, the method comprising:
to a computer processor that executes instructions and that provides registers, adding a virtualization-mode processor state for execution of non-virtual-machine-monitor instructions;
a non-virtualization-mode processor state for execution of virtual machine monitor instructions; and
a virtualization-mode-switch instruction that switches the state the processor between virtualization-mode and non-virtualization-mode without incurring an interruption. - View Dependent Claims (9, 10)
-
11. A method for enhancing a computer processor to support virtual-machine-monitor operation and implementation, the method comprising:
to a computer processor that executes instructions and that provides registers, adding a virtualization-mode processor state for execution of non-virtual-machine-monitor instructions;
a non-virtualization-mode processor state for execution of virtual machine monitor instructions;
a virtualization fault; and
a corresponding virtualization-fault handler that is invoked by the computer processor when a routine executing in virtualization mode at the highest privilege level attempts to execute an instruction that needs virtualization - View Dependent Claims (12, 13)
-
14. A method for enhancing a computer processor to support virtual-machine-monitor operation and implementation, the method comprising:
to a computer processor that executes instructions and that provides registers, adding a virtualization-mode processor state for execution of non-virtual-machine-monitor instructions;
a non-virtualization-mode processor state for execution of virtual machine monitor instructions; and
a flexible highest-implemented-virtual-address bit that, in virtualization mode, is checked by the processor and reported by the virtual machine monitor to be less than the highest-implemented-virtual-address bit in non-virtualization mode, so that a high-order portion of virtual-address space is accessible only to a virtual machine monitor executing in non-virtualization mode.
-
15. A method for supporting multiple, concurrent guest operating systems in a computer system, the method comprising:
-
providing a virtual-mode bit flag in a processor;
providing a vmsw instruction in the processor that changes the state of the virtualization-mode bit flag to enable a guest operating system to directly enter virtual-machine-monitor mode without incurring an interruption;
providing a virtualization fault with an interruption vector, assigned to have a relatively low interruption priority, that is generated when a routine, executing at high priority in virtualization mode, attempts to execute a privileged instruction or an instruction that needs software virtualization assistance and that is associated with a virtualization fault handler; and
providing a virtual-machine monitor that executes privileged instructions on behalf of guest operating systems and provides to each guest operating system a virtual machine interface, the virtual-machine monitor invoked by vmsw instructions or a virtualization fault. - View Dependent Claims (16, 17, 18, 19)
-
Specification