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§
source§impl 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§
source§impl Debug for SvmFeatures
impl Debug for SvmFeatures
source§impl PartialEq<SvmFeatures> for SvmFeatures
impl PartialEq<SvmFeatures> for SvmFeatures
source§fn eq(&self, other: &SvmFeatures) -> bool
fn eq(&self, other: &SvmFeatures) -> bool
self
and other
values to be equal, and is used
by ==
.