pub struct SpeculationControlMsr(/* private fields */);Expand description
Layout for SPECULATION_CONTROL.
Implementations§
Source§impl SpeculationControlMsr
impl SpeculationControlMsr
Sourcepub const RSVD1_MASK: u64
pub const RSVD1_MASK: u64
Mask of all reserved-as-1 bits.
Sourcepub const RSVD0_MASK: u64
pub const RSVD0_MASK: u64
Mask of all reserved-as-0 bits.
Sourcepub const DEFAULT: u64
pub const DEFAULT: u64
The default value of the layout, combining all field defaults and reserved-as values.
Sourcepub const SSBD_SHIFT: usize = 2
pub const SSBD_SHIFT: usize = 2
Bit shift (i.e., the low bit) of ssbd.
Sourcepub const STIBP_MASK: u64
pub const STIBP_MASK: u64
Unshifted bitmask of stibp.
Sourcepub const STIBP_SHIFT: usize = 1
pub const STIBP_SHIFT: usize = 1
Bit shift (i.e., the low bit) of stibp.
Sourcepub const IBRS_SHIFT: usize = 0
pub const IBRS_SHIFT: usize = 0
Bit shift (i.e., the low bit) of ibrs.
Sourcepub const FIELDS: [FieldMetadata<u64>; 3]
pub const FIELDS: [FieldMetadata<u64>; 3]
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) -> u64
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 SpeculationControlMsr2.
Source§impl SpeculationControlMsr
impl SpeculationControlMsr
pub fn is_supported(cpuid: impl Cpuid) -> bool
Trait Implementations§
Source§impl Binary for SpeculationControlMsr
impl Binary for SpeculationControlMsr
Source§impl Clone for SpeculationControlMsr
impl Clone for SpeculationControlMsr
Source§fn clone(&self) -> SpeculationControlMsr
fn clone(&self) -> SpeculationControlMsr
Returns a duplicate of the value. Read more
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for SpeculationControlMsr
Source§impl Debug for SpeculationControlMsr
impl Debug for SpeculationControlMsr
Source§impl Default for SpeculationControlMsr
impl Default for SpeculationControlMsr
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 SpeculationControlMsr
Source§impl From<SpeculationControlMsr> for u64
impl From<SpeculationControlMsr> for u64
Source§fn from(value: SpeculationControlMsr) -> Self
fn from(value: SpeculationControlMsr) -> Self
Converts to this type from the input type.
Source§impl From<u64> for SpeculationControlMsr
impl From<u64> for SpeculationControlMsr
Source§impl IntoIterator for SpeculationControlMsr
impl IntoIterator for SpeculationControlMsr
Source§impl<'a> IntoIterator for &'a SpeculationControlMsr
impl<'a> IntoIterator for &'a SpeculationControlMsr
Source§impl LowerHex for SpeculationControlMsr
impl LowerHex for SpeculationControlMsr
Source§impl Octal for SpeculationControlMsr
impl Octal for SpeculationControlMsr
Source§impl PartialEq for SpeculationControlMsr
impl PartialEq for SpeculationControlMsr
impl StructuralPartialEq for SpeculationControlMsr
Auto Trait Implementations§
impl Freeze for SpeculationControlMsr
impl RefUnwindSafe for SpeculationControlMsr
impl Send for SpeculationControlMsr
impl Sync for SpeculationControlMsr
impl Unpin for SpeculationControlMsr
impl UnsafeUnpin for SpeculationControlMsr
impl UnwindSafe for SpeculationControlMsr
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
Mutably borrows from an owned value. Read more
§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)
🔬This is a nightly-only experimental API. (
clone_to_uninit)