Add error codes for ENCLS[EUPDATESVN], then SGX CPUSVN update
process can know the execution state of EUPDATESVN.

Code is from previous submission in 
https://lore.kernel.org/all/20220520103904.1216-1-cathy.zh...@intel.com/T/#m1becf67078dc8c59d454e2e6c6d67ca64db341a4

Co-developed-by: Cathy Zhang <cathy.zh...@intel.com>
Signed-off-by: Cathy Zhang <cathy.zh...@intel.com>
Co-developed-by: Elena Reshetova <elena.reshet...@intel.com>
Signed-off-by: Elena Reshetova <elena.reshet...@intel.com>
---
 arch/x86/include/asm/sgx.h | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/x86/include/asm/sgx.h b/arch/x86/include/asm/sgx.h
index 6a0069761508..8ba39bbf4e91 100644
--- a/arch/x86/include/asm/sgx.h
+++ b/arch/x86/include/asm/sgx.h
@@ -73,6 +73,11 @@ enum sgx_encls_function {
  *                             public key does not match IA32_SGXLEPUBKEYHASH.
  * %SGX_PAGE_NOT_MODIFIABLE:   The EPC page cannot be modified because it
  *                             is in the PENDING or MODIFIED state.
+ * %SGX_INSUFFICIENT_ENTROPY:  Insufficient entropy in RNG.
+ * %SGX_EPC_NOT_READY:         EPC is not ready for SVN update.
+ * %SGX_NO_UPDATE:             EUPDATESVN was successful, but CPUSVN was not
+ *                             updated because current SVN was not newer than
+ *                             CPUSVN.
  * %SGX_UNMASKED_EVENT:                An unmasked event, e.g. INTR, was 
received
  */
 enum sgx_return_code {
@@ -81,6 +86,9 @@ enum sgx_return_code {
        SGX_CHILD_PRESENT               = 13,
        SGX_INVALID_EINITTOKEN          = 16,
        SGX_PAGE_NOT_MODIFIABLE         = 20,
+       SGX_INSUFFICIENT_ENTROPY        = 29,
+       SGX_EPC_NOT_READY               = 30,
+       SGX_NO_UPDATE                   = 31,
        SGX_UNMASKED_EVENT              = 128,
 };
 
-- 
2.45.2


Reply via email to