Struct ExtendedProcessorFeatureIdentifiers
pub struct ExtendedProcessorFeatureIdentifiers { /* private fields */ }
dep_raw_cpuid
only.Expand description
Implementations§
§impl ExtendedProcessorFeatureIdentifiers
impl ExtendedProcessorFeatureIdentifiers
pub fn extended_signature(&self) -> u32 ⓘ
pub fn extended_signature(&self) -> u32 ⓘ
pub fn pkg_type(&self) -> u32 ⓘ
pub fn pkg_type(&self) -> u32 ⓘ
Returns package type on AMD.
Package type. If (Family[7:0] >= 10h)
, this field is valid. If
(Family[7:0]<10h)
, this field is reserved
§Platforms
✅ AMD ❌ Intel (reserved)
pub fn brand_id(&self) -> u32 ⓘ
pub fn brand_id(&self) -> u32 ⓘ
Returns brand ID on AMD.
This field, in conjunction with CPUID LEAF=0x0000_0001_EBX[8BitBrandId]
, and used
by firmware to generate the processor name string.
§Platforms
✅ AMD ❌ Intel (reserved)
pub fn has_lahf_sahf(&self) -> bool
pub fn has_lahf_sahf(&self) -> bool
pub fn has_cmp_legacy(&self) -> bool
pub fn has_cmp_legacy(&self) -> bool
pub fn has_ext_apic_space(&self) -> bool
pub fn has_ext_apic_space(&self) -> bool
Extended APIC space.
This bit indicates the presence of extended APIC register space starting at offset 400h from the “APIC Base Address Register,” as specified in the BKDG.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_alt_mov_cr8(&self) -> bool
pub fn has_alt_mov_cr8(&self) -> bool
pub fn has_sse4a(&self) -> bool
pub fn has_sse4a(&self) -> bool
XTRQ, INSERTQ, MOVNTSS, and MOVNTSD instruction support.
See “EXTRQ”, “INSERTQ”,“MOVNTSS”, and “MOVNTSD” in APM4.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_misaligned_sse_mode(&self) -> bool
pub fn has_misaligned_sse_mode(&self) -> bool
Misaligned SSE mode. See “Misaligned Access Support Added for SSE Instructions” in APM1.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_prefetchw(&self) -> bool
pub fn has_prefetchw(&self) -> bool
pub fn has_skinit(&self) -> bool
pub fn has_skinit(&self) -> bool
SKINIT and STGI are supported.
Indicates support for SKINIT and STGI, independent of the value of
MSRC000_0080[SVME]
.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_wdt(&self) -> bool
pub fn has_wdt(&self) -> bool
Watchdog timer support.
Indicates support for MSRC001_0074.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_topology_extensions(&self) -> bool
pub fn has_topology_extensions(&self) -> bool
Topology extensions support.
Indicates support for CPUID Fn8000_001D_EAX_x[N:0]-CPUID Fn8000_001E_EDX
.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_perf_cntr_extensions(&self) -> bool
pub fn has_perf_cntr_extensions(&self) -> bool
Processor performance counter extensions support.
Indicates support for MSRC001_020[A,8,6,4,2,0]
and MSRC001_020[B,9,7,5,3,1]
.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_nb_perf_cntr_extensions(&self) -> bool
pub fn has_nb_perf_cntr_extensions(&self) -> bool
NB performance counter extensions support.
Indicates support for MSRC001_024[6,4,2,0]
and MSRC001_024[7,5,3,1]
.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_data_access_bkpt_extension(&self) -> bool
pub fn has_data_access_bkpt_extension(&self) -> bool
Data access breakpoint extension.
Indicates support for MSRC001_1027
and MSRC001_101[B:9]
.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_perf_tsc(&self) -> bool
pub fn has_perf_tsc(&self) -> bool
Performance time-stamp counter.
Indicates support for MSRC001_0280
[Performance Time Stamp Counter]
.
§Platform
✅ AMD ❌ Intel (will return false)
pub fn has_perf_cntr_llc_extensions(&self) -> bool
pub fn has_perf_cntr_llc_extensions(&self) -> bool
pub fn has_monitorx_mwaitx(&self) -> bool
pub fn has_monitorx_mwaitx(&self) -> bool
pub fn has_addr_mask_extension(&self) -> bool
pub fn has_addr_mask_extension(&self) -> bool
pub fn has_syscall_sysret(&self) -> bool
pub fn has_syscall_sysret(&self) -> bool
pub fn has_execute_disable(&self) -> bool
pub fn has_execute_disable(&self) -> bool
pub fn has_mmx_extensions(&self) -> bool
pub fn has_mmx_extensions(&self) -> bool
pub fn has_fast_fxsave_fxstor(&self) -> bool
pub fn has_fast_fxsave_fxstor(&self) -> bool
pub fn has_1gib_pages(&self) -> bool
pub fn has_1gib_pages(&self) -> bool
pub fn has_rdtscp(&self) -> bool
pub fn has_rdtscp(&self) -> bool
pub fn has_64bit_mode(&self) -> bool
pub fn has_64bit_mode(&self) -> bool
pub fn has_amd_3dnow_extensions(&self) -> bool
pub fn has_amd_3dnow_extensions(&self) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ExtendedProcessorFeatureIdentifiers
impl RefUnwindSafe for ExtendedProcessorFeatureIdentifiers
impl Send for ExtendedProcessorFeatureIdentifiers
impl Sync for ExtendedProcessorFeatureIdentifiers
impl Unpin for ExtendedProcessorFeatureIdentifiers
impl UnwindSafe for ExtendedProcessorFeatureIdentifiers
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.