pub struct SupervisorStatus(/* private fields */);Expand description
The layout of SSTATUS.
Implementations§
Source§impl SupervisorStatus
impl SupervisorStatus
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 SPIE_SHIFT: usize = 5
pub const SPIE_SHIFT: usize = 5
Bit shift (i.e., the low bit) of spie.
Sourcepub const FIELDS: [FieldMetadata<u64>; 11]
pub const FIELDS: [FieldMetadata<u64>; 11]
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 fn uxl(&self) -> Xlenwhere
Xlen: TryFromBytes,
pub fn uxl(&self) -> Xlenwhere
Xlen: TryFromBytes,
The value of SupervisorStatus[33:32].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_uxl to recover from invalid bit patterns.
Sourcepub fn try_uxl(&self) -> Result<Xlen, InvalidBits<u8>>where
Xlen: TryFromBytes,
pub fn try_uxl(&self) -> Result<Xlen, InvalidBits<u8>>where
Xlen: TryFromBytes,
Fallible variant of Self::uxl.
Sourcepub const fn set_mxr(&mut self, value: bool) -> &mut Self
pub const fn set_mxr(&mut self, value: bool) -> &mut Self
Sets the value of SupervisorStatus19.
Sourcepub const fn set_sum(&mut self, value: bool) -> &mut Self
pub const fn set_sum(&mut self, value: bool) -> &mut Self
Sets the value of SupervisorStatus18.
Sourcepub fn xs(&self) -> ExtensionStatuswhere
ExtensionStatus: TryFromBytes,
pub fn xs(&self) -> ExtensionStatuswhere
ExtensionStatus: TryFromBytes,
The value of SupervisorStatus[16:15].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_xs to recover from invalid bit patterns.
Sourcepub fn try_xs(&self) -> Result<ExtensionStatus, InvalidBits<u8>>where
ExtensionStatus: TryFromBytes,
pub fn try_xs(&self) -> Result<ExtensionStatus, InvalidBits<u8>>where
ExtensionStatus: TryFromBytes,
Fallible variant of Self::xs.
Sourcepub fn set_xs(&mut self, value: ExtensionStatus) -> &mut Self
pub fn set_xs(&mut self, value: ExtensionStatus) -> &mut Self
Sets the value of SupervisorStatus[16:15].
Sourcepub fn fs(&self) -> ExtensionStatuswhere
ExtensionStatus: TryFromBytes,
pub fn fs(&self) -> ExtensionStatuswhere
ExtensionStatus: TryFromBytes,
The value of SupervisorStatus[14:13].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_fs to recover from invalid bit patterns.
Sourcepub fn try_fs(&self) -> Result<ExtensionStatus, InvalidBits<u8>>where
ExtensionStatus: TryFromBytes,
pub fn try_fs(&self) -> Result<ExtensionStatus, InvalidBits<u8>>where
ExtensionStatus: TryFromBytes,
Fallible variant of Self::fs.
Sourcepub fn set_fs(&mut self, value: ExtensionStatus) -> &mut Self
pub fn set_fs(&mut self, value: ExtensionStatus) -> &mut Self
Sets the value of SupervisorStatus[14:13].
Sourcepub fn vs(&self) -> ExtensionStatuswhere
ExtensionStatus: TryFromBytes,
pub fn vs(&self) -> ExtensionStatuswhere
ExtensionStatus: TryFromBytes,
The value of SupervisorStatus[10:9].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_vs to recover from invalid bit patterns.
Sourcepub fn try_vs(&self) -> Result<ExtensionStatus, InvalidBits<u8>>where
ExtensionStatus: TryFromBytes,
pub fn try_vs(&self) -> Result<ExtensionStatus, InvalidBits<u8>>where
ExtensionStatus: TryFromBytes,
Fallible variant of Self::vs.
Sourcepub fn set_vs(&mut self, value: ExtensionStatus) -> &mut Self
pub fn set_vs(&mut self, value: ExtensionStatus) -> &mut Self
Sets the value of SupervisorStatus[10:9].
Trait Implementations§
Source§impl Binary for SupervisorStatus
impl Binary for SupervisorStatus
Source§impl Clone for SupervisorStatus
impl Clone for SupervisorStatus
Source§fn clone(&self) -> SupervisorStatus
fn clone(&self) -> SupervisorStatus
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for SupervisorStatus
Source§impl Debug for SupervisorStatus
impl Debug for SupervisorStatus
Source§impl Default for SupervisorStatus
impl Default for SupervisorStatus
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 SupervisorStatus
Source§impl From<SupervisorStatus> for u64
impl From<SupervisorStatus> for u64
Source§fn from(value: SupervisorStatus) -> Self
fn from(value: SupervisorStatus) -> Self
Source§impl From<u64> for SupervisorStatus
impl From<u64> for SupervisorStatus
Source§impl IntoIterator for SupervisorStatus
impl IntoIterator for SupervisorStatus
Source§impl<'a> IntoIterator for &'a SupervisorStatus
impl<'a> IntoIterator for &'a SupervisorStatus
Source§impl LowerHex for SupervisorStatus
impl LowerHex for SupervisorStatus
Source§impl Octal for SupervisorStatus
impl Octal for SupervisorStatus
Source§impl PartialEq for SupervisorStatus
impl PartialEq for SupervisorStatus
impl StructuralPartialEq for SupervisorStatus
Source§impl UpperHex for SupervisorStatus
impl UpperHex for SupervisorStatus
Auto Trait Implementations§
impl Freeze for SupervisorStatus
impl RefUnwindSafe for SupervisorStatus
impl Send for SupervisorStatus
impl Sync for SupervisorStatus
impl Unpin for SupervisorStatus
impl UnsafeUnpin for SupervisorStatus
impl UnwindSafe for SupervisorStatus
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)