pub struct ExtendedProcessorFeatureIdentifiers { /* private fields */ }
Expand description
Implementations§
Source§impl ExtendedProcessorFeatureIdentifiers
impl ExtendedProcessorFeatureIdentifiers
Sourcepub fn extended_signature(&self) -> u32
pub fn extended_signature(&self) -> u32
Sourcepub 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)
Sourcepub 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)
Sourcepub fn has_lahf_sahf(&self) -> bool
pub fn has_lahf_sahf(&self) -> bool
Sourcepub fn has_cmp_legacy(&self) -> bool
pub fn has_cmp_legacy(&self) -> bool
Sourcepub 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)
Sourcepub fn has_alt_mov_cr8(&self) -> bool
pub fn has_alt_mov_cr8(&self) -> bool
Sourcepub 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)
Sourcepub 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)
Sourcepub fn has_prefetchw(&self) -> bool
pub fn has_prefetchw(&self) -> bool
Sourcepub 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)
Sourcepub 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)
Sourcepub 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)
Sourcepub 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)
Sourcepub 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)
Sourcepub 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)
Sourcepub 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)
Sourcepub fn has_perf_cntr_llc_extensions(&self) -> bool
pub fn has_perf_cntr_llc_extensions(&self) -> bool
Sourcepub fn has_monitorx_mwaitx(&self) -> bool
pub fn has_monitorx_mwaitx(&self) -> bool
Sourcepub fn has_addr_mask_extension(&self) -> bool
pub fn has_addr_mask_extension(&self) -> bool
Sourcepub fn has_syscall_sysret(&self) -> bool
pub fn has_syscall_sysret(&self) -> bool
Sourcepub fn has_execute_disable(&self) -> bool
pub fn has_execute_disable(&self) -> bool
Sourcepub fn has_mmx_extensions(&self) -> bool
pub fn has_mmx_extensions(&self) -> bool
Sourcepub fn has_fast_fxsave_fxstor(&self) -> bool
pub fn has_fast_fxsave_fxstor(&self) -> bool
Sourcepub fn has_1gib_pages(&self) -> bool
pub fn has_1gib_pages(&self) -> bool
Sourcepub fn has_rdtscp(&self) -> bool
pub fn has_rdtscp(&self) -> bool
Sourcepub fn has_64bit_mode(&self) -> bool
pub fn has_64bit_mode(&self) -> bool
Sourcepub 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> 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
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
self
, then passes self.deref()
into the pipe function.Source§fn pipe_deref_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R,
) -> Rwhere
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R,
) -> Rwhere
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
self
, then passes self.deref_mut()
into the pipe
function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
.tap_deref()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
.tap_deref_mut()
only in debug builds, and is erased in release
builds.