Struct ExtendedStateInfo
pub struct ExtendedStateInfo<R>where
R: CpuIdReader,{ /* private fields */ }
dep_raw_cpuid
only.Expand description
Implementations§
§impl<F> ExtendedStateInfo<F>where
F: CpuIdReader,
impl<F> ExtendedStateInfo<F>where
F: CpuIdReader,
pub fn xcr0_supports_legacy_x87(&self) -> bool
pub fn xcr0_supports_legacy_x87(&self) -> bool
Support for legacy x87 in XCR0.
pub fn xcr0_supports_sse_128(&self) -> bool
pub fn xcr0_supports_sse_128(&self) -> bool
Support for SSE 128-bit in XCR0.
pub fn xcr0_supports_avx_256(&self) -> bool
pub fn xcr0_supports_avx_256(&self) -> bool
Support for AVX 256-bit in XCR0.
pub fn xcr0_supports_mpx_bndregs(&self) -> bool
pub fn xcr0_supports_mpx_bndregs(&self) -> bool
Support for MPX BNDREGS in XCR0.
pub fn xcr0_supports_mpx_bndcsr(&self) -> bool
pub fn xcr0_supports_mpx_bndcsr(&self) -> bool
Support for MPX BNDCSR in XCR0.
pub fn xcr0_supports_avx512_opmask(&self) -> bool
pub fn xcr0_supports_avx512_opmask(&self) -> bool
Support for AVX512 OPMASK in XCR0.
pub fn xcr0_supports_avx512_zmm_hi256(&self) -> bool
pub fn xcr0_supports_avx512_zmm_hi256(&self) -> bool
Support for AVX512 ZMM Hi256 XCR0.
pub fn xcr0_supports_avx512_zmm_hi16(&self) -> bool
pub fn xcr0_supports_avx512_zmm_hi16(&self) -> bool
Support for AVX512 ZMM Hi16 in XCR0.
pub fn xcr0_supports_pkru(&self) -> bool
pub fn xcr0_supports_pkru(&self) -> bool
Support for PKRU in XCR0.
pub fn ia32_xss_supports_pt(&self) -> bool
pub fn ia32_xss_supports_pt(&self) -> bool
Support for PT in IA32_XSS.
pub fn ia32_xss_supports_hdc(&self) -> bool
pub fn ia32_xss_supports_hdc(&self) -> bool
Support for HDC in IA32_XSS.
pub fn xsave_area_size_enabled_features(&self) -> u32 ⓘ
pub fn xsave_area_size_enabled_features(&self) -> u32 ⓘ
Maximum size (bytes, from the beginning of the XSAVE/XRSTOR save area) required by enabled features in XCR0. May be different than ECX if some features at the end of the XSAVE save area are not enabled.
pub fn xsave_area_size_supported_features(&self) -> u32 ⓘ
pub fn xsave_area_size_supported_features(&self) -> u32 ⓘ
Maximum size (bytes, from the beginning of the XSAVE/XRSTOR save area) of the XSAVE/XRSTOR save area required by all supported features in the processor, i.e all the valid bit fields in XCR0.
pub fn has_xsaveopt(&self) -> bool
pub fn has_xsaveopt(&self) -> bool
CPU has xsaveopt feature.
pub fn has_xsavec(&self) -> bool
pub fn has_xsavec(&self) -> bool
Supports XSAVEC and the compacted form of XRSTOR if set.
pub fn has_xgetbv(&self) -> bool
pub fn has_xgetbv(&self) -> bool
Supports XGETBV with ECX = 1 if set.
pub fn has_xsaves_xrstors(&self) -> bool
pub fn has_xsaves_xrstors(&self) -> bool
Supports XSAVES/XRSTORS and IA32_XSS if set.
pub fn xsave_size(&self) -> u32 ⓘ
pub fn xsave_size(&self) -> u32 ⓘ
The size in bytes of the XSAVE area containing all states enabled by XCRO | IA32_XSS.
pub fn iter(&self) -> ExtendedStateIter<F> ⓘ
pub fn iter(&self) -> ExtendedStateIter<F> ⓘ
Iterator over extended state enumeration levels >= 2.
Trait Implementations§
Auto Trait Implementations§
impl<R> Freeze for ExtendedStateInfo<R>where
R: Freeze,
impl<R> RefUnwindSafe for ExtendedStateInfo<R>where
R: RefUnwindSafe,
impl<R> Send for ExtendedStateInfo<R>where
R: Send,
impl<R> Sync for ExtendedStateInfo<R>where
R: Sync,
impl<R> Unpin for ExtendedStateInfo<R>where
R: Unpin,
impl<R> UnwindSafe for ExtendedStateInfo<R>where
R: UnwindSafe,
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ByteSized for T
impl<T> ByteSized for T
Source§const BYTE_ALIGN: usize = _
const BYTE_ALIGN: usize = _
Source§fn byte_align(&self) -> usize ⓘ
fn byte_align(&self) -> usize ⓘ
Source§fn ptr_size_ratio(&self) -> [usize; 2]
fn ptr_size_ratio(&self) -> [usize; 2]
Source§impl<T, R> Chain<R> for Twhere
T: ?Sized,
impl<T, R> Chain<R> for Twhere
T: ?Sized,
Source§impl<T> ExtAny for T
impl<T> ExtAny for T
Source§fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
fn as_any_mut(&mut self) -> &mut dyn Anywhere
Self: Sized,
Source§impl<T> ExtMem for Twhere
T: ?Sized,
impl<T> ExtMem for Twhere
T: ?Sized,
Source§const NEEDS_DROP: bool = _
const NEEDS_DROP: bool = _
Source§fn mem_align_of_val(&self) -> usize ⓘ
fn mem_align_of_val(&self) -> usize ⓘ
Source§fn mem_size_of_val(&self) -> usize ⓘ
fn mem_size_of_val(&self) -> usize ⓘ
Source§fn mem_needs_drop(&self) -> bool
fn mem_needs_drop(&self) -> bool
true
if dropping values of this type matters. Read moreSource§fn mem_forget(self)where
Self: Sized,
fn mem_forget(self)where
Self: Sized,
self
without running its destructor. Read moreSource§fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
fn mem_replace(&mut self, other: Self) -> Selfwhere
Self: Sized,
Source§unsafe fn mem_zeroed<T>() -> T
unsafe fn mem_zeroed<T>() -> T
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe fn mem_transmute_copy<Src, Dst>(src: &Src) -> Dst
unsafe_layout
only.T
represented by the all-zero byte-pattern. Read moreSource§fn mem_as_bytes(&self) -> &[u8] ⓘ
fn mem_as_bytes(&self) -> &[u8] ⓘ
unsafe_slice
only.§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Hook for T
impl<T> Hook for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError> ⓘ
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out
indicating that a T
is niched.