Skip to main content

ExtendedFeatureFlagsB

Struct ExtendedFeatureFlagsB 

Source
pub struct ExtendedFeatureFlagsB(/* private fields */);
Expand description

The layout of EBX in EXTENDED_FEATURES_B.

Implementations§

Source§

impl ExtendedFeatureFlagsB

Source

pub const RSVD1_MASK: u32

Mask of all reserved-as-1 bits.

Source

pub const RSVD0_MASK: u32

Mask of all reserved-as-0 bits.

Source

pub const DEFAULT: u32

The default value of the layout, combining all field defaults and reserved-as values.

Source

pub const AVX512VL_MASK: u32

Unshifted bitmask of avx512vl.

Source

pub const AVX512VL_SHIFT: usize = 31

Bit shift (i.e., the low bit) of avx512vl.

Source

pub const AVX512BW_MASK: u32

Unshifted bitmask of avx512bw.

Source

pub const AVX512BW_SHIFT: usize = 30

Bit shift (i.e., the low bit) of avx512bw.

Source

pub const SHA_MASK: u32

Unshifted bitmask of sha.

Source

pub const SHA_SHIFT: usize = 29

Bit shift (i.e., the low bit) of sha.

Source

pub const AVX512CD_MASK: u32

Unshifted bitmask of avx512cd.

Source

pub const AVX512CD_SHIFT: usize = 28

Bit shift (i.e., the low bit) of avx512cd.

Source

pub const AVX512ER_MASK: u32

Unshifted bitmask of avx512er.

Source

pub const AVX512ER_SHIFT: usize = 27

Bit shift (i.e., the low bit) of avx512er.

Source

pub const AVX512PF_MASK: u32

Unshifted bitmask of avx512pf.

Source

pub const AVX512PF_SHIFT: usize = 26

Bit shift (i.e., the low bit) of avx512pf.

Source

pub const INTEL_PT_MASK: u32

Unshifted bitmask of intel_pt.

Source

pub const INTEL_PT_SHIFT: usize = 25

Bit shift (i.e., the low bit) of intel_pt.

Source

pub const CLWB_MASK: u32

Unshifted bitmask of clwb.

Source

pub const CLWB_SHIFT: usize = 24

Bit shift (i.e., the low bit) of clwb.

Source

pub const CLFLUSHOPT_MASK: u32

Unshifted bitmask of clflushopt.

Source

pub const CLFLUSHOPT_SHIFT: usize = 23

Bit shift (i.e., the low bit) of clflushopt.

Source

pub const AVX512_IFMA_MASK: u32

Unshifted bitmask of avx512_ifma.

Source

pub const AVX512_IFMA_SHIFT: usize = 21

Bit shift (i.e., the low bit) of avx512_ifma.

Source

pub const SMAP_MASK: u32

Unshifted bitmask of smap.

Source

pub const SMAP_SHIFT: usize = 20

Bit shift (i.e., the low bit) of smap.

Source

pub const ADX_MASK: u32

Unshifted bitmask of adx.

Source

pub const ADX_SHIFT: usize = 19

Bit shift (i.e., the low bit) of adx.

Source

pub const RDSEED_MASK: u32

Unshifted bitmask of rdseed.

Source

pub const RDSEED_SHIFT: usize = 18

Bit shift (i.e., the low bit) of rdseed.

Source

pub const AVX512DQ_MASK: u32

Unshifted bitmask of avx512dq.

Source

pub const AVX512DQ_SHIFT: usize = 17

Bit shift (i.e., the low bit) of avx512dq.

Source

pub const AVX512F_MASK: u32

Unshifted bitmask of avx512f.

Source

pub const AVX512F_SHIFT: usize = 16

Bit shift (i.e., the low bit) of avx512f.

Source

pub const RDT_A_MASK: u32

Unshifted bitmask of rdt_a.

Source

pub const RDT_A_SHIFT: usize = 15

Bit shift (i.e., the low bit) of rdt_a.

Source

pub const MPX_MASK: u32

Unshifted bitmask of mpx.

Source

pub const MPX_SHIFT: usize = 14

Bit shift (i.e., the low bit) of mpx.

Source

pub const FPU_CS_DS_DEPRECATED_MASK: u32

Unshifted bitmask of fpu_cs_ds_deprecated.

Source

pub const FPU_CS_DS_DEPRECATED_SHIFT: usize = 13

Bit shift (i.e., the low bit) of fpu_cs_ds_deprecated.

Source

pub const RDT_M_MASK: u32

Unshifted bitmask of rdt_m.

Source

pub const RDT_M_SHIFT: usize = 12

Bit shift (i.e., the low bit) of rdt_m.

Source

pub const RTM_MASK: u32

Unshifted bitmask of rtm.

Source

pub const RTM_SHIFT: usize = 11

Bit shift (i.e., the low bit) of rtm.

Source

pub const INVPCID_MASK: u32

Unshifted bitmask of invpcid.

Source

pub const INVPCID_SHIFT: usize = 10

