Skip to content

Commit c3859de

Browse files
aikdjbw
authored andcommitted
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>
1 parent 8a5dd10 commit c3859de

1 file changed

Lines changed: 41 additions & 25 deletions

File tree

include/uapi/linux/psp-sev.h

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -47,32 +47,32 @@ typedef enum {
4747
* with possible values from the specification.
4848
*/
4949
SEV_RET_NO_FW_CALL = -1,
50-
SEV_RET_SUCCESS = 0,
51-
SEV_RET_INVALID_PLATFORM_STATE,
52-
SEV_RET_INVALID_GUEST_STATE,
53-
SEV_RET_INAVLID_CONFIG,
50+
SEV_RET_SUCCESS = 0,
51+
SEV_RET_INVALID_PLATFORM_STATE = 0x0001,
52+
SEV_RET_INVALID_GUEST_STATE = 0x0002,
53+
SEV_RET_INAVLID_CONFIG = 0x0003,
5454
SEV_RET_INVALID_CONFIG = SEV_RET_INAVLID_CONFIG,
55-
SEV_RET_INVALID_LEN,
56-
SEV_RET_ALREADY_OWNED,
57-
SEV_RET_INVALID_CERTIFICATE,
58-
SEV_RET_POLICY_FAILURE,
59-
SEV_RET_INACTIVE,
60-
SEV_RET_INVALID_ADDRESS,
61-
SEV_RET_BAD_SIGNATURE,
62-
SEV_RET_BAD_MEASUREMENT,
63-
SEV_RET_ASID_OWNED,
64-
SEV_RET_INVALID_ASID,
65-
SEV_RET_WBINVD_REQUIRED,
66-
SEV_RET_DFFLUSH_REQUIRED,
67-
SEV_RET_INVALID_GUEST,
68-
SEV_RET_INVALID_COMMAND,
69-
SEV_RET_ACTIVE,
70-
SEV_RET_HWSEV_RET_PLATFORM,
71-
SEV_RET_HWSEV_RET_UNSAFE,
72-
SEV_RET_UNSUPPORTED,
73-
SEV_RET_INVALID_PARAM,
74-
SEV_RET_RESOURCE_LIMIT,
75-
SEV_RET_SECURE_DATA_INVALID,
55+
SEV_RET_INVALID_LEN = 0x0004,
56+
SEV_RET_ALREADY_OWNED = 0x0005,
57+
SEV_RET_INVALID_CERTIFICATE = 0x0006,
58+
SEV_RET_POLICY_FAILURE = 0x0007,
59+
SEV_RET_INACTIVE = 0x0008,
60+
SEV_RET_INVALID_ADDRESS = 0x0009,
61+
SEV_RET_BAD_SIGNATURE = 0x000A,
62+
SEV_RET_BAD_MEASUREMENT = 0x000B,
63+
SEV_RET_ASID_OWNED = 0x000C,
64+
SEV_RET_INVALID_ASID = 0x000D,
65+
SEV_RET_WBINVD_REQUIRED = 0x000E,
66+
SEV_RET_DFFLUSH_REQUIRED = 0x000F,
67+
SEV_RET_INVALID_GUEST = 0x0010,
68+
SEV_RET_INVALID_COMMAND = 0x0011,
69+
SEV_RET_ACTIVE = 0x0012,
70+
SEV_RET_HWSEV_RET_PLATFORM = 0x0013,
71+
SEV_RET_HWSEV_RET_UNSAFE = 0x0014,
72+
SEV_RET_UNSUPPORTED = 0x0015,
73+
SEV_RET_INVALID_PARAM = 0x0016,
74+
SEV_RET_RESOURCE_LIMIT = 0x0017,
75+
SEV_RET_SECURE_DATA_INVALID = 0x0018,
7676
SEV_RET_INVALID_PAGE_SIZE = 0x0019,
7777
SEV_RET_INVALID_PAGE_STATE = 0x001A,
7878
SEV_RET_INVALID_MDATA_ENTRY = 0x001B,
@@ -87,6 +87,22 @@ typedef enum {
8787
SEV_RET_RESTORE_REQUIRED = 0x0025,
8888
SEV_RET_RMP_INITIALIZATION_FAILED = 0x0026,
8989
SEV_RET_INVALID_KEY = 0x0027,
90+
SEV_RET_SHUTDOWN_INCOMPLETE = 0x0028,
91+
SEV_RET_INCORRECT_BUFFER_LENGTH = 0x0030,
92+
SEV_RET_EXPAND_BUFFER_LENGTH_REQUEST = 0x0031,
93+
SEV_RET_SPDM_REQUEST = 0x0032,
94+
SEV_RET_SPDM_ERROR = 0x0033,
95+
SEV_RET_SEV_STATUS_ERR_IN_DEV_CONN = 0x0035,
96+
SEV_RET_SEV_STATUS_INVALID_DEV_CTX = 0x0036,
97+
SEV_RET_SEV_STATUS_INVALID_TDI_CTX = 0x0037,
98+
SEV_RET_SEV_STATUS_INVALID_TDI = 0x0038,
99+
SEV_RET_SEV_STATUS_RECLAIM_REQUIRED = 0x0039,
100+
SEV_RET_IN_USE = 0x003A,
101+
SEV_RET_SEV_STATUS_INVALID_DEV_STATE = 0x003B,
102+
SEV_RET_SEV_STATUS_INVALID_TDI_STATE = 0x003C,
103+
SEV_RET_SEV_STATUS_DEV_CERT_CHANGED = 0x003D,
104+
SEV_RET_SEV_STATUS_RESYNC_REQ = 0x003E,
105+
SEV_RET_SEV_STATUS_RESPONSE_TOO_LARGE = 0x003F,
90106
SEV_RET_MAX,
91107
} sev_ret_code;
92108

0 commit comments

Comments
 (0)