pub struct ExtendedFeatureFlagsD(/* private fields */);Expand description
The layout of EDX in EXTENDED_FEATURES_D.
Implementations§
Source§impl ExtendedFeatureFlagsD
impl ExtendedFeatureFlagsD
Sourcepub const RSVD1_MASK: u32
pub const RSVD1_MASK: u32
Mask of all reserved-as-1 bits.
Sourcepub const RSVD0_MASK: u32
pub const RSVD0_MASK: u32
Mask of all reserved-as-0 bits.
Sourcepub const DEFAULT: u32
pub const DEFAULT: u32
The default value of the layout, combining all field defaults and reserved-as values.
Sourcepub const SSBD_SHIFT: usize = 31
pub const SSBD_SHIFT: usize = 31
Bit shift (i.e., the low bit) of ssbd.
Sourcepub const IA32_CORE_CAPABILITIES_MASK: u32
pub const IA32_CORE_CAPABILITIES_MASK: u32
Unshifted bitmask of ia32_core_capabilities.
Sourcepub const IA32_CORE_CAPABILITIES_SHIFT: usize = 30
pub const IA32_CORE_CAPABILITIES_SHIFT: usize = 30
Bit shift (i.e., the low bit) of ia32_core_capabilities.
Sourcepub const IA32_ARCH_CAPABILITIES_MASK: u32
pub const IA32_ARCH_CAPABILITIES_MASK: u32
Unshifted bitmask of ia32_arch_capabilities.
Sourcepub const IA32_ARCH_CAPABILITIES_SHIFT: usize = 29
pub const IA32_ARCH_CAPABILITIES_SHIFT: usize = 29
Bit shift (i.e., the low bit) of ia32_arch_capabilities.
Sourcepub const L1D_FLUSH_MASK: u32
pub const L1D_FLUSH_MASK: u32
Unshifted bitmask of l1d_flush.
Sourcepub const L1D_FLUSH_SHIFT: usize = 28
pub const L1D_FLUSH_SHIFT: usize = 28
Bit shift (i.e., the low bit) of l1d_flush.
Sourcepub const STIBP_MASK: u32
pub const STIBP_MASK: u32
Unshifted bitmask of stibp.
Sourcepub const STIBP_SHIFT: usize = 27
pub const STIBP_SHIFT: usize = 27
Bit shift (i.e., the low bit) of stibp.
Sourcepub const IBRS_IBPB_MASK: u32
pub const IBRS_IBPB_MASK: u32
Unshifted bitmask of ibrs_ibpb.
Sourcepub const IBRS_IBPB_SHIFT: usize = 26
pub const IBRS_IBPB_SHIFT: usize = 26
Bit shift (i.e., the low bit) of ibrs_ibpb.
Sourcepub const CET_IBT_MASK: u32
pub const CET_IBT_MASK: u32
Unshifted bitmask of cet_ibt.
Sourcepub const CET_IBT_SHIFT: usize = 20
pub const CET_IBT_SHIFT: usize = 20
Bit shift (i.e., the low bit) of cet_ibt.
Sourcepub const PCONFIG_MASK: u32
pub const PCONFIG_MASK: u32
Unshifted bitmask of pconfig.
Sourcepub const PCONFIG_SHIFT: usize = 18
pub const PCONFIG_SHIFT: usize = 18
Bit shift (i.e., the low bit) of pconfig.
Sourcepub const HYBRID_MASK: u32
pub const HYBRID_MASK: u32
Unshifted bitmask of hybrid.
Sourcepub const HYBRID_SHIFT: usize = 15
pub const HYBRID_SHIFT: usize = 15
Bit shift (i.e., the low bit) of hybrid.
Sourcepub const SERIALIZE_MASK: u32
pub const SERIALIZE_MASK: u32
Unshifted bitmask of serialize.
Sourcepub const SERIALIZE_SHIFT: usize = 14
pub const SERIALIZE_SHIFT: usize = 14
Bit shift (i.e., the low bit) of serialize.
Sourcepub const MD_CLEAR_MASK: u32
pub const MD_CLEAR_MASK: u32
Unshifted bitmask of md_clear.
Sourcepub const MD_CLEAR_SHIFT: usize = 10
pub const MD_CLEAR_SHIFT: usize = 10
Bit shift (i.e., the low bit) of md_clear.
Sourcepub const AVX512_VP2INTERSECT_MASK: u32
pub const AVX512_VP2INTERSECT_MASK: u32
Unshifted bitmask of avx512_vp2intersect.
Sourcepub const AVX512_VP2INTERSECT_SHIFT: usize = 8
pub const AVX512_VP2INTERSECT_SHIFT: usize = 8
Bit shift (i.e., the low bit) of avx512_vp2intersect.
Sourcepub const FSRM_SHIFT: usize = 4
pub const FSRM_SHIFT: usize = 4
Bit shift (i.e., the low bit) of fsrm.
Sourcepub const AVX512_4FMAPS_MASK: u32
pub const AVX512_4FMAPS_MASK: u32
Unshifted bitmask of avx512_4fmaps.
Sourcepub const AVX512_4FMAPS_SHIFT: usize = 3
pub const AVX512_4FMAPS_SHIFT: usize = 3
Bit shift (i.e., the low bit) of avx512_4fmaps.
Sourcepub const AVX512_4VNNIW_MASK: u32
pub const AVX512_4VNNIW_MASK: u32
Unshifted bitmask of avx512_4vnniw.
Sourcepub const AVX512_4VNNIW_SHIFT: usize = 2
pub const AVX512_4VNNIW_SHIFT: usize = 2
Bit shift (i.e., the low bit) of avx512_4vnniw.
Sourcepub const FIELDS: [FieldMetadata<u32>; 15]
pub const FIELDS: [FieldMetadata<u32>; 15]
Metadata of all named fields in the layout.
Sourcepub const fn new() -> Self
pub const fn new() -> Self
Creates a new instance with reserved-as-1 bits set and
all other bits zeroed (i.e., with a value of
Self::RSVD1_MASK).
pub const fn bits(self) -> u32
Sourcepub const fn set_ssbd(&mut self, value: bool) -> &mut Self
pub const fn set_ssbd(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD31.
Sourcepub const fn ia32_core_capabilities(&self) -> bool
pub const fn ia32_core_capabilities(&self) -> bool
The value of ExtendedFeatureFlagsD30.
Sourcepub const fn set_ia32_core_capabilities(&mut self, value: bool) -> &mut Self
pub const fn set_ia32_core_capabilities(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD30.
Sourcepub const fn ia32_arch_capabilities(&self) -> bool
pub const fn ia32_arch_capabilities(&self) -> bool
The value of ExtendedFeatureFlagsD29.
Sourcepub const fn set_ia32_arch_capabilities(&mut self, value: bool) -> &mut Self
pub const fn set_ia32_arch_capabilities(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD29.
Sourcepub const fn set_l1d_flush(&mut self, value: bool) -> &mut Self
pub const fn set_l1d_flush(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD28.
Sourcepub const fn set_stibp(&mut self, value: bool) -> &mut Self
pub const fn set_stibp(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD27.
Sourcepub const fn set_ibrs_ibpb(&mut self, value: bool) -> &mut Self
pub const fn set_ibrs_ibpb(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD26.
Sourcepub const fn set_cet_ibt(&mut self, value: bool) -> &mut Self
pub const fn set_cet_ibt(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD20.
Sourcepub const fn set_pconfig(&mut self, value: bool) -> &mut Self
pub const fn set_pconfig(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD18.
Sourcepub const fn set_hybrid(&mut self, value: bool) -> &mut Self
pub const fn set_hybrid(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD15.
Sourcepub const fn set_serialize(&mut self, value: bool) -> &mut Self
pub const fn set_serialize(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD14.
Sourcepub const fn set_md_clear(&mut self, value: bool) -> &mut Self
pub const fn set_md_clear(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD10.
Sourcepub const fn avx512_vp2intersect(&self) -> bool
pub const fn avx512_vp2intersect(&self) -> bool
The value of ExtendedFeatureFlagsD8.
Sourcepub const fn set_avx512_vp2intersect(&mut self, value: bool) -> &mut Self
pub const fn set_avx512_vp2intersect(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD8.
Sourcepub const fn set_fsrm(&mut self, value: bool) -> &mut Self
pub const fn set_fsrm(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD4.
Sourcepub const fn avx512_4fmaps(&self) -> bool
pub const fn avx512_4fmaps(&self) -> bool
The value of ExtendedFeatureFlagsD3.
Sourcepub const fn set_avx512_4fmaps(&mut self, value: bool) -> &mut Self
pub const fn set_avx512_4fmaps(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD3.
Sourcepub const fn avx512_4vnniw(&self) -> bool
pub const fn avx512_4vnniw(&self) -> bool
The value of ExtendedFeatureFlagsD2.
Sourcepub const fn set_avx512_4vnniw(&mut self, value: bool) -> &mut Self
pub const fn set_avx512_4vnniw(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsD2.
Trait Implementations§
Source§impl Binary for ExtendedFeatureFlagsD
impl Binary for ExtendedFeatureFlagsD
Source§impl Clone for ExtendedFeatureFlagsD
impl Clone for ExtendedFeatureFlagsD
Source§fn clone(&self) -> ExtendedFeatureFlagsD
fn clone(&self) -> ExtendedFeatureFlagsD
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ExtendedFeatureFlagsD
Source§impl Debug for ExtendedFeatureFlagsD
impl Debug for ExtendedFeatureFlagsD
Source§impl Default for ExtendedFeatureFlagsD
impl Default for ExtendedFeatureFlagsD
Source§fn default() -> Self
fn default() -> Self
Returns an instance with the default bits set (i.e,. with a
value of Self::DEFAULT.
impl Eq for ExtendedFeatureFlagsD
Source§impl From<ExtendedFeatureFlagsD> for u32
impl From<ExtendedFeatureFlagsD> for u32
Source§fn from(value: ExtendedFeatureFlagsD) -> Self
fn from(value: ExtendedFeatureFlagsD) -> Self
Source§impl From<u32> for ExtendedFeatureFlagsD
impl From<u32> for ExtendedFeatureFlagsD
Source§impl IntoIterator for ExtendedFeatureFlagsD
impl IntoIterator for ExtendedFeatureFlagsD
Source§impl<'a> IntoIterator for &'a ExtendedFeatureFlagsD
impl<'a> IntoIterator for &'a ExtendedFeatureFlagsD
Source§impl LowerHex for ExtendedFeatureFlagsD
impl LowerHex for ExtendedFeatureFlagsD
Source§impl Octal for ExtendedFeatureFlagsD
impl Octal for ExtendedFeatureFlagsD
Source§impl PartialEq for ExtendedFeatureFlagsD
impl PartialEq for ExtendedFeatureFlagsD
impl StructuralPartialEq for ExtendedFeatureFlagsD
Auto Trait Implementations§
impl Freeze for ExtendedFeatureFlagsD
impl RefUnwindSafe for ExtendedFeatureFlagsD
impl Send for ExtendedFeatureFlagsD
impl Sync for ExtendedFeatureFlagsD
impl Unpin for ExtendedFeatureFlagsD
impl UnsafeUnpin for ExtendedFeatureFlagsD
impl UnwindSafe for ExtendedFeatureFlagsD
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)