Bit shift (i.e., the low bit) of invpcid.

Source

pub const ERMS_MASK: u32

Unshifted bitmask of erms.

Source

pub const ERMS_SHIFT: usize = 9

Bit shift (i.e., the low bit) of erms.

Source

pub const BMI2_MASK: u32

Unshifted bitmask of bmi2.

Source

pub const BMI2_SHIFT: usize = 8

Bit shift (i.e., the low bit) of bmi2.

Source

pub const SMEP_MASK: u32

Unshifted bitmask of smep.

Source

pub const SMEP_SHIFT: usize = 7

Bit shift (i.e., the low bit) of smep.

Source

pub const FDP_EXCPTN_ONLY_X87_MASK: u32

Unshifted bitmask of fdp_excptn_only_x87.

Source

pub const FDP_EXCPTN_ONLY_X87_SHIFT: usize = 6

Bit shift (i.e., the low bit) of fdp_excptn_only_x87.

Source

pub const AVX2_MASK: u32

Unshifted bitmask of avx2.

Source

pub const AVX2_SHIFT: usize = 5

Bit shift (i.e., the low bit) of avx2.

Source

pub const HLE_MASK: u32

Unshifted bitmask of hle.

Source

pub const HLE_SHIFT: usize = 4

Bit shift (i.e., the low bit) of hle.

Source

pub const BMI1_MASK: u32

Unshifted bitmask of bmi1.

Source

pub const BMI1_SHIFT: usize = 3

Bit shift (i.e., the low bit) of bmi1.

Source

pub const SGX_MASK: u32

Unshifted bitmask of sgx.

Source

pub const SGX_SHIFT: usize = 2

Bit shift (i.e., the low bit) of sgx.

Source

pub const TSC_ADJUST_MASK: u32

Unshifted bitmask of tsc_adjust.

Source

pub const TSC_ADJUST_SHIFT: usize = 1

Bit shift (i.e., the low bit) of tsc_adjust.

Source

pub const FSGSBASE_MASK: u32

Unshifted bitmask of fsgsbase.

Source

pub const FSGSBASE_SHIFT: usize = 0

Bit shift (i.e., the low bit) of fsgsbase.

Source

pub const FIELDS: [FieldMetadata<u32>; 31]

Metadata of all named fields in the layout.

Source

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

Source

pub const fn bits(self) -> u32

Source

pub const fn avx512vl(&self) -> bool

The value of ExtendedFeatureFlagsB31.

Source

