pub struct ContextSwitchRecordHeader(/* private fields */);Expand description
Header word for an FXT Context Switch record (RecordType = 8, SchedulerEventType = 1).
Implementations§
Source§impl ContextSwitchRecordHeader
impl ContextSwitchRecordHeader
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 EVENT_TYPE_MASK: u64
pub const EVENT_TYPE_MASK: u64
Unshifted bitmask of event_type.
Sourcepub const EVENT_TYPE_SHIFT: usize = 60
pub const EVENT_TYPE_SHIFT: usize = 60
Bit shift (i.e., the low bit) of event_type.
Sourcepub const EVENT_TYPE_DEFAULT: u64
pub const EVENT_TYPE_DEFAULT: u64
Pre-shifted default value of the event_type field.
Sourcepub const THREAD_STATE_MASK: u64
pub const THREAD_STATE_MASK: u64
Unshifted bitmask of thread_state.
Sourcepub const THREAD_STATE_SHIFT: usize = 36
pub const THREAD_STATE_SHIFT: usize = 36
Bit shift (i.e., the low bit) of thread_state.
Sourcepub const CPU_NUMBER_MASK: u64
pub const CPU_NUMBER_MASK: u64
Unshifted bitmask of cpu_number.
Sourcepub const CPU_NUMBER_SHIFT: usize = 20
pub const CPU_NUMBER_SHIFT: usize = 20
Bit shift (i.e., the low bit) of cpu_number.
Sourcepub const ARG_COUNT_MASK: u64
pub const ARG_COUNT_MASK: u64
Unshifted bitmask of arg_count.
Sourcepub const ARG_COUNT_SHIFT: usize = 16
pub const ARG_COUNT_SHIFT: usize = 16
Bit shift (i.e., the low bit) of arg_count.
Sourcepub const RECORD_SIZE_MASK: u64
pub const RECORD_SIZE_MASK: u64
Unshifted bitmask of record_size.
Sourcepub const RECORD_SIZE_SHIFT: usize = 4
pub const RECORD_SIZE_SHIFT: usize = 4
Bit shift (i.e., the low bit) of record_size.
Sourcepub const RECORD_TYPE_MASK: u64
pub const RECORD_TYPE_MASK: u64
Unshifted bitmask of record_type.
Sourcepub const RECORD_TYPE_SHIFT: usize = 0
pub const RECORD_TYPE_SHIFT: usize = 0
Bit shift (i.e., the low bit) of record_type.
Sourcepub const RECORD_TYPE_DEFAULT: u64
pub const RECORD_TYPE_DEFAULT: u64
Pre-shifted default value of the record_type field.
Sourcepub const fn new() -> ContextSwitchRecordHeader
pub const fn new() -> ContextSwitchRecordHeader
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 event_type(&self) -> SchedulerEventTypewhere
SchedulerEventType: TryFromBytes,
pub fn event_type(&self) -> SchedulerEventTypewhere
SchedulerEventType: TryFromBytes,
The value of ContextSwitchRecordHeader[63:60].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_event_type to recover from invalid bit patterns.
Sourcepub fn try_event_type(&self) -> Result<SchedulerEventType, InvalidBits<u8>>where
SchedulerEventType: TryFromBytes,
pub fn try_event_type(&self) -> Result<SchedulerEventType, InvalidBits<u8>>where
SchedulerEventType: TryFromBytes,
Fallible variant of Self::event_type.
Sourcepub fn set_event_type(
&mut self,
value: SchedulerEventType,
) -> &mut ContextSwitchRecordHeader
pub fn set_event_type( &mut self, value: SchedulerEventType, ) -> &mut ContextSwitchRecordHeader
Sets the value of ContextSwitchRecordHeader[63:60].
Sourcepub const fn thread_state(&self) -> u8
pub const fn thread_state(&self) -> u8
The value of ContextSwitchRecordHeader[39:36].
Sourcepub const fn set_thread_state(
&mut self,
value: u8,
) -> &mut ContextSwitchRecordHeader
pub const fn set_thread_state( &mut self, value: u8, ) -> &mut ContextSwitchRecordHeader
Sets the value of ContextSwitchRecordHeader[39:36].
Sourcepub const fn cpu_number(&self) -> u16
pub const fn cpu_number(&self) -> u16
The value of ContextSwitchRecordHeader[35:20].
Sourcepub const fn set_cpu_number(
&mut self,
value: u16,
) -> &mut ContextSwitchRecordHeader
pub const fn set_cpu_number( &mut self, value: u16, ) -> &mut ContextSwitchRecordHeader
Sets the value of ContextSwitchRecordHeader[35:20].
Sourcepub const fn set_arg_count(
&mut self,
value: u8,
) -> &mut ContextSwitchRecordHeader
pub const fn set_arg_count( &mut self, value: u8, ) -> &mut ContextSwitchRecordHeader
Sets the value of ContextSwitchRecordHeader[19:16].
Sourcepub const fn record_size(&self) -> u16
pub const fn record_size(&self) -> u16
The value of ContextSwitchRecordHeader[15:4].
Sourcepub const fn set_record_size(
&mut self,
value: u16,
) -> &mut ContextSwitchRecordHeader
pub const fn set_record_size( &mut self, value: u16, ) -> &mut ContextSwitchRecordHeader
Sets the value of ContextSwitchRecordHeader[15:4].
Sourcepub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
pub fn record_type(&self) -> RecordTypewhere
RecordType: TryFromBytes,
The value of ContextSwitchRecordHeader[3:0].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_record_type to recover from invalid bit patterns.
Sourcepub fn try_record_type(&self) -> Result<RecordType, InvalidBits<u8>>where
RecordType: TryFromBytes,
pub fn try_record_type(&self) -> Result<RecordType, InvalidBits<u8>>where
RecordType: TryFromBytes,
Fallible variant of Self::record_type.
Sourcepub fn set_record_type(
&mut self,
value: RecordType,
) -> &mut ContextSwitchRecordHeader
pub fn set_record_type( &mut self, value: RecordType, ) -> &mut ContextSwitchRecordHeader
Sets the value of ContextSwitchRecordHeader[3:0].
Trait Implementations§
Source§impl Binary for ContextSwitchRecordHeader
impl Binary for ContextSwitchRecordHeader
Source§impl Clone for ContextSwitchRecordHeader
impl Clone for ContextSwitchRecordHeader
Source§fn clone(&self) -> ContextSwitchRecordHeader
fn clone(&self) -> ContextSwitchRecordHeader
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ContextSwitchRecordHeader
Source§impl Debug for ContextSwitchRecordHeader
impl Debug for ContextSwitchRecordHeader
Source§impl Default for ContextSwitchRecordHeader
impl Default for ContextSwitchRecordHeader
Source§fn default() -> ContextSwitchRecordHeader
fn default() -> ContextSwitchRecordHeader
Returns an instance with the default bits set (i.e,. with a
value of Self::DEFAULT.