pub struct ExtendedFeatureFlagsC(/* private fields */);Expand description
The layout of ECX in EXTENDED_FEATURES_C.
Implementations§
Source§impl ExtendedFeatureFlagsC
impl ExtendedFeatureFlagsC
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 SGX_LC_MASK: u32
pub const SGX_LC_MASK: u32
Unshifted bitmask of sgx_lc.
Sourcepub const SGX_LC_SHIFT: usize = 30
pub const SGX_LC_SHIFT: usize = 30
Bit shift (i.e., the low bit) of sgx_lc.
Sourcepub const MOVDIR64B_MASK: u32
pub const MOVDIR64B_MASK: u32
Unshifted bitmask of movdir64b.
Sourcepub const MOVDIR64B_SHIFT: usize = 28
pub const MOVDIR64B_SHIFT: usize = 28
Bit shift (i.e., the low bit) of movdir64b.
Sourcepub const MOVDIRI_MASK: u32
pub const MOVDIRI_MASK: u32
Unshifted bitmask of movdiri.
Sourcepub const MOVDIRI_SHIFT: usize = 27
pub const MOVDIRI_SHIFT: usize = 27
Bit shift (i.e., the low bit) of movdiri.
Sourcepub const CLDEMOTE_MASK: u32
pub const CLDEMOTE_MASK: u32
Unshifted bitmask of cldemote.
Sourcepub const CLDEMOTE_SHIFT: usize = 25
pub const CLDEMOTE_SHIFT: usize = 25
Bit shift (i.e., the low bit) of cldemote.
Sourcepub const RDPID_MASK: u32
pub const RDPID_MASK: u32
Unshifted bitmask of rdpid.
Sourcepub const RDPID_SHIFT: usize = 22
pub const RDPID_SHIFT: usize = 22
Bit shift (i.e., the low bit) of rdpid.
Sourcepub const LA57_SHIFT: usize = 16
pub const LA57_SHIFT: usize = 16
Bit shift (i.e., the low bit) of la57.
Sourcepub const AVX512_VPOPCNTDQ_MASK: u32
pub const AVX512_VPOPCNTDQ_MASK: u32
Unshifted bitmask of avx512_vpopcntdq.
Sourcepub const AVX512_VPOPCNTDQ_SHIFT: usize = 14
pub const AVX512_VPOPCNTDQ_SHIFT: usize = 14
Bit shift (i.e., the low bit) of avx512_vpopcntdq.
Sourcepub const TME_EN_MASK: u32
pub const TME_EN_MASK: u32
Unshifted bitmask of tme_en.
Sourcepub const TME_EN_SHIFT: usize = 13
pub const TME_EN_SHIFT: usize = 13
Bit shift (i.e., the low bit) of tme_en.
Sourcepub const AVX512_BITALG_MASK: u32
pub const AVX512_BITALG_MASK: u32
Unshifted bitmask of avx512_bitalg.
Sourcepub const AVX512_BITALG_SHIFT: usize = 12
pub const AVX512_BITALG_SHIFT: usize = 12
Bit shift (i.e., the low bit) of avx512_bitalg.
Sourcepub const AVX512_VNNI_MASK: u32
pub const AVX512_VNNI_MASK: u32
Unshifted bitmask of avx512_vnni.
Sourcepub const AVX512_VNNI_SHIFT: usize = 11
pub const AVX512_VNNI_SHIFT: usize = 11
Bit shift (i.e., the low bit) of avx512_vnni.
Sourcepub const VPCLMULQDQ_MASK: u32
pub const VPCLMULQDQ_MASK: u32
Unshifted bitmask of vpclmulqdq.
Sourcepub const VPCLMULQDQ_SHIFT: usize = 10
pub const VPCLMULQDQ_SHIFT: usize = 10
Bit shift (i.e., the low bit) of vpclmulqdq.
Sourcepub const VAES_SHIFT: usize = 9
pub const VAES_SHIFT: usize = 9
Bit shift (i.e., the low bit) of vaes.
Sourcepub const GFNI_SHIFT: usize = 8
pub const GFNI_SHIFT: usize = 8
Bit shift (i.e., the low bit) of gfni.
Sourcepub const CET_SS_MASK: u32
pub const CET_SS_MASK: u32
Unshifted bitmask of cet_ss.
Sourcepub const CET_SS_SHIFT: usize = 7
pub const CET_SS_SHIFT: usize = 7
Bit shift (i.e., the low bit) of cet_ss.
Sourcepub const AVX512_VBMI2_MASK: u32
pub const AVX512_VBMI2_MASK: u32
Unshifted bitmask of avx512_vbmi2.
Sourcepub const AVX512_VBMI2_SHIFT: usize = 6
pub const AVX512_VBMI2_SHIFT: usize = 6
Bit shift (i.e., the low bit) of avx512_vbmi2.
Sourcepub const WAITPKG_MASK: u32
pub const WAITPKG_MASK: u32
Unshifted bitmask of waitpkg.
Sourcepub const WAITPKG_SHIFT: usize = 5
pub const WAITPKG_SHIFT: usize = 5
Bit shift (i.e., the low bit) of waitpkg.
Sourcepub const OSPKE_MASK: u32
pub const OSPKE_MASK: u32
Unshifted bitmask of ospke.
Sourcepub const OSPKE_SHIFT: usize = 4
pub const OSPKE_SHIFT: usize = 4
Bit shift (i.e., the low bit) of ospke.
Sourcepub const UMIP_SHIFT: usize = 2
pub const UMIP_SHIFT: usize = 2
Bit shift (i.e., the low bit) of umip.
Sourcepub const AVX512_VBMI_MASK: u32
pub const AVX512_VBMI_MASK: u32
Unshifted bitmask of avx512_vbmi.
Sourcepub const AVX512_VBMI_SHIFT: usize = 1
pub const AVX512_VBMI_SHIFT: usize = 1
Bit shift (i.e., the low bit) of avx512_vbmi.
Sourcepub const PREFETCHWT1_MASK: u32
pub const PREFETCHWT1_MASK: u32
Unshifted bitmask of prefetchwt1.
Sourcepub const PREFETCHWT1_SHIFT: usize = 0
pub const PREFETCHWT1_SHIFT: usize = 0
Bit shift (i.e., the low bit) of prefetchwt1.
Sourcepub const FIELDS: [FieldMetadata<u32>; 23]
pub const FIELDS: [FieldMetadata<u32>; 23]
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_pks(&mut self, value: bool) -> &mut Self
pub const fn set_pks(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC31.
Sourcepub const fn set_sgx_lc(&mut self, value: bool) -> &mut Self
pub const fn set_sgx_lc(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC30.
Sourcepub const fn set_movdir64b(&mut self, value: bool) -> &mut Self
pub const fn set_movdir64b(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC28.
Sourcepub const fn set_movdiri(&mut self, value: bool) -> &mut Self
pub const fn set_movdiri(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC27.
Sourcepub const fn set_cldemote(&mut self, value: bool) -> &mut Self
pub const fn set_cldemote(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC25.
Sourcepub const fn set_kl(&mut self, value: bool) -> &mut Self
pub const fn set_kl(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC23.
Sourcepub const fn set_rdpid(&mut self, value: bool) -> &mut Self
pub const fn set_rdpid(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC22.
Sourcepub const fn set_la57(&mut self, value: bool) -> &mut Self
pub const fn set_la57(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC16.
Sourcepub const fn avx512_vpopcntdq(&self) -> bool
pub const fn avx512_vpopcntdq(&self) -> bool
The value of ExtendedFeatureFlagsC14.
Sourcepub const fn set_avx512_vpopcntdq(&mut self, value: bool) -> &mut Self
pub const fn set_avx512_vpopcntdq(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC14.
Sourcepub const fn set_tme_en(&mut self, value: bool) -> &mut Self
pub const fn set_tme_en(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC13.
Sourcepub const fn avx512_bitalg(&self) -> bool
pub const fn avx512_bitalg(&self) -> bool
The value of ExtendedFeatureFlagsC12.
Sourcepub const fn set_avx512_bitalg(&mut self, value: bool) -> &mut Self
pub const fn set_avx512_bitalg(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC12.
Sourcepub const fn avx512_vnni(&self) -> bool
pub const fn avx512_vnni(&self) -> bool
The value of ExtendedFeatureFlagsC11.
Sourcepub const fn set_avx512_vnni(&mut self, value: bool) -> &mut Self
pub const fn set_avx512_vnni(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC11.
Sourcepub const fn vpclmulqdq(&self) -> bool
pub const fn vpclmulqdq(&self) -> bool
The value of ExtendedFeatureFlagsC10.
Sourcepub const fn set_vpclmulqdq(&mut self, value: bool) -> &mut Self
pub const fn set_vpclmulqdq(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC10.
Sourcepub const fn set_vaes(&mut self, value: bool) -> &mut Self
pub const fn set_vaes(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC9.
Sourcepub const fn set_gfni(&mut self, value: bool) -> &mut Self
pub const fn set_gfni(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC8.
Sourcepub const fn set_cet_ss(&mut self, value: bool) -> &mut Self
pub const fn set_cet_ss(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC7.
Sourcepub const fn avx512_vbmi2(&self) -> bool
pub const fn avx512_vbmi2(&self) -> bool
The value of ExtendedFeatureFlagsC6.
Sourcepub const fn set_avx512_vbmi2(&mut self, value: bool) -> &mut Self
pub const fn set_avx512_vbmi2(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC6.
Sourcepub const fn set_waitpkg(&mut self, value: bool) -> &mut Self
pub const fn set_waitpkg(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC5.
Sourcepub const fn set_ospke(&mut self, value: bool) -> &mut Self
pub const fn set_ospke(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC4.
Sourcepub const fn set_pku(&mut self, value: bool) -> &mut Self
pub const fn set_pku(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC3.
Sourcepub const fn set_umip(&mut self, value: bool) -> &mut Self
pub const fn set_umip(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC2.
Sourcepub const fn avx512_vbmi(&self) -> bool
pub const fn avx512_vbmi(&self) -> bool
The value of ExtendedFeatureFlagsC1.
Sourcepub const fn set_avx512_vbmi(&mut self, value: bool) -> &mut Self
pub const fn set_avx512_vbmi(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC1.
Sourcepub const fn prefetchwt1(&self) -> bool
pub const fn prefetchwt1(&self) -> bool
The value of ExtendedFeatureFlagsC0.
Sourcepub const fn set_prefetchwt1(&mut self, value: bool) -> &mut Self
pub const fn set_prefetchwt1(&mut self, value: bool) -> &mut Self
Sets the value of ExtendedFeatureFlagsC0.
Trait Implementations§
Source§impl Binary for ExtendedFeatureFlagsC
impl Binary for ExtendedFeatureFlagsC
Source§impl Clone for ExtendedFeatureFlagsC
impl Clone for ExtendedFeatureFlagsC
Source§fn clone(&self) -> ExtendedFeatureFlagsC
fn clone(&self) -> ExtendedFeatureFlagsC
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ExtendedFeatureFlagsC
Source§impl Debug for ExtendedFeatureFlagsC
impl Debug for ExtendedFeatureFlagsC
Source§impl Default for ExtendedFeatureFlagsC
impl Default for ExtendedFeatureFlagsC
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 ExtendedFeatureFlagsC
Source§impl From<ExtendedFeatureFlagsC> for u32
impl From<ExtendedFeatureFlagsC> for u32
Source§fn from(value: ExtendedFeatureFlagsC) -> Self
fn from(value: ExtendedFeatureFlagsC) -> Self
Source§impl From<u32> for ExtendedFeatureFlagsC
impl From<u32> for ExtendedFeatureFlagsC
Source§impl IntoIterator for ExtendedFeatureFlagsC
impl IntoIterator for ExtendedFeatureFlagsC
Source§impl<'a> IntoIterator for &'a ExtendedFeatureFlagsC
impl<'a> IntoIterator for &'a ExtendedFeatureFlagsC
Source§impl LowerHex for ExtendedFeatureFlagsC
impl LowerHex for ExtendedFeatureFlagsC
Source§impl Octal for ExtendedFeatureFlagsC
impl Octal for ExtendedFeatureFlagsC
Source§impl PartialEq for ExtendedFeatureFlagsC
impl PartialEq for ExtendedFeatureFlagsC
impl StructuralPartialEq for ExtendedFeatureFlagsC
Auto Trait Implementations§
impl Freeze for ExtendedFeatureFlagsC
impl RefUnwindSafe for ExtendedFeatureFlagsC
impl Send for ExtendedFeatureFlagsC
impl Sync for ExtendedFeatureFlagsC
impl Unpin for ExtendedFeatureFlagsC
impl UnsafeUnpin for ExtendedFeatureFlagsC
impl UnwindSafe for ExtendedFeatureFlagsC
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)