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, 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 store 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
20 Claims
-
1. A processing system, comprising:
-
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 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 store 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)
-
-
10. A system-on-a-chip (SoC) comprising:
-
an architecturally-protected memory; and an execution unit, communicatively coupled to the 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 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 store 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 (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. 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; responsive to executing the first 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 store 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 (20)
-
Specification