On Thu, May 22, 2025 at 12:21:36PM +0300, Elena Reshetova wrote:
> Add error codes for ENCLS[EUPDATESVN], then SGX CPUSVN update
> process can know the execution state of EUPDATESVN and notify
> userspace.
> 
> Signed-off-by: Elena Reshetova <elena.reshet...@intel.com>
> ---
>  arch/x86/include/asm/sgx.h | 37 ++++++++++++++++++++++---------------
>  1 file changed, 22 insertions(+), 15 deletions(-)
> 
> diff --git a/arch/x86/include/asm/sgx.h b/arch/x86/include/asm/sgx.h
> index 6a0069761508..1abf1461fab6 100644
> --- a/arch/x86/include/asm/sgx.h
> +++ b/arch/x86/include/asm/sgx.h
> @@ -28,21 +28,22 @@
>  #define SGX_CPUID_EPC_MASK   GENMASK(3, 0)
>  
>  enum sgx_encls_function {
> -     ECREATE = 0x00,
> -     EADD    = 0x01,
> -     EINIT   = 0x02,
> -     EREMOVE = 0x03,
> -     EDGBRD  = 0x04,
> -     EDGBWR  = 0x05,
> -     EEXTEND = 0x06,
> -     ELDU    = 0x08,
> -     EBLOCK  = 0x09,
> -     EPA     = 0x0A,
> -     EWB     = 0x0B,
> -     ETRACK  = 0x0C,
> -     EAUG    = 0x0D,
> -     EMODPR  = 0x0E,
> -     EMODT   = 0x0F,
> +     ECREATE         = 0x00,
> +     EADD            = 0x01,
> +     EINIT           = 0x02,
> +     EREMOVE         = 0x03,
> +     EDGBRD          = 0x04,
> +     EDGBWR          = 0x05,
> +     EEXTEND         = 0x06,
> +     ELDU            = 0x08,
> +     EBLOCK          = 0x09,
> +     EPA             = 0x0A,
> +     EWB             = 0x0B,
> +     ETRACK          = 0x0C,
> +     EAUG            = 0x0D,
> +     EMODPR          = 0x0E,
> +     EMODT           = 0x0F,
> +     EUPDATESVN      = 0x18,
>  };
>  
>  /**
> @@ -73,6 +74,10 @@ 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_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,8 @@ enum sgx_return_code {
>       SGX_CHILD_PRESENT               = 13,
>       SGX_INVALID_EINITTOKEN          = 16,
>       SGX_PAGE_NOT_MODIFIABLE         = 20,
> +     SGX_INSUFFICIENT_ENTROPY        = 29,
> +     SGX_NO_UPDATE                           = 31,
>       SGX_UNMASKED_EVENT              = 128,
>  };
>  
> -- 
> 2.45.2
> 

Saving reviewed-by up until head of the series looks good to me but
in principle this is as good as it can get ;-)

BR, Jarkko

Reply via email to