Struct ProcessorTraceInfo
pub struct ProcessorTraceInfo { /* private fields */ }
dep_raw_cpuid
only.Expand description
Implementations§
§impl ProcessorTraceInfo
impl ProcessorTraceInfo
pub fn has_rtit_cr3_match(&self) -> bool
pub fn has_rtit_cr3_match(&self) -> bool
If true, Indicates that IA32_RTIT_CTL.CR3Filter can be set to 1, and that IA32_RTIT_CR3_MATCH MSR can be accessed.
pub fn has_configurable_psb_and_cycle_accurate_mode(&self) -> bool
pub fn has_configurable_psb_and_cycle_accurate_mode(&self) -> bool
If true, Indicates support of Configurable PSB and Cycle-Accurate Mode.
pub fn has_ip_tracestop_filtering(&self) -> bool
pub fn has_ip_tracestop_filtering(&self) -> bool
If true, Indicates support of IP Filtering, TraceStop filtering, and preservation of Intel PT MSRs across warm reset.
pub fn has_mtc_timing_packet_coefi_suppression(&self) -> bool
pub fn has_mtc_timing_packet_coefi_suppression(&self) -> bool
If true, Indicates support of MTC timing packet and suppression of COFI-based packets.
pub fn has_ptwrite(&self) -> bool
pub fn has_ptwrite(&self) -> bool
Indicates support of PTWRITE. Writes can set IA32_RTIT_CTL[12] (PTWEn and IA32_RTIT_CTL[5] (FUPonPTW), and PTWRITE can generate packets
pub fn has_power_event_trace(&self) -> bool
pub fn has_power_event_trace(&self) -> bool
Support of Power Event Trace. Writes can set IA32_RTIT_CTL[4] (PwrEvtEn) enabling Power Event Trace packet generation.
pub fn has_topa(&self) -> bool
pub fn has_topa(&self) -> bool
If true, Tracing can be enabled with IA32_RTIT_CTL.ToPA = 1, hence utilizing the ToPA output scheme; IA32_RTIT_OUTPUT_BASE and IA32_RTIT_OUTPUT_MASK_PTRS MSRs can be accessed.
pub fn has_topa_maximum_entries(&self) -> bool
pub fn has_topa_maximum_entries(&self) -> bool
If true, ToPA tables can hold any number of output entries, up to the maximum allowed by the MaskOrTableOffset field of IA32_RTIT_OUTPUT_MASK_PTRS.
pub fn has_single_range_output_scheme(&self) -> bool
pub fn has_single_range_output_scheme(&self) -> bool
If true, Indicates support of Single-Range Output scheme.
pub fn has_trace_transport_subsystem(&self) -> bool
pub fn has_trace_transport_subsystem(&self) -> bool
If true, Indicates support of output to Trace Transport subsystem.
pub fn has_lip_with_cs_base(&self) -> bool
pub fn has_lip_with_cs_base(&self) -> bool
If true, Generated packets which contain IP payloads have LIP values, which include the CS base component.
pub fn configurable_address_ranges(&self) -> u8 ⓘ
pub fn configurable_address_ranges(&self) -> u8 ⓘ
Number of configurable Address Ranges for filtering (Bits 2:0).
pub fn supported_mtc_period_encodings(&self) -> u16 ⓘ
pub fn supported_mtc_period_encodings(&self) -> u16 ⓘ
Bitmap of supported MTC period encodings (Bit 31:16).
pub fn supported_cycle_threshold_value_encodings(&self) -> u16 ⓘ
pub fn supported_cycle_threshold_value_encodings(&self) -> u16 ⓘ
Bitmap of supported Cycle Threshold value encodings (Bits 15-0).
pub fn supported_psb_frequency_encodings(&self) -> u16 ⓘ
pub fn supported_psb_frequency_encodings(&self) -> u16 ⓘ
Bitmap of supported Configurable PSB frequency encodings (Bit 31:16)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ProcessorTraceInfo
impl RefUnwindSafe for ProcessorTraceInfo
impl Send for ProcessorTraceInfo
impl Sync for ProcessorTraceInfo
impl Unpin for ProcessorTraceInfo
impl UnwindSafe for ProcessorTraceInfo
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.