11001d988SSean Christopherson /* SPDX-License-Identifier: GPL-2.0 */ 21001d988SSean Christopherson /* architectural status code for SEAMCALL */ 31001d988SSean Christopherson 41001d988SSean Christopherson #ifndef __KVM_X86_TDX_ERRNO_H 51001d988SSean Christopherson #define __KVM_X86_TDX_ERRNO_H 61001d988SSean Christopherson 71001d988SSean Christopherson #define TDX_SEAMCALL_STATUS_MASK 0xFFFFFFFF00000000ULL 81001d988SSean Christopherson 91001d988SSean Christopherson /* 101001d988SSean Christopherson * TDX SEAMCALL Status Codes (returned in RAX) 111001d988SSean Christopherson */ 121001d988SSean Christopherson #define TDX_NON_RECOVERABLE_VCPU 0x4000000100000000ULL 13*095b71a0SIsaku Yamahata #define TDX_NON_RECOVERABLE_TD 0x4000000200000000ULL 14*095b71a0SIsaku Yamahata #define TDX_NON_RECOVERABLE_TD_NON_ACCESSIBLE 0x6000000500000000ULL 15*095b71a0SIsaku Yamahata #define TDX_NON_RECOVERABLE_TD_WRONG_APIC_MODE 0x6000000700000000ULL 161001d988SSean Christopherson #define TDX_INTERRUPTED_RESUMABLE 0x8000000300000000ULL 171001d988SSean Christopherson #define TDX_OPERAND_INVALID 0xC000010000000000ULL 181001d988SSean Christopherson #define TDX_OPERAND_BUSY 0x8000020000000000ULL 191001d988SSean Christopherson #define TDX_PREVIOUS_TLB_EPOCH_BUSY 0x8000020100000000ULL 201001d988SSean Christopherson #define TDX_PAGE_METADATA_INCORRECT 0xC000030000000000ULL 211001d988SSean Christopherson #define TDX_VCPU_NOT_ASSOCIATED 0x8000070200000000ULL 221001d988SSean Christopherson #define TDX_KEY_GENERATION_FAILED 0x8000080000000000ULL 231001d988SSean Christopherson #define TDX_KEY_STATE_INCORRECT 0xC000081100000000ULL 241001d988SSean Christopherson #define TDX_KEY_CONFIGURED 0x0000081500000000ULL 251001d988SSean Christopherson #define TDX_NO_HKID_READY_TO_WBCACHE 0x0000082100000000ULL 261001d988SSean Christopherson #define TDX_FLUSHVP_NOT_DONE 0x8000082400000000ULL 271001d988SSean Christopherson #define TDX_EPT_WALK_FAILED 0xC0000B0000000000ULL 281001d988SSean Christopherson #define TDX_EPT_ENTRY_STATE_INCORRECT 0xC0000B0D00000000ULL 29488808e6SXiaoyao Li #define TDX_METADATA_FIELD_NOT_READABLE 0xC0000C0200000000ULL 301001d988SSean Christopherson 311001d988SSean Christopherson /* 321001d988SSean Christopherson * TDX module operand ID, appears in 31:0 part of error code as 331001d988SSean Christopherson * detail information 341001d988SSean Christopherson */ 351001d988SSean Christopherson #define TDX_OPERAND_ID_RCX 0x01 361001d988SSean Christopherson #define TDX_OPERAND_ID_TDR 0x80 371001d988SSean Christopherson #define TDX_OPERAND_ID_SEPT 0x92 381001d988SSean Christopherson #define TDX_OPERAND_ID_TD_EPOCH 0xa9 391001d988SSean Christopherson 401001d988SSean Christopherson #endif /* __KVM_X86_TDX_ERRNO_H */ 41