Struct x86defs::tdx::TdCallResultCode

source ·
#[repr(transparent)]
pub struct TdCallResultCode(pub u32);
Expand description

Result code for tdcall to the TDX module, returned in RAX.

Tuple Fields§

§0: u32

Implementations§

source§

impl TdCallResultCode

source

pub const SUCCESS: TdCallResultCode = _

source

pub const NON_RECOVERABLE_VCPU: TdCallResultCode = _

source

pub const NON_RECOVERABLE_TD: TdCallResultCode = _

source

pub const INTERRUPTED_RESUMABLE: TdCallResultCode = _

source

pub const INTERRUPTED_RESTARTABLE: TdCallResultCode = _

source

pub const NON_RECOVERABLE_TD_NON_ACCESSIBLE: TdCallResultCode = _

source

pub const INVALID_RESUMPTION: TdCallResultCode = _

source

pub const NON_RECOVERABLE_TD_WRONG_APIC_MODE: TdCallResultCode = _

source

pub const CROSS_TD_FAULT: TdCallResultCode = _

source

pub const CROSS_TD_TRAP: TdCallResultCode = _

source

pub const NON_RECOVERABLE_TD_CORRUPTED_MD: TdCallResultCode = _

source

pub const OPERAND_INVALID: TdCallResultCode = _

source

pub const OPERAND_ADDR_RANGE_ERROR: TdCallResultCode = _

source

pub const OPERAND_BUSY: TdCallResultCode = _

source

pub const PREVIOUS_TLB_EPOCH_BUSY: TdCallResultCode = _

source

pub const SYS_BUSY: TdCallResultCode = _

source

pub const RND_NO_ENTROPY: TdCallResultCode = _

source

pub const OPERAND_BUSY_HOST_PRIORITY: TdCallResultCode = _

source

pub const HOST_PRIORITY_BUSY_TIMEOUT: TdCallResultCode = _

source

pub const PAGE_METADATA_INCORRECT: TdCallResultCode = _

source

pub const PAGE_ALREADY_FREE: TdCallResultCode = _

source

pub const PAGE_NOT_OWNED_BY_TD: TdCallResultCode = _

source

pub const PAGE_NOT_FREE: TdCallResultCode = _

source

pub const TD_ASSOCIATED_PAGES_EXIST: TdCallResultCode = _

source

pub const SYS_INIT_NOT_PENDING: TdCallResultCode = _

source

pub const SYS_LP_INIT_NOT_DONE: TdCallResultCode = _

source

pub const SYS_LP_INIT_DONE: TdCallResultCode = _

source

pub const SYS_NOT_READY: TdCallResultCode = _

source

pub const SYS_SHUTDOWN: TdCallResultCode = _

source

pub const SYS_KEY_CONFIG_NOT_PENDING: TdCallResultCode = _

source

pub const SYS_STATE_INCORRECT: TdCallResultCode = _

source

pub const SYS_INVALID_HANDOFF: TdCallResultCode = _

source

pub const SYS_INCOMPATIBLE_SIGSTRUCT: TdCallResultCode = _

source

pub const SYS_LP_INIT_NOT_PENDING: TdCallResultCode = _

source

pub const SYS_CONFIG_NOT_PENDING: TdCallResultCode = _

source

pub const INCOMPATIBLE_SEAM_CAPABILITIES: TdCallResultCode = _

source

pub const TD_FATAL: TdCallResultCode = _

source

pub const TD_NON_DEBUG: TdCallResultCode = _

source

pub const TDCS_NOT_ALLOCATED: TdCallResultCode = _

source

pub const LIFECYCLE_STATE_INCORRECT: TdCallResultCode = _

source

pub const OP_STATE_INCORRECT: TdCallResultCode = _

source

pub const NO_VCPUS: TdCallResultCode = _

source

pub const TDCX_NUM_INCORRECT: TdCallResultCode = _

source

pub const VCPU_STATE_INCORRECT: TdCallResultCode = _

source

pub const VCPU_ASSOCIATED: TdCallResultCode = _

source

pub const VCPU_NOT_ASSOCIATED: TdCallResultCode = _

source

pub const NO_VALID_VE_INFO: TdCallResultCode = _

source

pub const MAX_VCPUS_EXCEEDED: TdCallResultCode = _

source

pub const TSC_ROLLBACK: TdCallResultCode = _

source

pub const TD_VMCS_FIELD_NOT_INITIALIZED: TdCallResultCode = _

source

pub const MCS_FIELD_ERROR: TdCallResultCode = _

source

pub const KEY_GENERATION_FAILED: TdCallResultCode = _

source

pub const TD_KEYS_NOT_CONFIGURED: TdCallResultCode = _

source

pub const KEY_STATE_INCORRECT: TdCallResultCode = _

