pub struct TdAttributes(/* private fields */);Expand description
See ATTRIBUTES in Table 3.9, “Intel TDX Module v1.5 ABI specification”, March 2024.
Implementations§
Source§impl TdAttributes
impl TdAttributes
Sourcepub const fn with_debug_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_debug_checked(self, value: bool) -> Result<Self, ()>
Bits: 0..1
Sourcepub const fn with_debug(self, value: bool) -> Self
pub const fn with_debug(self, value: bool) -> Self
Bits: 0..1
Sourcepub const fn hgs_plus_prof(&self) -> bool
pub const fn hgs_plus_prof(&self) -> bool
Bits: 4..5
Sourcepub const fn with_hgs_plus_prof_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_hgs_plus_prof_checked(self, value: bool) -> Result<Self, ()>
Bits: 4..5
Sourcepub const fn with_hgs_plus_prof(self, value: bool) -> Self
pub const fn with_hgs_plus_prof(self, value: bool) -> Self
Bits: 4..5
Sourcepub const fn set_hgs_plus_prof(&mut self, value: bool)
pub const fn set_hgs_plus_prof(&mut self, value: bool)
Bits: 4..5
Sourcepub const fn with_perf_prof_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_perf_prof_checked(self, value: bool) -> Result<Self, ()>
Bits: 5..6
Sourcepub const fn with_perf_prof(self, value: bool) -> Self
pub const fn with_perf_prof(self, value: bool) -> Self
Bits: 5..6
Sourcepub const fn set_perf_prof(&mut self, value: bool)
pub const fn set_perf_prof(&mut self, value: bool)
Bits: 5..6
Sourcepub const fn with_pmt_prof_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_pmt_prof_checked(self, value: bool) -> Result<Self, ()>
Bits: 6..7
Sourcepub const fn with_pmt_prof(self, value: bool) -> Self
pub const fn with_pmt_prof(self, value: bool) -> Self
Bits: 6..7
Sourcepub const fn set_pmt_prof(&mut self, value: bool)
pub const fn set_pmt_prof(&mut self, value: bool)
Bits: 6..7
Sourcepub const fn with_lass_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_lass_checked(self, value: bool) -> Result<Self, ()>
Bits: 27..28
Sourcepub const fn sept_ve_disable(&self) -> bool
pub const fn sept_ve_disable(&self) -> bool
Bits: 28..29
Sourcepub const fn with_sept_ve_disable_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_sept_ve_disable_checked(self, value: bool) -> Result<Self, ()>
Bits: 28..29
Sourcepub const fn with_sept_ve_disable(self, value: bool) -> Self
pub const fn with_sept_ve_disable(self, value: bool) -> Self
Bits: 28..29
Sourcepub const fn set_sept_ve_disable(&mut self, value: bool)
pub const fn set_sept_ve_disable(&mut self, value: bool)
Bits: 28..29
Sourcepub const fn set_sept_ve_disable_checked(
&mut self,
value: bool,
) -> Result<(), ()>
pub const fn set_sept_ve_disable_checked( &mut self, value: bool, ) -> Result<(), ()>
Bits: 28..29
Sourcepub const fn migratable(&self) -> bool
pub const fn migratable(&self) -> bool
Bits: 29..30
Sourcepub const fn with_migratable_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_migratable_checked(self, value: bool) -> Result<Self, ()>
Bits: 29..30
Sourcepub const fn with_migratable(self, value: bool) -> Self
pub const fn with_migratable(self, value: bool) -> Self
Bits: 29..30
Sourcepub const fn set_migratable(&mut self, value: bool)
pub const fn set_migratable(&mut self, value: bool)
Bits: 29..30
Sourcepub const fn with_pks_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_pks_checked(self, value: bool) -> Result<Self, ()>
Bits: 30..31
Sourcepub const fn with_kl_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_kl_checked(self, value: bool) -> Result<Self, ()>
Bits: 31..32
Sourcepub const fn with_tpa_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_tpa_checked(self, value: bool) -> Result<Self, ()>
Bits: 62..63
Sourcepub const fn with_perfmon_checked(self, value: bool) -> Result<Self, ()>
pub const fn with_perfmon_checked(self, value: bool) -> Result<Self, ()>
Bits: 63..64
Sourcepub const fn with_perfmon(self, value: bool) -> Self
pub const fn with_perfmon(self, value: bool) -> Self
Bits: 63..64
Sourcepub const fn set_perfmon(&mut self, value: bool)
pub const fn set_perfmon(&mut self, value: bool)
Bits: 63..64
Trait Implementations§
Source§impl Clone for TdAttributes
impl Clone for TdAttributes
Source§fn clone(&self) -> TdAttributes
fn clone(&self) -> TdAttributes
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TdAttributes
impl Debug for TdAttributes
Source§impl Default for TdAttributes
impl Default for TdAttributes
Source§impl From<TdAttributes> for u64
impl From<TdAttributes> for u64
Source§fn from(v: TdAttributes) -> u64
fn from(v: TdAttributes) -> u64
Converts to this type from the input type.
Source§impl From<u64> for TdAttributes
impl From<u64> for TdAttributes
Source§impl FromBytes for TdAttributeswhere
u64: FromBytes,
impl FromBytes for TdAttributeswhere
u64: FromBytes,
§fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
fn ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
§fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
fn ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: KnownLayout + Immutable,
§fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: Immutable + KnownLayout,
fn ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, Infallible>>where
Self: Immutable + KnownLayout,
Interprets the suffix of the given bytes as a
&Self. Read more§fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_bytes(
source: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
§fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
fn mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, Infallible>>where
Self: IntoBytes + KnownLayout,
Source§impl FromZeros for TdAttributeswhere
u64: FromZeros,
impl FromZeros for TdAttributeswhere
u64: FromZeros,
§fn new_zeroed() -> Selfwhere
Self: Sized,
fn new_zeroed() -> Selfwhere
Self: Sized,
Creates an instance of
Self from zeroed bytes. Read more§fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
fn new_box_zeroed() -> Result<Box<Self>, AllocError>where
Self: Sized,
Creates a
Box<Self> from zeroed bytes. Read more§fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>where
Self: Sized,
fn new_vec_zeroed(len: usize) -> Result<Vec<Self>, AllocError>where
Self: Sized,
Creates a
Vec<Self> from zeroed bytes. Read moreSource§impl IntoBytes for TdAttributeswhere
u64: IntoBytes,
impl IntoBytes for TdAttributeswhere
u64: IntoBytes,
§fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
fn as_mut_bytes(&mut self) -> &mut [u8] ⓘwhere
Self: FromBytes,
Gets the bytes of this value mutably. Read more
§fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
fn write_to(&self, dst: &mut [u8]) -> Result<(), SizeError<&Self, &mut [u8]>>where
Self: Immutable,
Source§impl KnownLayout for TdAttributeswhere
Self: Sized,
impl KnownLayout for TdAttributeswhere
Self: Sized,
Source§type PointerMetadata = ()
type PointerMetadata = ()
The type of metadata stored in a pointer to
Self. Read more§fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
fn size_for_metadata(meta: Self::PointerMetadata) -> Option<usize>
Computes the size of an object of type
Self with the given pointer
metadata. Read moreSource§impl TryFromBytes for TdAttributeswhere
u64: TryFromBytes,
impl TryFromBytes for TdAttributeswhere
u64: TryFromBytes,
§fn try_ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_bytes(
source: &[u8],
) -> Result<&Self, ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_prefix(
source: &[u8],
) -> Result<(&Self, &[u8]), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
fn try_ref_from_suffix(
source: &[u8],
) -> Result<(&[u8], &Self), ConvertError<AlignmentError<&[u8], Self>, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: KnownLayout + Immutable,
§fn try_mut_from_bytes(
bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_bytes(
bytes: &mut [u8],
) -> Result<&mut Self, ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_prefix(
source: &mut [u8],
) -> Result<(&mut Self, &mut [u8]), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
fn try_mut_from_suffix(
source: &mut [u8],
) -> Result<(&mut [u8], &mut Self), ConvertError<AlignmentError<&mut [u8], Self>, SizeError<&mut [u8], Self>, ValidityError<&mut [u8], Self>>>where
Self: KnownLayout + IntoBytes,
§fn try_read_from_bytes(
source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_bytes(
source: &[u8],
) -> Result<Self, ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
§fn try_read_from_prefix(
source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_prefix(
source: &[u8],
) -> Result<(Self, &[u8]), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
§fn try_read_from_suffix(
source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
fn try_read_from_suffix(
source: &[u8],
) -> Result<(&[u8], Self), ConvertError<Infallible, SizeError<&[u8], Self>, ValidityError<&[u8], Self>>>where
Self: Sized,
impl Copy for TdAttributes
impl Immutable for TdAttributeswhere
u64: Immutable,
Auto Trait Implementations§
impl Freeze for TdAttributes
impl RefUnwindSafe for TdAttributes
impl Send for TdAttributes
impl Sync for TdAttributes
impl Unpin for TdAttributes
impl UnsafeUnpin for TdAttributes
impl UnwindSafe for TdAttributes
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more