|
| 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_INTERRUPTED_RESUMABLE 0x8000000300000000ULL |
| 14 | +#define TDX_OPERAND_INVALID 0xC000010000000000ULL |
| 15 | +#define TDX_OPERAND_BUSY 0x8000020000000000ULL |
| 16 | +#define TDX_PREVIOUS_TLB_EPOCH_BUSY 0x8000020100000000ULL |
| 17 | +#define TDX_PAGE_METADATA_INCORRECT 0xC000030000000000ULL |
| 18 | +#define TDX_VCPU_NOT_ASSOCIATED 0x8000070200000000ULL |
| 19 | +#define TDX_KEY_GENERATION_FAILED 0x8000080000000000ULL |
| 20 | +#define TDX_KEY_STATE_INCORRECT 0xC000081100000000ULL |
| 21 | +#define TDX_KEY_CONFIGURED 0x0000081500000000ULL |
| 22 | +#define TDX_NO_HKID_READY_TO_WBCACHE 0x0000082100000000ULL |
| 23 | +#define TDX_FLUSHVP_NOT_DONE 0x8000082400000000ULL |
| 24 | +#define TDX_EPT_WALK_FAILED 0xC0000B0000000000ULL |
| 25 | +#define TDX_EPT_ENTRY_STATE_INCORRECT 0xC0000B0D00000000ULL |
| 26 | + |
| 27 | +/* |
| 28 | + * TDX module operand ID, appears in 31:0 part of error code as |
| 29 | + * detail information |
| 30 | + */ |
| 31 | +#define TDX_OPERAND_ID_RCX 0x01 |
| 32 | +#define TDX_OPERAND_ID_TDR 0x80 |
| 33 | +#define TDX_OPERAND_ID_SEPT 0x92 |
| 34 | +#define TDX_OPERAND_ID_TD_EPOCH 0xa9 |
| 35 | + |
| 36 | +#endif /* __KVM_X86_TDX_ERRNO_H */ |
0 commit comments