Struct raw_cpuid::ProcessorTraceInfo

source ·
pub struct ProcessorTraceInfo { /* private fields */ }
Expand description

Intel Processor Trace Information (LEAF=0x14).

§Platforms

❌ AMD ✅ Intel

Implementations§

source§

impl ProcessorTraceInfo

source

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.

source

pub fn has_configurable_psb_and_cycle_accurate_mode(&self) -> bool

If true, Indicates support of Configurable PSB and Cycle-Accurate Mode.

source

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.

source

pub fn has_mtc_timing_packet_coefi_suppression(&self) -> bool

If true, Indicates support of MTC timing packet and suppression of COFI-based packets.

source

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

source

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.

source

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.

source

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.

source

pub fn has_single_range_output_scheme(&self) -> bool

If true, Indicates support of Single-Range Output scheme.

source

pub fn has_trace_transport_subsystem(&self) -> bool

If true, Indicates support of output to Trace Transport subsystem.

source

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.

source

pub fn configurable_address_ranges(&self) -> u8

Number of configurable Address Ranges for filtering (Bits 2:0).

source

pub fn supported_mtc_period_encodings(&self) -> u16

Bitmap of supported MTC period encodings (Bit 31:16).

source

pub fn supported_cycle_threshold_value_encodings(&self) -> u16

Bitmap of supported Cycle Threshold value encodings (Bits 15-0).

source

pub fn supported_psb_frequency_encodings(&self) -> u16

Bitmap of supported Configurable PSB frequency encodings (Bit 31:16)

Trait Implementations§

source§

impl Debug for ProcessorTraceInfo

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.