| CPC G06F 12/1408 (2013.01) [G06F 8/41 (2013.01); G06F 9/30145 (2013.01); G06F 9/45558 (2013.01); G06F 12/1441 (2013.01); G06F 12/1483 (2013.01); G06F 21/53 (2013.01); G06F 21/602 (2013.01); G06F 2009/4557 (2013.01); G06F 2009/45587 (2013.01); G06F 2212/1052 (2013.01)] | 21 Claims |

|
1. A system on a chip comprising:
one or more caches;
a decode unit to decode an instruction;
a cryptographic unit, as a result of the instruction, to:
decrypt a copy of a page with a first cryptographic key, the page to be within an encrypted portion of a virtual machine, wherein the system on a chip is to protect the page within the encrypted portion of the virtual machine from being disclosed to a virtual machine monitor; and
generate an encrypted page based on the decrypted copy of the page with a second, different cryptographic key;
a memory controller, as a result of the instruction, to store the encrypted page generated by the cryptographic unit to a memory location outside of the encrypted portion of the virtual machine; and
a circuit to access a metadata structure, as a result of the instruction, to store metadata associated with the encrypted page in the metadata structure,
wherein the system on a chip is to leave the page within the encrypted portion of the virtual machine valid and readable after the encrypted page has been stored to the memory location outside of the encrypted portion of the virtual machine.
|