background image

Vol. 3C 36-65

INTEL® PROCESSOR TRACE

Non-Turbo frequency). Absent this, or separate indication of the scaling factor, the decoder will be unable to prop-
erly track time in the trace. See Section 36.8.3 for details on tracking time within an Intel PT trace.

36.5.2.7   Failed VM Entry

The packets generated by a failed VM entry depend both on the VMCS configuration, as well as on the type of 
failure. The results to expect are summarized in the table below. Note that packets in italics may or may not be 
generated, depending on implementation choice, and the point of failure.

36.5.2.8   VMX Abort

VMX abort conditions take the processor into a shutdown state. On a VM exit that leads to VMX abort, some packets 
(FUP, PIP) may be generated, but any expected TIP, TIP.PGE, or TIP.PGD may be dropped.

36.6 

TRACING AND SMM TRANSFER MONITOR (STM)

SMM Transfer Monitor is a VMM that operates inside SMM while in VMX root operation. An STM operates in conjunc-
tion with an executive monitor. The latter operates outside SMM and in VMX root operation. Transitions from the 
executive monitor or its VMs to the STM are called SMM VM exits. The STM returns from SMM via a VM entry to the 
VM in VMX non-root operation or the executive monitor in VMX root operation. 
Intel PT supports tracing in an STM similar to tracing support for VMX operation as described above in Section 36.7. 
As a result, on a SMM VM exit resulting from #SMI, TraceEn is not saved and then cleared. Software can save the 
state of the trace configuration MSRs and clear TraceEn using the MSR load/save lists. 

36.7 

PACKET GENERATION SCENARIOS

Table 36-50 and Table 36-52 illustrate the packets generated in various scenarios. In the heading row, PacketEn is 
abbreviated as PktEn, ContextEn as CntxEn. Note that this assumes that TraceEn=1 in IA32_RTIT_CTL, while Trig-
gerEn=1 and Error=0 in IA32_RTIT_STATUS, unless otherwise specified. Entries that do not matter in packet 
generation are marked “D.C.” Packets followed by a “?” imply that these packets depend on additional factors, 
which are listed in the “Other Dependencies” column.
In Table 36-50, PktEn is evaluated based on TiggerEn & ContextEn & FilterEn & BranchEn.

Table 36-49. Packets on a Failed VM Entry

Usage Model

Entry Configuration

Early Failure (fall 

through to Next IP)

Late Failure (VM exit)

System-Wide 

No MSR load list

TIP (NextIP)

PIP(Guest CR3, NR=1), TraceEn 0->1 Packets (See Section 

36.2.7.3), PIP(HostCR3, NR=0), TIP(HostIP)

VMM Only

MSR load list 
disables TraceEn

TIP (NextIP)

TraceEn 0->1 Packets (See Section 36.2.7.3), TIP(HostIP)

VM Only

MSR load list 
Enables TraceEn

None

None

Table 36-50. Packet Generation under Different Enable Conditions

Case

Operation

PktEn 

Before

PktEn 

After

CntxEn 

After

Other Dependencies

Packets Output

1a

Normal non-jump operation

0

0

D.C.

None

1b

Normal non-jump operation

1

1

1

None

2a

WRMSR/XRSTORS/RSM that changes 

TraceEn 0 -> 1, with PacketByteCnt >0

0

0

D.C.

*TSC if TSCEn=1;

*TMA if TSCEn=MTCEn=1

TSC?, TMA?, CBR