Vol. 3 16-15
DEBUGGING, PROFILING BRANCHES AND TIME-STAMP COUNTER
in the last branch record (LBR) stack. For more information, see the Section
16.5.1, “LBR Stack”.
BTF (single-step on branches) flag (bit 1) — When set, the processor treats
the TF flag in the EFLAGS register as a “single-step on branches” flag rather than
a “single-step on instructions” flag. This mechanism allows single-stepping the
processor on taken branches, interrupts, and exceptions. See Section 16.4.3,
“Single-Stepping on Branches, Exceptions, and Interrupts,” for more information
about the BTF flag.
TR (trace message enable) flag (bit 6) — When set, branch trace messages
are enabled. When the processor detects a taken branch, interrupt, or exception;
it sends the branch record out on the system bus as a branch trace message
(BTM). See Section 16.4.4, “Branch Trace Messages,” for more information about
the TR flag.
BTS (branch trace store) flag (bi t 7) — When set, the flag enables BTS
facilities to log BTMs to a memory-resident BTS buffer that is part of the DS save
area. See Section 16.4.9, “BTS and DS Save Area.”
BTINT (branch trace interrupt) flag (bit 8) — When set, the BTS facilities
generate an interrupt when the BTS buffer is full. When clear, BTMs are logged to
the BTS buffer in a circular fashion. See Section 16.4.5, “Branch Trace Store (BTS), ”
for a description of this mechanism.
BTS_ OFF _OS ( bra nch trac e of f in p riv ileg ed c ode) fla g (bi t 9) When set,
BTS or BTM is skipped if CPL is 0. See Section 16.7.2.
BTS_OFF_USR (branch trace off in user code) flag (bit 10) — When set,
BTS or BTM is skipped if CPL is greater than 0. See Section 16.7.2.

Figure 16-3. IA32_DEBUGCTL MSR for Processors based

on Intel Core microarchitecture

31
TR— Trace messages enable
BTINT— Branch trace interrupt
BTF— Single-step on branches
LBR— Last branch/interrupt/exception
Reserved
87654321 0
BTS— Branch trace store
Reserved
910
BTS_OFF_OS— BTS off in OS
BTS_OFF_USR— BTS off in user code
FREEZE_LBRS_ON_PMI
FREEZE_PERFMON_ON_PMI
11
12
14
FREEZE_WHILE_SMM_EN