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