Skip to main content

TdCtls

Struct TdCtls 

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

The TDCS TD_CTLS TD-scope control field, accessed via TDG.VM.RD and TDG.VM.WR.

Implementations§

Source§

impl TdCtls

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 pending_ve_disable(&self) -> bool

PENDING_VE_DISABLE

Bits: 0..1

Source

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

PENDING_VE_DISABLE

Bits: 0..1

Source

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

PENDING_VE_DISABLE

Bits: 0..1

Source

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

PENDING_VE_DISABLE

Bits: 0..1

Source

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

PENDING_VE_DISABLE

Bits: 0..1

Source

pub const fn enum_topology(&self) -> bool

ENUM_TOPOLOGY

Bits: 1..2

Source

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

ENUM_TOPOLOGY

Bits: 1..2

Source

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

ENUM_TOPOLOGY

Bits: 1..2

Source

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

ENUM_TOPOLOGY

Bits: 1..2

Source

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

ENUM_TOPOLOGY

Bits: 1..2

Source

pub const fn virt_cpuid2(&self) -> bool

VIRT_CPUID2

Bits: 2..3

Source

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

VIRT_CPUID2

Bits: 2..3

Source

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

VIRT_CPUID2

Bits: 2..3

Source

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

VIRT_CPUID2

Bits: 2..3

Source

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

VIRT_CPUID2

Bits: 2..3

Source

pub const fn reduce_ve(&self) -> bool

REDUCE_VE

Bits: 3..4

Source

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

REDUCE_VE

Bits: 3..4

Source

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

REDUCE_VE

Bits: 3..4

Source

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

REDUCE_VE

Bits: 3..4

Source

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

REDUCE_VE

Bits: 3..4

Source

pub const fn enable_hw_seal_keys(&self) -> bool

ENABLE_HW_SEAL_KEYS - opts the TD into hardware-bound seal keys returned by TDG.MR.KEY.GET, even when CONFIG_FLAGS.SEAL_KEY_SUPPORT is not set.

Bits: 4..5

Source

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

ENABLE_HW_SEAL_KEYS - opts the TD into hardware-bound seal keys returned by TDG.MR.KEY.GET, even when CONFIG_FLAGS.SEAL_KEY_SUPPORT is not set.

Bits: 4..5

Source

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

ENABLE_HW_SEAL_KEYS - opts the TD into hardware-bound seal keys returned by TDG.MR.KEY.GET, even when CONFIG_FLAGS.SEAL_KEY_SUPPORT is not set.

Bits: 4..5

Source

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

ENABLE_HW_SEAL_KEYS - opts the TD into hardware-bound seal keys returned by TDG.MR.KEY.GET, even when CONFIG_FLAGS.SEAL_KEY_SUPPORT is not set.

Bits: 4..5

Source

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

ENABLE_HW_SEAL_KEYS - opts the TD into hardware-bound seal keys returned by TDG.MR.KEY.GET, even when CONFIG_FLAGS.SEAL_KEY_SUPPORT is not set.

Bits: 4..5

Source

pub const fn lock(&self) -> bool

LOCK - once set, TD_CTLS becomes read-only.

Bits: 63..64

Source

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

LOCK - once set, TD_CTLS becomes read-only.

Bits: 63..64

Source

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

LOCK - once set, TD_CTLS becomes read-only.

Bits: 63..64

Source

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

LOCK - once set, TD_CTLS becomes read-only.

Bits: 63..64

Source

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

LOCK - once set, TD_CTLS becomes read-only.

Bits: 63..64

Trait Implementations§

Source§

impl Clone for TdCtls

Source§

fn clone(&self) -> TdCtls

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 TdCtls

Source§

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

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

impl Default for TdCtls

Source§

fn default() -> Self

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

impl From<TdCtls> for u64

Source§

fn from(v: TdCtls) -> u64

Converts to this type from the input type.
Source§

impl From<u64> for TdCtls

Source§

fn from(v: u64) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for TdCtls

Source§

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

Source§

impl Eq for TdCtls

Source§

impl StructuralPartialEq for TdCtls

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.