Invalidating translation lookaside buffer entries in a virtual machine (VM) system
First Claim
1. An apparatus comprising:
- a hardware managed stack to hold a plurality of virtual machine extension (VMX) mask word values corresponding to a plurality of virtual machines (VMs), wherein a current VMX mask word value of the plurality of VMX mask word values, which corresponds to a current VM of the plurality of VMs, is to be utilized to mask access by the current VM to a VMX control word; and
a translation lookaside buffer (TLB) having a plurality of TLB entries, wherein a TLB entry of the plurality of TLB entries is to be associated with a virtual machine extension (VMX) tag word, and invalidation logic to determine the TLB entry is to be invalidated responsive to a comparison of the VMX tag word and the VMX control word indicating the TLB entry is to be invalidated in response to an invalidation operation being performed.
0 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention is a technique to invalidate entries in a translation lookaside buffer (TLB). A TLB in a processor has a plurality of TLB entries. Each TLB entry is associated with a virtual machine extension (VMX) tag word indicating if the associated TLB entry is invalidated according to a processor mode when an invalidation operation is performed. The processor mode is one of execution in a virtual machine (VM) and execution not in a virtual machine. The invalidation operation belongs to a non-empty set of invalidation operations composed of a union of (1) a possibly empty set of operations that invalidate a variable number of TLB entries, (2) a possibly empty set of operations that invalidate exactly one TLB entry, (3) a possibly empty set of operations that invalidate the plurality of TLB entries, (4) a possibly empty set of operations that enable and disable use of virtual memory, and (5) a possibly empty set of operations that configure physical address size, page size or other virtual memory system behavior in a manner that changes the manner in which a physical machine interprets the TLB entries.
-
Citations
26 Claims
-
1. An apparatus comprising:
- a hardware managed stack to hold a plurality of virtual machine extension (VMX) mask word values corresponding to a plurality of virtual machines (VMs), wherein a current VMX mask word value of the plurality of VMX mask word values, which corresponds to a current VM of the plurality of VMs, is to be utilized to mask access by the current VM to a VMX control word; and
a translation lookaside buffer (TLB) having a plurality of TLB entries, wherein a TLB entry of the plurality of TLB entries is to be associated with a virtual machine extension (VMX) tag word, and invalidation logic to determine the TLB entry is to be invalidated responsive to a comparison of the VMX tag word and the VMX control word indicating the TLB entry is to be invalidated in response to an invalidation operation being performed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
- a hardware managed stack to hold a plurality of virtual machine extension (VMX) mask word values corresponding to a plurality of virtual machines (VMs), wherein a current VMX mask word value of the plurality of VMX mask word values, which corresponds to a current VM of the plurality of VMs, is to be utilized to mask access by the current VM to a VMX control word; and
-
12. A processor comprising:
-
a virtual machine extension (VMX) mask word to mask access to VMX control (TLBVMX) word during a VMX mode of operation; a translation lookaside buffer (TLB) having a plurality of TLB entries, each TLB entry being associated with a virtual machine extension (VMX) tag word; and invalidation logic, in response to an invalidation operation during the VMX mode of operation, to invalidate each TLB entry being associated with a VMX tag word that matches the TLBVMX word. - View Dependent Claims (13, 14, 15, 16)
-
-
17. An apparatus comprising:
-
execution resources to execute a first virtual machine (VM) during a virtual machine extensions (VMX) mode of execution; a control field to hold a current VM value, the current VM value to include a first VM value during execution of the first VM; a mask field to provide masked access for at least the first VM to the control field; and a translation lookaside buffer (TLB) including a plurality of TLB entries, wherein a first TLB entry of the plurality of TLB entries is to be associated with a first virtual machine extension (VMX) tag field and a second TLB entry of the plurality of TLB entries is to be associated with a second VMX tag field, the first VMX tag field to hold a first value to indicate the first TLB entry is associated with the first VM and the second VMX tag field to hold a second value to indicate the second TLB entry is associated with a second VM, and wherein, in response to an invalidation operation, the first TLB entry is determined to be invalidated based on the first value held in the first VMX tag field and the current value held in the control field. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification