Struct raw_cpuid::SvmFeatures
source · [−]pub struct SvmFeatures { /* private fields */ }
Expand description
Information about the SVM features that the processory supports (LEAF=0x8000_000A).
Note
If SVM is not supported (ExtendedProcessorFeatureIdentifiers::has_svm is false), this leaf is reserved (crate::CpuId will return None in this case).
Platforms
✅ AMD ❌ Intel
Implementations
sourceimpl SvmFeatures
impl SvmFeatures
sourcepub fn supported_asids(&self) -> u32
pub fn supported_asids(&self) -> u32
Number of available address space identifiers (ASID).
sourcepub fn has_nested_paging(&self) -> bool
pub fn has_nested_paging(&self) -> bool
Nested paging supported if set.
sourcepub fn has_lbr_virtualization(&self) -> bool
pub fn has_lbr_virtualization(&self) -> bool
Indicates support for LBR Virtualization.
sourcepub fn has_svm_lock(&self) -> bool
pub fn has_svm_lock(&self) -> bool
Indicates support for SVM-Lock if set.
sourcepub fn has_tsc_rate_msr(&self) -> bool
pub fn has_tsc_rate_msr(&self) -> bool
Indicates support for MSR TSC ratio (MSR 0xC000_0104
) if set.
sourcepub fn has_vmcb_clean_bits(&self) -> bool
pub fn has_vmcb_clean_bits(&self) -> bool
Indicates support for VMCB clean bits if set.
sourcepub fn has_flush_by_asid(&self) -> bool
pub fn has_flush_by_asid(&self) -> bool
Indicates that TLB flush events, including CR3 writes and CR4.PGE toggles, flush only the current ASID’s TLB entries.
Also indicates support for the extended VMCB TLB_Control.
sourcepub fn has_decode_assists(&self) -> bool
pub fn has_decode_assists(&self) -> bool
Indicates support for the decode assists if set.
sourcepub fn has_pause_filter(&self) -> bool
pub fn has_pause_filter(&self) -> bool
Indicates support for the pause intercept filter if set.
sourcepub fn has_pause_filter_threshold(&self) -> bool
pub fn has_pause_filter_threshold(&self) -> bool
Indicates support for the PAUSE filter cycle count threshold if set.
sourcepub fn has_avic(&self) -> bool
pub fn has_avic(&self) -> bool
Support for the AMD advanced virtual interrupt controller if set.
sourcepub fn has_vmsave_virtualization(&self) -> bool
pub fn has_vmsave_virtualization(&self) -> bool
VMSAVE and VMLOAD virtualization supported if set.
sourcepub fn has_sss_check(&self) -> bool
pub fn has_sss_check(&self) -> bool
SVM supervisor shadow stack restrictions if set.
sourcepub fn has_spec_ctrl(&self) -> bool
pub fn has_spec_ctrl(&self) -> bool
SPEC_CTRL virtualization supported if set.
sourcepub fn has_host_mce_override(&self) -> bool
pub fn has_host_mce_override(&self) -> bool
When host CR4.MCE=1
and guest CR4.MCE=0
, machine check exceptions (#MC
) in a
guest do not cause shutdown and are always intercepted if set.
sourcepub fn has_tlb_ctrl(&self) -> bool
pub fn has_tlb_ctrl(&self) -> bool
Support for INVLPGB/TLBSYNC hypervisor enable in VMCB and TLBSYNC intercept if set.
Trait Implementations
sourceimpl Debug for SvmFeatures
impl Debug for SvmFeatures
sourceimpl PartialEq<SvmFeatures> for SvmFeatures
impl PartialEq<SvmFeatures> for SvmFeatures
sourcefn eq(&self, other: &SvmFeatures) -> bool
fn eq(&self, other: &SvmFeatures) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &SvmFeatures) -> bool
fn ne(&self, other: &SvmFeatures) -> bool
This method tests for !=
.
impl Eq for SvmFeatures
impl StructuralEq for SvmFeatures
impl StructuralPartialEq for SvmFeatures
Auto Trait Implementations
impl RefUnwindSafe for SvmFeatures
impl Send for SvmFeatures
impl Sync for SvmFeatures
impl Unpin for SvmFeatures
impl UnwindSafe for SvmFeatures
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more