pub struct ExtendedSizeInfo(/* private fields */);Expand description
The layout of ECX in EXTENDED_SIZE_INFO.
Implementations§
Source§impl ExtendedSizeInfo
impl ExtendedSizeInfo
Sourcepub const RSVD1_MASK: u32
pub const RSVD1_MASK: u32
Mask of all reserved-as-1 bits.
Sourcepub const RSVD0_MASK: u32
pub const RSVD0_MASK: u32
Mask of all reserved-as-0 bits.
Sourcepub const DEFAULT: u32
pub const DEFAULT: u32
The default value of the layout, combining all field defaults and reserved-as values.
Sourcepub const PERF_TSC_SIZE_MASK: u32
pub const PERF_TSC_SIZE_MASK: u32
Unshifted bitmask of perf_tsc_size.
Sourcepub const PERF_TSC_SIZE_SHIFT: usize = 16
pub const PERF_TSC_SIZE_SHIFT: usize = 16
Bit shift (i.e., the low bit) of perf_tsc_size.
Sourcepub const APIC_ID_SIZE_MASK: u32
pub const APIC_ID_SIZE_MASK: u32
Unshifted bitmask of apic_id_size.
Sourcepub const APIC_ID_SIZE_SHIFT: usize = 12
pub const APIC_ID_SIZE_SHIFT: usize = 12
Bit shift (i.e., the low bit) of apic_id_size.
Sourcepub const FIELDS: [FieldMetadata<u32>; 3]
pub const FIELDS: [FieldMetadata<u32>; 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) -> u32
Sourcepub fn perf_tsc_size(&self) -> PerfTimestampCounterSizewhere
PerfTimestampCounterSize: TryFromBytes,
pub fn perf_tsc_size(&self) -> PerfTimestampCounterSizewhere
PerfTimestampCounterSize: TryFromBytes,
The value of ExtendedSizeInfo[17:16].
§Panics
Panics if the field’s bit pattern is not a valid value of the custom representation. Use Self::try_perf_tsc_size to recover from invalid bit patterns.
Sourcepub fn try_perf_tsc_size(
&self,
) -> Result<PerfTimestampCounterSize, InvalidBits<u8>>where
PerfTimestampCounterSize: TryFromBytes,
pub fn try_perf_tsc_size(
&self,
) -> Result<PerfTimestampCounterSize, InvalidBits<u8>>where
PerfTimestampCounterSize: TryFromBytes,
Fallible variant of Self::perf_tsc_size.
Sourcepub fn set_perf_tsc_size(
&mut self,
value: PerfTimestampCounterSize,
) -> &mut Self
pub fn set_perf_tsc_size( &mut self, value: PerfTimestampCounterSize, ) -> &mut Self
Sets the value of ExtendedSizeInfo[17:16].
Sourcepub const fn apic_id_size(&self) -> u8
pub const fn apic_id_size(&self) -> u8
The value of ExtendedSizeInfo[15:12].
Sourcepub const fn set_apic_id_size(&mut self, value: u8) -> &mut Self
pub const fn set_apic_id_size(&mut self, value: u8) -> &mut Self
Sets the value of ExtendedSizeInfo[15:12].
Trait Implementations§
Source§impl Binary for ExtendedSizeInfo
impl Binary for ExtendedSizeInfo
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PerfTimestampCounterSize: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PerfTimestampCounterSize: Debug,
Source§impl Clone for ExtendedSizeInfo
impl Clone for ExtendedSizeInfo
Source§fn clone(&self) -> ExtendedSizeInfo
fn clone(&self) -> ExtendedSizeInfo
1.0.0 (const: unstable)§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ExtendedSizeInfo
Source§impl Debug for ExtendedSizeInfo
impl Debug for ExtendedSizeInfo
Source§impl Default for ExtendedSizeInfo
impl Default for ExtendedSizeInfo
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 ExtendedSizeInfo
Source§impl From<ExtendedSizeInfo> for u32
impl From<ExtendedSizeInfo> for u32
Source§fn from(value: ExtendedSizeInfo) -> Self
fn from(value: ExtendedSizeInfo) -> Self
Source§impl From<u32> for ExtendedSizeInfo
impl From<u32> for ExtendedSizeInfo
Source§impl IntoIterator for ExtendedSizeInfo
impl IntoIterator for ExtendedSizeInfo
Source§impl<'a> IntoIterator for &'a ExtendedSizeInfo
impl<'a> IntoIterator for &'a ExtendedSizeInfo
Source§impl LowerHex for ExtendedSizeInfo
impl LowerHex for ExtendedSizeInfo
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PerfTimestampCounterSize: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PerfTimestampCounterSize: Debug,
Source§impl Octal for ExtendedSizeInfo
impl Octal for ExtendedSizeInfo
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PerfTimestampCounterSize: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PerfTimestampCounterSize: Debug,
Source§impl PartialEq for ExtendedSizeInfo
impl PartialEq for ExtendedSizeInfo
impl StructuralPartialEq for ExtendedSizeInfo
Source§impl UpperHex for ExtendedSizeInfo
impl UpperHex for ExtendedSizeInfo
Source§fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PerfTimestampCounterSize: Debug,
fn fmt(&self, f: &mut Formatter<'_>) -> Resultwhere
PerfTimestampCounterSize: Debug,
Auto Trait Implementations§
impl Freeze for ExtendedSizeInfo
impl RefUnwindSafe for ExtendedSizeInfo
impl Send for ExtendedSizeInfo
impl Sync for ExtendedSizeInfo
impl Unpin for ExtendedSizeInfo
impl UnsafeUnpin for ExtendedSizeInfo
impl UnwindSafe for ExtendedSizeInfo
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)