The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Aug. 30, 2016
Filed:
Mar. 31, 2013
Carlos V Rozas, Portland, OR (US);
Ilya Alexandrovich, Haifa, IL;
Ittai Anati, Haifa, IL;
Alex Berenzon, Zikhron Ya'akov, IL;
Michael a Goldsmith, Lake Oswego, OR (US);
Barry E Huntley, Hillsboro, OR (US);
Anton Ivanov, Beaverton, OR (US);
Simon P Johnson, Beaverton, OR (US);
Rebekah M. Leslie-hurd, Portland, OR (US);
Francis X. Mckeen, Portland, OR (US);
Gilbert Neiger, Hillsboro, OR (US);
Rinat Rappoport, Haifa, IL;
Scott Dion Rodgers, Hillsboro, OR (US);
Uday R. Savagaonkar, Portland, OR (US);
Vincent R. Scarlata, Beaverton, OR (US);
Vedvyas Shanbhogue, Austin, TX (US);
Wesley H Smith, Raleigh, NC (US);
William Colin Wood, Hillsboro, OR (US);
Carlos V Rozas, Portland, OR (US);
Ilya Alexandrovich, Haifa, IL;
Ittai Anati, Haifa, IL;
Alex Berenzon, Zikhron Ya'akov, IL;
Michael A Goldsmith, Lake Oswego, OR (US);
Barry E Huntley, Hillsboro, OR (US);
Anton Ivanov, Beaverton, OR (US);
Simon P Johnson, Beaverton, OR (US);
Rebekah M. Leslie-Hurd, Portland, OR (US);
Francis X. McKeen, Portland, OR (US);
Gilbert Neiger, Hillsboro, OR (US);
Rinat Rappoport, Haifa, IL;
Scott Dion Rodgers, Hillsboro, OR (US);
Uday R. Savagaonkar, Portland, OR (US);
Vincent R. Scarlata, Beaverton, OR (US);
Vedvyas Shanbhogue, Austin, TX (US);
Wesley H Smith, Raleigh, NC (US);
William Colin Wood, Hillsboro, OR (US);
Intel Corporation, Santa Clara, CA (US);
Abstract
Instructions and logic provide advanced paging capabilities for secure enclave page caches. Embodiments include multiple hardware threads or processing cores, a cache to store secure data for a shared page address allocated to a secure enclave accessible by the hardware threads. A decode stage decodes a first instruction specifying said shared page address as an operand, and execution units mark an entry corresponding to an enclave page cache mapping for the shared page address to block creation of a new translation for either of said first or second hardware threads to access the shared page. A second instruction is decoded for execution, the second instruction specifying said secure enclave as an operand, and execution units record hardware threads currently accessing secure data in the enclave page cache corresponding to the secure enclave, and decrement the recorded number of hardware threads when any of the hardware threads exits the secure enclave.