source

pub const KEY_CONFIGURED: TdCallResultCode = _

source

pub const WBCACHE_NOT_COMPLETE: TdCallResultCode = _

source

pub const HKID_NOT_FREE: TdCallResultCode = _

source

pub const NO_HKID_READY_TO_WBCACHE: TdCallResultCode = _

source

pub const WBCACHE_RESUME_ERROR: TdCallResultCode = _

source

pub const FLUSHVP_NOT_DONE: TdCallResultCode = _

source

pub const NUM_ACTIVATED_HKIDS_NOT_SUPPORTED: TdCallResultCode = _

source

pub const INCORRECT_CPUID_VALUE: TdCallResultCode = _

source

pub const LIMIT_CPUID_MAXVAL_SET: TdCallResultCode = _

source

pub const INCONSISTENT_CPUID_FIELD: TdCallResultCode = _

source

pub const CPUID_MAX_SUBLEAVES_UNRECOGNIZED: TdCallResultCode = _

source

pub const CPUID_LEAF_1F_FORMAT_UNRECOGNIZED: TdCallResultCode = _

source

pub const INVALID_WBINVD_SCOPE: TdCallResultCode = _

source

pub const INVALID_PKG_ID: TdCallResultCode = _

source

pub const ENABLE_MONITOR_FSM_NOT_SET: TdCallResultCode = _

source

pub const CPUID_LEAF_NOT_SUPPORTED: TdCallResultCode = _

source

pub const SMRR_NOT_LOCKED: TdCallResultCode = _

source

pub const INVALID_SMRR_CONFIGURATION: TdCallResultCode = _

source

pub const SMRR_OVERLAPS_CMR: TdCallResultCode = _

source

pub const SMRR_LOCK_NOT_SUPPORTED: TdCallResultCode = _

source

pub const SMRR_NOT_SUPPORTED: TdCallResultCode = _

source

pub const INCONSISTENT_MSR: TdCallResultCode = _

source

pub const INCORRECT_MSR_VALUE: TdCallResultCode = _

source

pub const SEAMREPORT_NOT_AVAILABLE: TdCallResultCode = _

source

pub const SEAMDB_GETREF_NOT_AVAILABLE: TdCallResultCode = _

source

pub const SEAMDB_REPORT_NOT_AVAILABLE: TdCallResultCode = _

source

pub const SEAMVERIFYREPORT_NOT_AVAILABLE: TdCallResultCode = _

source

pub const INVALID_TDMR: TdCallResultCode = _

source

pub const NON_ORDERED_TDMR: TdCallResultCode = _

source

pub const TDMR_OUTSIDE_CMRS: TdCallResultCode = _

source

pub const TDMR_ALREADY_INITIALIZED: TdCallResultCode = _

source

pub const INVALID_PAMT: TdCallResultCode = _

source

pub const PAMT_OUTSIDE_CMRS: TdCallResultCode = _

source

pub const PAMT_OVERLAP: TdCallResultCode = _

source

pub const INVALID_RESERVED_IN_TDMR: TdCallResultCode = _

source

pub const NON_ORDERED_RESERVED_IN_TDMR: TdCallResultCode = _

source

pub const CMR_LIST_INVALID: TdCallResultCode = _

source

pub const EPT_WALK_FAILED: TdCallResultCode = _

source

pub const EPT_ENTRY_FREE: TdCallResultCode = _

source

pub const EPT_ENTRY_NOT_FREE: TdCallResultCode = _

source

pub const EPT_ENTRY_NOT_PRESENT: TdCallResultCode = _

source

pub const EPT_ENTRY_NOT_LEAF: TdCallResultCode = _

source

pub const EPT_ENTRY_LEAF: TdCallResultCode = _

source

pub const GPA_RANGE_NOT_BLOCKED: TdCallResultCode = _

source

pub const GPA_RANGE_ALREADY_BLOCKED: TdCallResultCode = _

source

pub const TLB_TRACKING_NOT_DONE: TdCallResultCode = _

source

pub const EPT_INVALID_PROMOTE_CONDITIONS: TdCallResultCode = _

source

pub const PAGE_ALREADY_ACCEPTED: TdCallResultCode = _

source

pub const PAGE_SIZE_MISMATCH: TdCallResultCode = _

source

pub const GPA_RANGE_BLOCKED: TdCallResultCode = _

source

pub const EPT_ENTRY_STATE_INCORRECT: TdCallResultCode = _

source

pub const EPT_PAGE_NOT_FREE: TdCallResultCode = _

source

pub const L2_SEPT_WALK_FAILED: TdCallResultCode = _

source

pub const L2_SEPT_ENTRY_NOT_FREE: TdCallResultCode = _

source

