Struct raw_cpuid::MemoryEncryptionInfo

source ·
pub struct MemoryEncryptionInfo { /* private fields */ }
Expand description

Encrypted Memory Capabilities (LEAF=0x8000_001F).

§Platforms

✅ AMD ❌ Intel

Implementations§

source§

impl MemoryEncryptionInfo

source

pub fn has_sme(&self) -> bool

Secure Memory Encryption is supported if set.

source

pub fn has_sev(&self) -> bool

Secure Encrypted Virtualization is supported if set.

source

pub fn has_page_flush_msr(&self) -> bool

The Page Flush MSR is available if set.

source

pub fn has_sev_es(&self) -> bool

SEV Encrypted State is supported if set.

source

pub fn has_sev_snp(&self) -> bool

SEV Secure Nested Paging supported if set.

source

pub fn has_vmpl(&self) -> bool

VM Permission Levels supported if set.

source

pub fn has_hw_enforced_cache_coh(&self) -> bool

Hardware cache coherency across encryption domains enforced if set.

source

pub fn has_64bit_mode(&self) -> bool

SEV guest execution only allowed from a 64-bit host if set.

source

pub fn has_restricted_injection(&self) -> bool

Restricted Injection supported if set.

source

pub fn has_alternate_injection(&self) -> bool

Alternate Injection supported if set.

source

pub fn has_debug_swap(&self) -> bool

Full debug state swap supported for SEV-ES guests.

source

pub fn has_prevent_host_ibs(&self) -> bool

Disallowing IBS use by the host supported if set.

source

pub fn has_vte(&self) -> bool

Virtual Transparent Encryption supported if set.

source

pub fn c_bit_position(&self) -> u8

C-bit location in page table entry

source

pub fn physical_address_reduction(&self) -> u8

Physical Address bit reduction

source

pub fn max_encrypted_guests(&self) -> u32

Number of encrypted guests supported simultaneouslys

source

pub fn min_sev_no_es_asid(&self) -> u32

Minimum ASID value for an SEV enabled, SEV-ES disabled guest

Trait Implementations§

source§

impl Debug for MemoryEncryptionInfo

source§

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

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

impl PartialEq for MemoryEncryptionInfo

source§

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

source§

impl StructuralPartialEq for MemoryEncryptionInfo

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> 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, 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.