Skip to main content

ExtendedAmdFeaturesB

Struct ExtendedAmdFeaturesB 

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

Layout for EXTENDED_AMD_FEATURES_B.

[amd/ibc] details bits [18:14] and 12. [amd/ssbd] details bits [26:24].

Implementations§

Source§

impl ExtendedAmdFeaturesB

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 SSB_NO_MASK: u32

Unshifted bitmask of ssb_no.

Source

pub const SSB_NO_SHIFT: usize = 26

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

Source

pub const VIRT_SSBD_MASK: u32

Unshifted bitmask of virt_ssbd.

Source

pub const VIRT_SSBD_SHIFT: usize = 25

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

Source

pub const SSBD_MASK: u32

Unshifted bitmask of ssbd.

Source

pub const SSBD_SHIFT: usize = 24

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

Source

pub const PREFERS_IBRS_MASK: u32

Unshifted bitmask of prefers_ibrs.

Source

pub const PREFERS_IBRS_SHIFT: usize = 18

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

Source

pub const STIBP_ALWAYS_ON_MASK: u32

Unshifted bitmask of stibp_always_on.

Source

pub const STIBP_ALWAYS_ON_SHIFT: usize = 17

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

Source

pub const IBRS_ALWAYS_ON_MASK: u32

Unshifted bitmask of ibrs_always_on.

Source

pub const IBRS_ALWAYS_ON_SHIFT: usize = 16

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

Source

pub const STIBP_MASK: u32

Unshifted bitmask of stibp.

Source

pub const STIBP_SHIFT: usize = 15

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

Source

pub const IBRS_MASK: u32

Unshifted bitmask of ibrs.

Source

pub const IBRS_SHIFT: usize = 14

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

Source

pub const IBPB_MASK: u32

Unshifted bitmask of ibpb.

Source

pub const IBPB_SHIFT: usize = 12

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

Source

pub const WBNOINVD_MASK: u32

Unshifted bitmask of wbnoinvd.

Source

pub const WBNOINVD_SHIFT: usize = 9

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

Source

pub const MCOMMIT_MASK: u32

Unshifted bitmask of mcommit.

Source

pub const MCOMMIT_SHIFT: usize = 8

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

Source

pub const RDPRU_MASK: u32

Unshifted bitmask of rdpru.

Source

pub const RDPRU_SHIFT: usize = 4

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

Source

pub const RSTR_FP_ERR_PTRS_MASK: u32

Unshifted bitmask of rstr_fp_err_ptrs.

Source

pub const RSTR_FP_ERR_PTRS_SHIFT: usize = 2

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

Source

pub const INST_RET_CNT_MSR_MASK: u32

Unshifted bitmask of inst_ret_cnt_msr.

Source

pub const INST_RET_CNT_MSR_SHIFT: usize = 1

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

Source

pub const CLZERO_MASK: u32

Unshifted bitmask of clzero.

Source

pub const CLZERO_SHIFT: usize = 0

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

Source

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

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 ssb_no(&self) -> bool

The value of ExtendedAmdFeaturesB26.

Source

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

Sets the value of ExtendedAmdFeaturesB26.

Source

pub const fn virt_ssbd(&self) -> bool

The value of ExtendedAmdFeaturesB25.

Source

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

Sets the value of ExtendedAmdFeaturesB25.

Source

pub const fn ssbd(&self) -> bool

The value of ExtendedAmdFeaturesB24.

Source

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

Sets the value of ExtendedAmdFeaturesB24.

Source

pub const fn prefers_ibrs(&self) -> bool

The value of ExtendedAmdFeaturesB18.

Source

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

Sets the value of ExtendedAmdFeaturesB18.

Source

pub const fn stibp_always_on(&self) -> bool

The value of ExtendedAmdFeaturesB17.

Source

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

Sets the value of ExtendedAmdFeaturesB17.

Source

pub const fn ibrs_always_on(&self) -> bool

The value of ExtendedAmdFeaturesB16.

Source

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

Sets the value of ExtendedAmdFeaturesB16.

Source

pub const fn stibp(&self) -> bool

The value of ExtendedAmdFeaturesB15.

Source

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

Sets the value of ExtendedAmdFeaturesB15.

Source

pub const fn ibrs(&self) -> bool

The value of ExtendedAmdFeaturesB14.

Source

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

Sets the value of ExtendedAmdFeaturesB14.

Source

pub const fn ibpb(&self) -> bool

The value of ExtendedAmdFeaturesB12.

Source

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

Sets the value of ExtendedAmdFeaturesB12.

Source

pub const fn wbnoinvd(&self) -> bool

The value of ExtendedAmdFeaturesB9.

Source

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

Sets the value of ExtendedAmdFeaturesB9.

Source

pub const fn mcommit(&self) -> bool

The value of ExtendedAmdFeaturesB8.

Source

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

Sets the value of ExtendedAmdFeaturesB8.

Source

pub const fn rdpru(&self) -> bool

The value of ExtendedAmdFeaturesB4.

Source

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

Sets the value of ExtendedAmdFeaturesB4.

Source

pub const fn rstr_fp_err_ptrs(&self) -> bool

The value of ExtendedAmdFeaturesB2.

Source

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

Sets the value of ExtendedAmdFeaturesB2.

Source

pub const fn inst_ret_cnt_msr(&self) -> bool

The value of ExtendedAmdFeaturesB1.

Source

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

Sets the value of ExtendedAmdFeaturesB1.

Source

pub const fn clzero(&self) -> bool

The value of ExtendedAmdFeaturesB0.

Source

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

Sets the value of ExtendedAmdFeaturesB0.

Source§

impl ExtendedAmdFeaturesB

Source

pub fn iter(&self) -> ExtendedAmdFeaturesBIter

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

Trait Implementations§

Source§

impl Binary for ExtendedAmdFeaturesB

Source§

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

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

impl Clone for ExtendedAmdFeaturesB

Source§

fn clone(&self) -> ExtendedAmdFeaturesB

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 ExtendedAmdFeaturesB

Source§

impl Debug for ExtendedAmdFeaturesB

Source§

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

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

impl Default for ExtendedAmdFeaturesB

Source§

fn default() -> Self

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

Source§

impl Eq for ExtendedAmdFeaturesB

Source§

impl From<ExtendedAmdFeaturesB> for u32

Source§

fn from(value: ExtendedAmdFeaturesB) -> Self

Converts to this type from the input type.
Source§

impl From<u32> for ExtendedAmdFeaturesB

Source§

fn from(value: u32) -> Self

Converts to this type from the input type.
Source§

impl IntoIterator for ExtendedAmdFeaturesB

Source§

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

The type of the elements being iterated over.
Source§

type IntoIter = ExtendedAmdFeaturesBIter

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 ExtendedAmdFeaturesB

Source§

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

The type of the elements being iterated over.
Source§

type IntoIter = ExtendedAmdFeaturesBIter

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 ExtendedAmdFeaturesB

Source§

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

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

impl Octal for ExtendedAmdFeaturesB

Source§

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

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

impl PartialEq for ExtendedAmdFeaturesB

Source§

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

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

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ExtendedAmdFeaturesB

Source§

impl UpperHex for ExtendedAmdFeaturesB

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for ExtendedAmdFeaturesB

§

impl RefUnwindSafe for ExtendedAmdFeaturesB

§

impl Send for ExtendedAmdFeaturesB

§

impl Sync for ExtendedAmdFeaturesB

§

impl Unpin for ExtendedAmdFeaturesB

§

impl UnsafeUnpin for ExtendedAmdFeaturesB

§

impl UnwindSafe for ExtendedAmdFeaturesB

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.