pub const PAGE_ATTR_INVALID: TdCallResultCode = _

source

pub const L2_SEPT_PAGE_NOT_PROVIDED: TdCallResultCode = _

source

pub const METADATA_FIELD_ID_INCORRECT: TdCallResultCode = _

source

pub const METADATA_FIELD_NOT_WRITABLE: TdCallResultCode = _

source

pub const METADATA_FIELD_NOT_READABLE: TdCallResultCode = _

source

pub const METADATA_FIELD_VALUE_NOT_VALID: TdCallResultCode = _

source

pub const METADATA_LIST_OVERFLOW: TdCallResultCode = _

source

pub const INVALID_METADATA_LIST_HEADER: TdCallResultCode = _

source

pub const REQUIRED_METADATA_FIELD_MISSING: TdCallResultCode = _

source

pub const METADATA_ELEMENT_SIZE_INCORRECT: TdCallResultCode = _

source

pub const METADATA_LAST_ELEMENT_INCORRECT: TdCallResultCode = _

source

pub const METADATA_FIELD_CURRENTLY_NOT_WRITABLE: TdCallResultCode = _

source

pub const METADATA_WR_MASK_NOT_VALID: TdCallResultCode = _

source

pub const METADATA_FIRST_FIELD_ID_IN_CONTEXT: TdCallResultCode = _

source

pub const METADATA_FIELD_SKIP: TdCallResultCode = _

source

pub const SERVTD_ALREADY_BOUND_FOR_TYPE: TdCallResultCode = _

source

pub const SERVTD_TYPE_MISMATCH: TdCallResultCode = _

source

pub const SERVTD_ATTR_MISMATCH: TdCallResultCode = _

source

pub const SERVTD_INFO_HASH_MISMATCH: TdCallResultCode = _

source

pub const SERVTD_UUID_MISMATCH: TdCallResultCode = _

source

pub const SERVTD_NOT_BOUND: TdCallResultCode = _

source

pub const SERVTD_BOUND: TdCallResultCode = _

source

pub const TARGET_UUID_MISMATCH: TdCallResultCode = _

source

pub const TARGET_UUID_UPDATED: TdCallResultCode = _

source

pub const INVALID_MBMD: TdCallResultCode = _

source

pub const INCORRECT_MBMD_MAC: TdCallResultCode = _

source

pub const NOT_WRITE_BLOCKED: TdCallResultCode = _

source

pub const ALREADY_WRITE_BLOCKED: TdCallResultCode = _

source

pub const NOT_EXPORTED: TdCallResultCode = _

source

pub const MIGRATION_STREAM_STATE_INCORRECT: TdCallResultCode = _

source

pub const MAX_MIGS_NUM_EXCEEDED: TdCallResultCode = _

source

pub const EXPORTED_DIRTY_PAGES_REMAIN: TdCallResultCode = _

source

pub const MIGRATION_DECRYPTION_KEY_NOT_SET: TdCallResultCode = _

source

pub const TD_NOT_MIGRATABLE: TdCallResultCode = _

source

pub const PREVIOUS_EXPORT_CLEANUP_INCOMPLETE: TdCallResultCode = _

source

pub const NUM_MIGS_HIGHER_THAN_CREATED: TdCallResultCode = _

source

pub const IMPORT_MISMATCH: TdCallResultCode = _

source

pub const MIGRATION_EPOCH_OVERFLOW: TdCallResultCode = _

source

pub const MAX_EXPORTS_EXCEEDED: TdCallResultCode = _

source

pub const INVALID_PAGE_MAC: TdCallResultCode = _

source

pub const MIGRATED_IN_CURRENT_EPOCH: TdCallResultCode = _

source

pub const DISALLOWED_IMPORT_OVER_REMOVED: TdCallResultCode = _

source

pub const SOME_VCPUS_NOT_MIGRATED: TdCallResultCode = _

source

pub const ALL_VCPUS_IMPORTED: TdCallResultCode = _

source

pub const MIN_MIGS_NOT_CREATED: TdCallResultCode = _

source

pub const VCPU_ALREADY_EXPORTED: TdCallResultCode = _

source

pub const INVALID_MIGRATION_DECRYPTION_KEY: TdCallResultCode = _

source

pub const INVALID_CPUSVN: TdCallResultCode = _

source

pub const INVALID_REPORTMACSTRUCT: TdCallResultCode = _

source

pub const L2_EXIT_HOST_ROUTED_ASYNC: TdCallResultCode = _

source

pub const L2_EXIT_HOST_ROUTED_TDVMCALL: TdCallResultCode = _

source

pub const L2_EXIT_PENDING_INTERRUPT: TdCallResultCode = _

source

pub const PENDING_INTERRUPT: TdCallResultCode = _

source

