Struct x86defs::snp::SevFeatures

source ·
pub struct SevFeatures(/* private fields */);

Implementations§

source§

impl SevFeatures

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

Bits: 0..1

source

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

Bits: 0..1

source

pub fn set_snp(&mut self, value: bool)

Bits: 0..1

source

pub const fn vtom(&self) -> bool

Bits: 1..2

source

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

Bits: 1..2

source

pub fn set_vtom(&mut self, value: bool)

Bits: 1..2

source

pub const fn reflect_vc(&self) -> bool

Bits: 2..3

source

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

Bits: 2..3

source

pub fn set_reflect_vc(&mut self, value: bool)

Bits: 2..3

source

pub const fn restrict_injection(&self) -> bool

Bits: 3..4

source

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

Bits: 3..4

source

pub fn set_restrict_injection(&mut self, value: bool)

Bits: 3..4

source

pub const fn alternate_injection(&self) -> bool

Bits: 4..5

source

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

Bits: 4..5

source

pub fn set_alternate_injection(&mut self, value: bool)

Bits: 4..5

source

pub const fn debug_swap(&self) -> bool

Bits: 5..6

source

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

Bits: 5..6

source

pub fn set_debug_swap(&mut self, value: bool)

Bits: 5..6

source

pub const fn prevent_host_ibs(&self) -> bool

Bits: 6..7

source

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

Bits: 6..7

source

pub fn set_prevent_host_ibs(&mut self, value: bool)

Bits: 6..7

source

pub const fn snp_btb_isolation(&self) -> bool

Bits: 7..8

source

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

Bits: 7..8

source

pub fn set_snp_btb_isolation(&mut self, value: bool)

Bits: 7..8

source

pub const fn vmpl_isss(&self) -> bool

Bits: 8..9

source

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

Bits: 8..9

source

pub fn set_vmpl_isss(&mut self, value: bool)

Bits: 8..9

source

pub const fn secure_tsc(&self) -> bool

Bits: 9..10

source

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

Bits: 9..10

source

pub fn set_secure_tsc(&mut self, value: bool)

Bits: 9..10

source

pub const fn vmgexit_param(&self) -> bool

Bits: 10..11

source

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

Bits: 10..11

source

pub fn set_vmgexit_param(&mut self, value: bool)

Bits: 10..11

source

pub const fn pmc_virt(&self) -> bool

Bits: 11..12

source

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

Bits: 11..12

source

pub fn set_pmc_virt(&mut self, value: bool)

Bits: 11..12

source

pub const fn ibs_virt(&self) -> bool

Bits: 12..13

source

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

Bits: 12..13

source

pub fn set_ibs_virt(&mut self, value: bool)

Bits: 12..13

source

pub const fn vmsa_reg_prot(&self) -> bool

Bits: 14..15

source

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

Bits: 14..15

source

pub fn set_vmsa_reg_prot(&mut self, value: bool)

Bits: 14..15

source

pub const fn smt_prot(&self) -> bool

Bits: 15..16

source

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

Bits: 15..16

source

pub fn set_smt_prot(&mut self, value: bool)

Bits: 15..16

source

pub const fn secure_avic(&self) -> bool

Bits: 16..17

source

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

Bits: 16..17

source

pub fn set_secure_avic(&mut self, value: bool)

Bits: 16..17

Trait Implementations§

source§

impl AsBytes for SevFeatures
where u64: 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 SevFeatures

source§

fn clone(&self) -> SevFeatures

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 SevFeatures

source§

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

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

impl Default for SevFeatures

source§

fn default() -> Self

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

impl From<SevFeatures> for u64

source§

fn from(v: SevFeatures) -> u64

Converts to this type from the input type.
source§

impl From<u64> for SevFeatures

source§

fn from(v: u64) -> Self

Converts to this type from the input type.
source§

impl FromBytes for SevFeatures
where u64: 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 SevFeatures
where u64: 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 PartialEq for SevFeatures

source§

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

source§

impl Eq for SevFeatures

source§

impl StructuralPartialEq for SevFeatures

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.