psp-sev: Assign numbers to all status codes and add new

Make the definitions explicit. Add some more new codes.

The following patches will be using SPDM_REQUEST and
EXPAND_BUFFER_LENGTH_REQUEST, others are useful for the PSP FW
diagnostics.

Signed-off-by: Alexey Kardashevskiy <aik@amd.com>
Link: https://patch.msgid.link/20251202024449.542361-3-aik@amd.com
Acked-by: Tom Lendacky <thomas.lendacky@amd.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
Alexey Kardashevskiy
2025-12-02 13:44:47 +11:00
committed by Dan Williams
parent 8a5dd102e4
commit c3859de858

View File

@@ -47,32 +47,32 @@ typedef enum {
* with possible values from the specification.
*/
SEV_RET_NO_FW_CALL = -1,
SEV_RET_SUCCESS = 0,
SEV_RET_INVALID_PLATFORM_STATE,
SEV_RET_INVALID_GUEST_STATE,
SEV_RET_INAVLID_CONFIG,
SEV_RET_SUCCESS = 0,
SEV_RET_INVALID_PLATFORM_STATE = 0x0001,
SEV_RET_INVALID_GUEST_STATE = 0x0002,
SEV_RET_INAVLID_CONFIG = 0x0003,
SEV_RET_INVALID_CONFIG = SEV_RET_INAVLID_CONFIG,
SEV_RET_INVALID_LEN,
SEV_RET_ALREADY_OWNED,
SEV_RET_INVALID_CERTIFICATE,
SEV_RET_POLICY_FAILURE,
SEV_RET_INACTIVE,
SEV_RET_INVALID_ADDRESS,
SEV_RET_BAD_SIGNATURE,
SEV_RET_BAD_MEASUREMENT,
SEV_RET_ASID_OWNED,
SEV_RET_INVALID_ASID,
SEV_RET_WBINVD_REQUIRED,
SEV_RET_DFFLUSH_REQUIRED,
SEV_RET_INVALID_GUEST,
SEV_RET_INVALID_COMMAND,
SEV_RET_ACTIVE,
SEV_RET_HWSEV_RET_PLATFORM,
SEV_RET_HWSEV_RET_UNSAFE,
SEV_RET_UNSUPPORTED,
SEV_RET_INVALID_PARAM,
SEV_RET_RESOURCE_LIMIT,
SEV_RET_SECURE_DATA_INVALID,
SEV_RET_INVALID_LEN = 0x0004,
SEV_RET_ALREADY_OWNED = 0x0005,
SEV_RET_INVALID_CERTIFICATE = 0x0006,
SEV_RET_POLICY_FAILURE = 0x0007,
SEV_RET_INACTIVE = 0x0008,
SEV_RET_INVALID_ADDRESS = 0x0009,
SEV_RET_BAD_SIGNATURE = 0x000A,
SEV_RET_BAD_MEASUREMENT = 0x000B,
SEV_RET_ASID_OWNED = 0x000C,
SEV_RET_INVALID_ASID = 0x000D,
SEV_RET_WBINVD_REQUIRED = 0x000E,
SEV_RET_DFFLUSH_REQUIRED = 0x000F,
SEV_RET_INVALID_GUEST = 0x0010,
SEV_RET_INVALID_COMMAND = 0x0011,
SEV_RET_ACTIVE = 0x0012,
SEV_RET_HWSEV_RET_PLATFORM = 0x0013,
SEV_RET_HWSEV_RET_UNSAFE = 0x0014,
SEV_RET_UNSUPPORTED = 0x0015,
SEV_RET_INVALID_PARAM = 0x0016,
SEV_RET_RESOURCE_LIMIT = 0x0017,
SEV_RET_SECURE_DATA_INVALID = 0x0018,
SEV_RET_INVALID_PAGE_SIZE = 0x0019,
SEV_RET_INVALID_PAGE_STATE = 0x001A,
SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
@@ -87,6 +87,22 @@ typedef enum {
SEV_RET_RESTORE_REQUIRED = 0x0025,
SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
SEV_RET_INVALID_KEY = 0x0027,
SEV_RET_SHUTDOWN_INCOMPLETE = 0x0028,
SEV_RET_INCORRECT_BUFFER_LENGTH = 0x0030,
SEV_RET_EXPAND_BUFFER_LENGTH_REQUEST = 0x0031,
SEV_RET_SPDM_REQUEST = 0x0032,
SEV_RET_SPDM_ERROR = 0x0033,
SEV_RET_SEV_STATUS_ERR_IN_DEV_CONN = 0x0035,
SEV_RET_SEV_STATUS_INVALID_DEV_CTX = 0x0036,
SEV_RET_SEV_STATUS_INVALID_TDI_CTX = 0x0037,
SEV_RET_SEV_STATUS_INVALID_TDI = 0x0038,
SEV_RET_SEV_STATUS_RECLAIM_REQUIRED = 0x0039,
SEV_RET_IN_USE = 0x003A,
SEV_RET_SEV_STATUS_INVALID_DEV_STATE = 0x003B,
SEV_RET_SEV_STATUS_INVALID_TDI_STATE = 0x003C,
SEV_RET_SEV_STATUS_DEV_CERT_CHANGED = 0x003D,
SEV_RET_SEV_STATUS_RESYNC_REQ = 0x003E,
SEV_RET_SEV_STATUS_RESPONSE_TOO_LARGE = 0x003F,
SEV_RET_MAX,
} sev_ret_code;