pub const TD_EXIT_BEFORE_L2_ENTRY: TdCallResultCode = _

source

pub const TD_EXIT_ON_L2_VM_EXIT: TdCallResultCode = _

source

pub const TD_EXIT_ON_L2_TO_L1: TdCallResultCode = _

source

pub const GLA_NOT_CANONICAL: TdCallResultCode = _

Trait Implementations§

source§

impl AsBytes for TdCallResultCode
where u32: AsBytes,

§

fn as_bytes(&self) -> &[u8]

Gets the bytes of this value. Read more
§

fn as_bytes_mut(&mut self) -> &mut [u8]
where Self: FromBytes,

Gets the bytes of this value mutably. Read more
§

fn write_to(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to bytes. Read more
§

fn write_to_prefix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the prefix of bytes. Read more
§

fn write_to_suffix(&self, bytes: &mut [u8]) -> Option<()>

Writes a copy of self to the suffix of bytes. Read more
source§

impl Clone for TdCallResultCode

source§

fn clone(&self) -> TdCallResultCode

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TdCallResultCode

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromBytes for TdCallResultCode
where u32: FromBytes,

§

fn ref_from(bytes: &[u8]) -> Option<&Self>
where Self: Sized,

Interprets the given bytes as a &Self without copying. Read more
§

fn ref_from_prefix(bytes: &[u8]) -> Option<&Self>
where Self: Sized,

Interprets the prefix of the given bytes as a &Self without copying. Read more
§

fn ref_from_suffix(bytes: &[u8]) -> Option<&Self>
where Self: Sized,

Interprets the suffix of the given bytes as a &Self without copying. Read more
§

fn mut_from(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + AsBytes,

Interprets the given bytes as a &mut Self without copying. Read more
§

fn mut_from_prefix(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut Self without copying. Read more
§

fn mut_from_suffix(bytes: &mut [u8]) -> Option<&mut Self>
where Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut Self without copying. Read more
§

fn slice_from(bytes: &[u8]) -> Option<&[Self]>
where Self: Sized,

Interprets the given bytes as a &[Self] without copying. Read more
§

fn slice_from_prefix(bytes: &[u8], count: usize) -> Option<(&[Self], &[u8])>
where Self: Sized,

Interprets the prefix of the given bytes as a &[Self] with length equal to count without copying. Read more
§

fn slice_from_suffix(bytes: &[u8], count: usize) -> Option<(&[u8], &[Self])>
where Self: Sized,

Interprets the suffix of the given bytes as a &[Self] with length equal to count without copying. Read more
§

fn mut_slice_from(bytes: &mut [u8]) -> Option<&mut [Self]>
where Self: Sized + AsBytes,

Interprets the given bytes as a &mut [Self] without copying. Read more
§

fn mut_slice_from_prefix( bytes: &mut [u8], count: usize, ) -> Option<(&mut [Self], &mut [u8])>
where Self: Sized + AsBytes,

Interprets the prefix of the given bytes as a &mut [Self] with length equal to count without copying. Read more
§

fn mut_slice_from_suffix( bytes: &mut [u8], count: usize, ) -> Option<(&mut [u8], &mut [Self])>
where Self: Sized + AsBytes,

Interprets the suffix of the given bytes as a &mut [Self] with length equal to count without copying. Read more
§

fn read_from(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from bytes. Read more
§

fn read_from_prefix(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from the prefix of bytes. Read more
§

fn read_from_suffix(bytes: &[u8]) -> Option<Self>
where Self: Sized,

Reads a copy of Self from the suffix of bytes. Read more
source§

impl FromZeroes for TdCallResultCode
where u32: FromZeroes,

§

fn zero(&mut self)

Overwrites self with zeroes. Read more
§

fn new_zeroed() -> Self
where Self: Sized,

Creates an instance of Self from zeroed bytes. Read more
§

fn new_box_zeroed() -> Box<Self>
where Self: Sized,

Creates a Box<Self> from zeroed bytes. Read more
§

fn new_box_slice_zeroed(len: usize) -> Box<[Self]>
where Self: Sized,

Creates a Box<[Self]> (a boxed slice) from zeroed bytes. Read more
§

fn new_vec_zeroed(len: usize) -> Vec<Self>
where Self: Sized,

Creates a Vec<Self> from zeroed bytes. Read more
source§

impl Hash for TdCallResultCode

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for TdCallResultCode

source§

fn cmp(&self, other: &TdCallResultCode) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for TdCallResultCode

source§

fn eq(&self, other: &TdCallResultCode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for TdCallResultCode

source§

fn partial_cmp(&self, other: &TdCallResultCode) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
source§

impl Copy for TdCallResultCode

source§

impl Eq for TdCallResultCode

source§

impl StructuralPartialEq for TdCallResultCode

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.