pub struct ArchCapabilitiesMsr(/* private fields */);Expand description
Layout for IA32_ARCH_CAPABILITIES.
Implementations§
Source§impl ArchCapabilitiesMsr
impl ArchCapabilitiesMsr
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 TAA_NO_MASK: u64
pub const TAA_NO_MASK: u64
Unshifted bitmask of taa_no.
Sourcepub const TAA_NO_SHIFT: usize = 8
pub const TAA_NO_SHIFT: usize = 8
Bit shift (i.e., the low bit) of taa_no.
Sourcepub const TSX_CTRL_MASK: u64
pub const TSX_CTRL_MASK: u64
Unshifted bitmask of tsx_ctrl.
Sourcepub const TSX_CTRL_SHIFT: usize = 7
pub const TSX_CTRL_SHIFT: usize = 7
Bit shift (i.e., the low bit) of tsx_ctrl.
Sourcepub const IF_PSCHANGE_MC_NO_MASK: u64
pub const IF_PSCHANGE_MC_NO_MASK: u64
Unshifted bitmask of if_pschange_mc_no.
Sourcepub const IF_PSCHANGE_MC_NO_SHIFT: usize = 6
pub const IF_PSCHANGE_MC_NO_SHIFT: usize = 6
Bit shift (i.e., the low bit) of if_pschange_mc_no.
Sourcepub const MDS_NO_MASK: u64
pub const MDS_NO_MASK: u64
Unshifted bitmask of mds_no.
Sourcepub const MDS_NO_SHIFT: usize = 5
pub const MDS_NO_SHIFT: usize = 5
Bit shift (i.e., the low bit) of mds_no.
Sourcepub const SSB_NO_MASK: u64
pub const SSB_NO_MASK: u64
Unshifted bitmask of ssb_no.
Sourcepub const SSB_NO_SHIFT: usize = 4
pub const SSB_NO_SHIFT: usize = 4
Bit shift (i.e., the low bit) of ssb_no.
Sourcepub const SKIP_L1DFL_VMENTRY_MASK: u64
pub const SKIP_L1DFL_VMENTRY_MASK: u64
Unshifted bitmask of skip_l1dfl_vmentry.
Sourcepub const SKIP_L1DFL_VMENTRY_SHIFT: usize = 3
pub const SKIP_L1DFL_VMENTRY_SHIFT: usize = 3
Bit shift (i.e., the low bit) of skip_l1dfl_vmentry.
Sourcepub const RSBA_SHIFT: usize = 2
pub const RSBA_SHIFT: usize = 2
Bit shift (i.e., the low bit) of rsba.
Sourcepub const IBRS_ALL_MASK: u64
pub const IBRS_ALL_MASK: u64
Unshifted bitmask of ibrs_all.
Sourcepub const IBRS_ALL_SHIFT: usize = 1
pub const IBRS_ALL_SHIFT: usize = 1
Bit shift (i.e., the low bit) of ibrs_all.
Sourcepub const RDCL_NO_MASK: u64
pub const RDCL_NO_MASK: u64
Unshifted bitmask of rdcl_no.
Sourcepub const RDCL_NO_SHIFT: usize = 0
pub const RDCL_NO_SHIFT: usize = 0
Bit shift (i.e., the low bit) of rdcl_no.
Sourcepub const FIELDS: [FieldMetadata<u64>; 9]
pub const FIELDS: [FieldMetadata<u64>; 9]
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_taa_no(&mut self, value: bool) -> &mut Self
pub const fn set_taa_no(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr8.
Sourcepub const fn set_tsx_ctrl(&mut self, value: bool) -> &mut Self
pub const fn set_tsx_ctrl(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr7.
Sourcepub const fn if_pschange_mc_no(&self) -> bool
pub const fn if_pschange_mc_no(&self) -> bool
The value of ArchCapabilitiesMsr6.
Sourcepub const fn set_if_pschange_mc_no(&mut self, value: bool) -> &mut Self
pub const fn set_if_pschange_mc_no(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr6.
Sourcepub const fn set_mds_no(&mut self, value: bool) -> &mut Self
pub const fn set_mds_no(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr5.
Sourcepub const fn set_ssb_no(&mut self, value: bool) -> &mut Self
pub const fn set_ssb_no(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr4.
Sourcepub const fn skip_l1dfl_vmentry(&self) -> bool
pub const fn skip_l1dfl_vmentry(&self) -> bool
The value of ArchCapabilitiesMsr3.
Sourcepub const fn set_skip_l1dfl_vmentry(&mut self, value: bool) -> &mut Self
pub const fn set_skip_l1dfl_vmentry(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr3.
Sourcepub const fn set_rsba(&mut self, value: bool) -> &mut Self
pub const fn set_rsba(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr2.
Sourcepub const fn set_ibrs_all(&mut self, value: bool) -> &mut Self
pub const fn set_ibrs_all(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr1.
Sourcepub const fn set_rdcl_no(&mut self, value: bool) -> &mut Self
pub const fn set_rdcl_no(&mut self, value: bool) -> &mut Self
Sets the value of ArchCapabilitiesMsr0.
Source§impl ArchCapabilitiesMsr
impl ArchCapabilitiesMsr
pub fn is_supported(cpuid: impl Cpuid) -> bool
Trait Implementations§
Source§impl Binary for ArchCapabilitiesMsr
impl Binary for ArchCapabilitiesMsr
Source§impl Clone for ArchCapabilitiesMsr
impl Clone for ArchCapabilitiesMsr
Source§fn clone(&self) -> ArchCapabilitiesMsr
fn clone(&self) -> ArchCapabilitiesMsr
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ArchCapabilitiesMsr
Source§impl Debug for ArchCapabilitiesMsr
impl Debug for ArchCapabilitiesMsr
Source§impl Default for ArchCapabilitiesMsr
impl Default for ArchCapabilitiesMsr
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 ArchCapabilitiesMsr
Source§impl From<ArchCapabilitiesMsr> for u64
impl From<ArchCapabilitiesMsr> for u64
Source§fn from(value: ArchCapabilitiesMsr) -> Self
fn from(value: ArchCapabilitiesMsr) -> Self
Source§impl From<u64> for ArchCapabilitiesMsr
impl From<u64> for ArchCapabilitiesMsr
Source§impl IntoIterator for ArchCapabilitiesMsr
impl IntoIterator for ArchCapabilitiesMsr
Source§impl<'a> IntoIterator for &'a ArchCapabilitiesMsr
impl<'a> IntoIterator for &'a ArchCapabilitiesMsr
Source§impl LowerHex for ArchCapabilitiesMsr
impl LowerHex for ArchCapabilitiesMsr
Source§impl Octal for ArchCapabilitiesMsr
impl Octal for ArchCapabilitiesMsr
Source§impl PartialEq for ArchCapabilitiesMsr
impl PartialEq for ArchCapabilitiesMsr
impl StructuralPartialEq for ArchCapabilitiesMsr
Auto Trait Implementations§
impl Freeze for ArchCapabilitiesMsr
impl RefUnwindSafe for ArchCapabilitiesMsr
impl Send for ArchCapabilitiesMsr
impl Sync for ArchCapabilitiesMsr
impl Unpin for ArchCapabilitiesMsr
impl UnsafeUnpin for ArchCapabilitiesMsr
impl UnwindSafe for ArchCapabilitiesMsr
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)