Processor extensions to identify and avoid tracking conflicts between virtual machine monitor and guest virtual machine
First Claim
1. A processing system, comprising:
- an execution unit, communicatively coupled to an architecturally-protected memory comprising a secure page cache, the execution unit comprising a logic circuit to execute a virtual machine monitor (VMM) that supports a virtual machine (VM) comprising a guest operating system (OS) and to implement an architecturally-protected execution environment,wherein the logic circuit is to;
responsive to executing a blocking instruction by the guest OS directed at a first page stored in the architecturally-protected memory during a first time period identified by a value stored in a first counter, copy the value from the first counter to a second counter;
responsive to executing a first tracking instruction issued by the VMM, increment the value stored in the first counter; and
responsive to receiving a request to execute a second tracking instruction issued by the guest OS directed to a second page stored in the architecturally-protected memory and responsive to determining that the value stored in the first counter is greater than the value stored in the second counter, set a flag to indicate successful execution of the second tracking instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
A processing system includes an execution unit, communicatively coupled to an architecturally-protected memory, the execution unit comprising a logic circuit to execute a virtual machine monitor (VMM) that supports a virtual machine (VM) comprising a guest operating system (OS) and to implement an architecturally-protected execution environment, wherein the logic circuit is to responsive to executing a blocking instruction by the guest OS directed at a first page stored in the architecturally-protected memory during a first time period identified by a value stored in a first counter, copy the value from the first counter to a second counter, responsive to executing a first tracking instruction issued by the VMM, increment the value stored in the first counter, and set a flag to indicate successful execution of the second tracking instruction.
-
Citations
18 Claims
-
1. A processing system, comprising:
-
an execution unit, communicatively coupled to an architecturally-protected memory comprising a secure page cache, the execution unit comprising a logic circuit to execute a virtual machine monitor (VMM) that supports a virtual machine (VM) comprising a guest operating system (OS) and to implement an architecturally-protected execution environment, wherein the logic circuit is to; responsive to executing a blocking instruction by the guest OS directed at a first page stored in the architecturally-protected memory during a first time period identified by a value stored in a first counter, copy the value from the first counter to a second counter; responsive to executing a first tracking instruction issued by the VMM, increment the value stored in the first counter; and responsive to receiving a request to execute a second tracking instruction issued by the guest OS directed to a second page stored in the architecturally-protected memory and responsive to determining that the value stored in the first counter is greater than the value stored in the second counter, set a flag to indicate successful execution of the second tracking instruction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system-on-a-chip (SoC) comprising:
-
an architecturally-protected memory; and an execution unit, communicatively coupled to the architecturally-protected memory comprising a secure page cache, the execution unit comprising a logic circuit to execute a virtual machine monitor (VMM) that supports a virtual machine (VM) comprising a guest operating system (OS) and to implement an architecturally-protected execution environment, wherein the logic circuit is to; responsive to executing a blocking instruction by the guest OS directed at a first page stored in the architecturally-protected memory during a first time period identified by a value stored in a first counter, copy the value from the first counter to a second counter; responsive to executing a first tracking instruction issued by the VMM, increment the value stored in the first counter; and responsive to receiving a request to execute a second tracking instruction issued by the guest OS directed to a second page stored in the architecturally-protected memory and responsive to determining that the value stored in the first counter is greater than the value stored in the second counter, set a flag to indicate successful execution of the second tracking instruction. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
executing, by a processor, a blocking instruction by a guest operating system (OS) supported by a virtual machine monitor (VMM) directed at a first page stored in an architecturally-protected memory during a first time period identified by a value stored in a first counter, wherein the architecturally-protected memory comprises a secure page cache; responsive to executing the blocking instruction, copying the value from the first counter to a second counter; responsive to executing a first tracking instruction issued by the VMM, incrementing the value stored in the first counter; and responsive to receiving a request to execute a second tracking instruction issued by the guest OS directed to a second page stored in the architecturally-protected memory and responsive to determining that the value stored in the first counter is greater than the value stored in the second counter, setting a flag to indicate successful execution of the second tracking instruction. - View Dependent Claims (18)
-
Specification