pub const fn set_avx512vl(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB31.

Source

pub const fn avx512bw(&self) -> bool

The value of ExtendedFeatureFlagsB30.

Source

pub const fn set_avx512bw(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB30.

Source

pub const fn sha(&self) -> bool

The value of ExtendedFeatureFlagsB29.

Source

pub const fn set_sha(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB29.

Source

pub const fn avx512cd(&self) -> bool

The value of ExtendedFeatureFlagsB28.

Source

pub const fn set_avx512cd(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB28.

Source

pub const fn avx512er(&self) -> bool

The value of ExtendedFeatureFlagsB27.

Source

pub const fn set_avx512er(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB27.

Source

pub const fn avx512pf(&self) -> bool

The value of ExtendedFeatureFlagsB26.

Source

pub const fn set_avx512pf(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB26.

Source

pub const fn intel_pt(&self) -> bool

The value of ExtendedFeatureFlagsB25.

Source

pub const fn set_intel_pt(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB25.

Source

pub const fn clwb(&self) -> bool

The value of ExtendedFeatureFlagsB24.

Source

pub const fn set_clwb(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB24.

Source

pub const fn clflushopt(&self) -> bool

The value of ExtendedFeatureFlagsB23.

Source

pub const fn set_clflushopt(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB23.

Source

pub const fn avx512_ifma(&self) -> bool

The value of ExtendedFeatureFlagsB21.

Source

pub const fn set_avx512_ifma(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB21.

Source

pub const fn smap(&self) -> bool

The value of ExtendedFeatureFlagsB20.

Source

pub const fn set_smap(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB20.

Source

pub const fn adx(&self) -> bool

The value of ExtendedFeatureFlagsB19.

Source

pub const fn set_adx(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB19.

Source

pub const fn rdseed(&self) -> bool

The value of ExtendedFeatureFlagsB18.

Source

pub const fn set_rdseed(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB18.

Source

pub const fn avx512dq(&self) -> bool

The value of ExtendedFeatureFlagsB17.

Source

pub const fn set_avx512dq(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB17.

Source

pub const fn avx512f(&self) -> bool

The value of ExtendedFeatureFlagsB16.

Source

pub const fn set_avx512f(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB16.

Source

pub const fn rdt_a(&self) -> bool

The value of ExtendedFeatureFlagsB15.

Source

pub const fn set_rdt_a(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB15.

Source

pub const fn mpx(&self) -> bool

The value of ExtendedFeatureFlagsB14.

Source

pub const fn set_mpx(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB14.

Source

pub const fn fpu_cs_ds_deprecated(&self) -> bool

The value of ExtendedFeatureFlagsB13.

Source

pub const fn set_fpu_cs_ds_deprecated(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB13.

Source

pub const fn rdt_m(&self) -> bool

The value of ExtendedFeatureFlagsB12.

Source

pub const fn set_rdt_m(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB12.

Source

pub const fn rtm(&self) -> bool

The value of ExtendedFeatureFlagsB11.

Source

pub const fn set_rtm(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB11.

Source

pub const fn invpcid(&self) -> bool

The value of ExtendedFeatureFlagsB10.

Source

pub const fn set_invpcid(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB10.

Source

pub const fn erms(&self) -> bool

The value of ExtendedFeatureFlagsB9.

Source

pub const fn set_erms(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB9.

Source

pub const fn bmi2(&self) -> bool

The value of ExtendedFeatureFlagsB8.

Source

pub const fn set_bmi2(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB8.

Source

pub const fn smep(&self) -> bool

The value of ExtendedFeatureFlagsB7.

Source

pub const fn set_smep(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB7.

Source

pub const fn fdp_excptn_only_x87(&self) -> bool

The value of ExtendedFeatureFlagsB6.

Source

pub const fn set_fdp_excptn_only_x87(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB6.

Source

pub const fn avx2(&self) -> bool

The value of ExtendedFeatureFlagsB5.

Source

pub const fn set_avx2(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB5.

Source

pub const fn hle(&self) -> bool

The value of ExtendedFeatureFlagsB4.

Source

pub const fn set_hle(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB4.

Source

pub const fn bmi1(&self) -> bool

The value of ExtendedFeatureFlagsB3.

Source

pub const fn set_bmi1(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB3.

Source

pub const fn sgx(&self) -> bool

The value of ExtendedFeatureFlagsB2.

Source

pub const fn set_sgx(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB2.

Source

pub const fn tsc_adjust(&self) -> bool

The value of ExtendedFeatureFlagsB1.

Source

pub const fn set_tsc_adjust(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB1.

Source

pub const fn fsgsbase(&self) -> bool

The value of ExtendedFeatureFlagsB0.

Source

pub const fn set_fsgsbase(&mut self, value: bool) -> &mut Self

Sets the value of ExtendedFeatureFlagsB0.

Source§

impl ExtendedFeatureFlagsB

Source

pub fn iter(&self) -> ExtendedFeatureFlagsBIter

Returns an iterator over (metadata, value) pairs for each field.

Trait Implementations§

Source§

impl Binary for ExtendedFeatureFlagsB

Source§

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

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

impl Clone for ExtendedFeatureFlagsB

Source§

fn clone(&self) -> ExtendedFeatureFlagsB

Returns a duplicate of the value. Read more
1.0.0 (const: unstable)§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ExtendedFeatureFlagsB

Source§

impl Debug for ExtendedFeatureFlagsB

Source§

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

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

impl Default for ExtendedFeatureFlagsB

Source§

fn default() -> Self

Returns an instance with the default bits set (i.e,. with a value of Self::DEFAULT.

Source§

impl Eq for ExtendedFeatureFlagsB

Source§

impl From<ExtendedFeatureFlagsB> for u32

Source§

fn from(value: ExtendedFeatureFlagsB) -> Self

Converts to this type from the input type.
Source§

impl From<u32> for ExtendedFeatureFlagsB

Source§

fn from(value: u32) -> Self

Converts to this type from the input type.
Source§

impl IntoIterator for ExtendedFeatureFlagsB

Source§

type Item = (&'static FieldMetadata<u32>, u32)

The type of the elements being iterated over.
Source§

type IntoIter = ExtendedFeatureFlagsBIter

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl<'a> IntoIterator for &'a ExtendedFeatureFlagsB

Source§

type Item = (&'static FieldMetadata<u32>, u32)

The type of the elements being iterated over.
Source§

type IntoIter = ExtendedFeatureFlagsBIter

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl LowerHex for ExtendedFeatureFlagsB

Source§

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

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

impl Octal for ExtendedFeatureFlagsB

Source§

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

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

impl PartialEq for ExtendedFeatureFlagsB

Source§

fn eq(&self, other: &ExtendedFeatureFlagsB) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable)§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ExtendedFeatureFlagsB

Source§

impl UpperHex for ExtendedFeatureFlagsB

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for ExtendedFeatureFlagsB

§

impl RefUnwindSafe for ExtendedFeatureFlagsB

§

impl Send for ExtendedFeatureFlagsB

§

impl Sync for ExtendedFeatureFlagsB

§

impl Unpin for ExtendedFeatureFlagsB

§

impl UnsafeUnpin for ExtendedFeatureFlagsB

§

impl UnwindSafe for ExtendedFeatureFlagsB

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

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<Layout, Base> LayoutOver<Base> for Layout
where Layout: Copy + From<Base> + Into<Base>,

§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = !

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.