1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* architectural status code for SEAMCALL */ 3 4 #ifndef __KVM_X86_TDX_ERRNO_H 5 #define __KVM_X86_TDX_ERRNO_H 6 7 #define TDX_SEAMCALL_STATUS_MASK 0xFFFFFFFF00000000ULL 8 9 /* 10 * TDX SEAMCALL Status Codes (returned in RAX) 11 */ 12 #define TDX_NON_RECOVERABLE_VCPU 0x4000000100000000ULL 13 #define TDX_NON_RECOVERABLE_TD 0x4000000200000000ULL 14 #define TDX_NON_RECOVERABLE_TD_NON_ACCESSIBLE 0x6000000500000000ULL 15 #define TDX_NON_RECOVERABLE_TD_WRONG_APIC_MODE 0x6000000700000000ULL 16 #define TDX_INTERRUPTED_RESUMABLE 0x8000000300000000ULL 17 #define TDX_OPERAND_INVALID 0xC000010000000000ULL 18 #define TDX_OPERAND_BUSY 0x8000020000000000ULL 19 #define TDX_PREVIOUS_TLB_EPOCH_BUSY 0x8000020100000000ULL 20 #define TDX_PAGE_METADATA_INCORRECT 0xC000030000000000ULL 21 #define TDX_VCPU_NOT_ASSOCIATED 0x8000070200000000ULL 22 #define TDX_KEY_GENERATION_FAILED 0x8000080000000000ULL 23 #define TDX_KEY_STATE_INCORRECT 0xC000081100000000ULL 24 #define TDX_KEY_CONFIGURED 0x0000081500000000ULL 25 #define TDX_NO_HKID_READY_TO_WBCACHE 0x0000082100000000ULL 26 #define TDX_FLUSHVP_NOT_DONE 0x8000082400000000ULL 27 #define TDX_EPT_WALK_FAILED 0xC0000B0000000000ULL 28 #define TDX_EPT_ENTRY_STATE_INCORRECT 0xC0000B0D00000000ULL 29 #define TDX_METADATA_FIELD_NOT_READABLE 0xC0000C0200000000ULL 30 31 /* 32 * TDX module operand ID, appears in 31:0 part of error code as 33 * detail information 34 */ 35 #define TDX_OPERAND_ID_RCX 0x01 36 #define TDX_OPERAND_ID_TDR 0x80 37 #define TDX_OPERAND_ID_SEPT 0x92 38 #define TDX_OPERAND_ID_TD_EPOCH 0xa9 39 40 #endif /* __KVM_X86_TDX_ERRNO_H */ 41