Skip to main content

TdxFeatures0

Struct TdxFeatures0 

Source
pub struct TdxFeatures0(/* private fields */);
Expand description

The global-scope TDX_FEATURES0 metadata field, enumerating optional TDX module features. Read by the guest via TDG.SYS.RD (TdCallLeaf::SYS_RD).

Only the bits relevant to hardware-bound sealing are modeled here; the remaining bits are documented by the Intel TDX Module ABI specification.

Implementations§

Source§

impl TdxFeatures0

Source

pub const fn new() -> Self

Creates a new default initialized bitfield.

Source

pub const fn from_bits(bits: u64) -> Self

Convert from bits.

Source

pub const fn into_bits(self) -> u64

Convert into bits.

Source

pub const fn sealing(&self) -> bool

SEALING (bit 12) - the TDX module supports signed TDs and seal keys bound to TD properties, exposing the TDG.MR.KEY.GET interface.

Bits: 12..13

Source

pub const fn with_sealing_checked(self, value: bool) -> Result<Self, ()>

SEALING (bit 12) - the TDX module supports signed TDs and seal keys bound to TD properties, exposing the TDG.MR.KEY.GET interface.

Bits: 12..13

Source

pub const fn with_sealing(self, value: bool) -> Self

SEALING (bit 12) - the TDX module supports signed TDs and seal keys bound to TD properties, exposing the TDG.MR.KEY.GET interface.

Bits: 12..13

Source

pub const fn set_sealing(&mut self, value: bool)

SEALING (bit 12) - the TDX module supports signed TDs and seal keys bound to TD properties, exposing the TDG.MR.KEY.GET interface.

Bits: 12..13

Source

pub const fn set_sealing_checked(&mut self, value: bool) -> Result<(), ()>

SEALING (bit 12) - the TDX module supports signed TDs and seal keys bound to TD properties, exposing the TDG.MR.KEY.GET interface.

Bits: 12..13

Source

pub const fn td_signing_and_svn(&self) -> bool

TD_SIGNING_AND_SVN (bit 22) - prerequisite support that SEALING depends on.

Bits: 22..23

Source

pub const fn with_td_signing_and_svn_checked( self, value: bool, ) -> Result<Self, ()>

TD_SIGNING_AND_SVN (bit 22) - prerequisite support that SEALING depends on.

Bits: 22..23

Source

pub const fn with_td_signing_and_svn(self, value: bool) -> Self

TD_SIGNING_AND_SVN (bit 22) - prerequisite support that SEALING depends on.

Bits: 22..23

Source

pub const fn set_td_signing_and_svn(&mut self, value: bool)

TD_SIGNING_AND_SVN (bit 22) - prerequisite support that SEALING depends on.

Bits: 22..23

Source

pub const fn set_td_signing_and_svn_checked( &mut self, value: bool, ) -> Result<(), ()>

TD_SIGNING_AND_SVN (bit 22) - prerequisite support that SEALING depends on.

Bits: 22..23

Source

pub const fn sealkey_128(&self) -> bool

SEALKEY_128 (bit 50) - enumerates the seal key size.

Bits: 50..51

Source

pub const fn with_sealkey_128_checked(self, value: bool) -> Result<Self, ()>

SEALKEY_128 (bit 50) - enumerates the seal key size.

Bits: 50..51

Source

pub const fn with_sealkey_128(self, value: bool) -> Self

SEALKEY_128 (bit 50) - enumerates the seal key size.

Bits: 50..51

Source

pub const fn set_sealkey_128(&mut self, value: bool)

SEALKEY_128 (bit 50) - enumerates the seal key size.

Bits: 50..51

Source

pub const fn set_sealkey_128_checked(&mut self, value: bool) -> Result<(), ()>

SEALKEY_128 (bit 50) - enumerates the seal key size.

Bits: 50..51

Trait Implementations§

Source§

impl Clone for TdxFeatures0

Source§

fn clone(&self) -> TdxFeatures0

Returns a duplicate 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 TdxFeatures0

Source§

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

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

impl Default for TdxFeatures0

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl From<TdxFeatures0> for u64

Source§

fn from(v: TdxFeatures0) -> u64

Converts to this type from the input type.
Source§

impl From<u64> for TdxFeatures0

Source§

fn from(v: u64) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for TdxFeatures0

Source§

fn eq(&self, other: &TdxFeatures0) -> 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 Copy for TdxFeatures0

Source§

impl Eq for TdxFeatures0

Source§

impl StructuralPartialEq for TdxFeatures0

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.