background image

36-26 Vol. 3C

INTELĀ® PROCESSOR TRACE

Table 36-11. CPUID Leaf 14H Enumeration of Intel Processor Trace Capabilities

CPUID.(EAX=14H,ECX=0)

Name

Description Behavior

Register

Bits

EAX

31:0

Maximum valid sub-leaf Index Specifies the index of the maximum valid sub-leaf for this CPUID leaf

EBX

0

CR3 Filtering Support

1: Indicates that IA32_RTIT_CTL.CR3Filter can be set to 1, and that 

IA32_RTIT_CR3_MATCH MSR can be accessed. See Section 36.2.7.
0: Indicates that writes that set IA32_RTIT_CTL.CR3Filter to 1, or any 

access to IA32_RTIT_CR3_MATCH, will #GP fault.

1

Configurable PSB and Cycle-

Accurate Mode Supported

1: (a) IA32_RTIT_CTL.PSBFreq can be set to a non-zero value, in order to 

select the preferred PSB frequency (see below for allowed values). (b) 

IA32_RTIT_STATUS.PacketByteCnt can be set to a non-zero value, and 

will be incremented by the processor when tracing to indicate progress 

towards the next PSB. If trace packet generation is enabled by setting 

TraceEn, a PSB will only be generated if PacketByteCnt=0. (c) 

IA32_RTIT_CTL.CYCEn can be set to 1 to enable Cycle-Accurate Mode. 

See Section 36.2.7.
0: (a) Any attempt to set IA32_RTIT_CTL.PSBFreq, to set 

IA32_RTIT_CTL.CYCEn, or write a non-zero value to 

IA32_RTIT_STATUS.PacketByteCnt any access to 

IA32_RTIT_CR3_MATCH, will #GP fault. (b) If trace packet generation is 

enabled by setting TraceEn, a PSB is always generated. (c) Any attempt 

to set IA32_RTIT_CTL.CYCEn will #GP fault.

2

IP Filtering and TraceStop 

supported, and Preserve Intel 

PT MSRs across warm reset

1: (a) IA32_RTIT_CTL provides at one or more ADDRn_CFG field to 

configure the corresponding address range MSRs for IP Filtering or IP 

TraceStop. Each ADDRn_CFG field accepts a value in the range of 0:2 

inclusive. The number of ADDRn_CFG fields is reported by 

CPUID.(EAX=14H, ECX=1):EAX.RANGECNT[2:0]. (b) At least one register 

pair IA32_RTIT_ADDRn_A and IA32_RTIT_ADDRn_B are provided to 

configure address ranges for IP filtering or IP TraceStop. (c) On warm 

reset, all Intel PT MSRs will retain their pre-reset values, though 

IA32_RTIT_CTL.TraceEn will be cleared. The Intel PT MSRs are listed in 

Section 36.2.7.
0: (a) An Attempt to write IA32_RTIT_CTL.ADDRn_CFG with non-zero 

encoding values will cause #GP. (b) Any access to IA32_RTIT_ADDRn_A 

and IA32_RTIT_ADDRn_B, will #GP fault. (c) On warm reset, all Intel PT 

MSRs will be cleared.

3

MTC Supported

1: IA32_RTIT_CTL.MTCEn can be set to 1, and MTC packets will be 

generated. See Section 36.2.7.
0: An attempt to set IA32_RTIT_CTL.MTCEn or IA32_RTIT_CTL.MTCFreq 

to a non-zero value will #GP fault.

4

PTWRITE Supported

1: Writes can set IA32_RTIT_CTL[12] (PTWEn) and IA32_RTIT_CTL[5] 

(FUPonPTW), and PTWRITE can generate packets.
0: Writes that set IA32_RTIT_CTL[12] or IA32_RTIT_CTL[5] will #GP, 

and PTWRITE will #UD fault.

5

Power Event Trace Supported 1: Writes can set IA32_RTIT_CTL[4] (PwrEvtEn), enabling Power Event 

Trace packet generation.
0: Writes that set IA32_RTIT_CTL[4] will #GP.

31:6

Reserved