Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
Vol. 3 18-21
DEBUGGING AND PERFORMANCE MONITORING
18.6.1 LBR Stack
Processors based on Intel microarchitecture (Nehalem) provide 16 pairs of MSR to
record last branch record information. The layout of each MSR pair is shown in
Table 18-4 and Table 18-5.
Figure 18-5. IA32_DEBUGCTL MSR for Processors based
on Intel microarchitecture (Nehalem)
Table 18-4. IA32_LASTBRACH_x_FROM_IP
Bit Field Bit Offset Access Description
Data 47:0 R/O The linear address of the branch instruction itself,
This is the “branch from“ address
SIGN_EXt 62:48 R/0 Signed extension of bit 47 of this register
MISPRED 63 R/O When set, indicates the branch was predicted;
otherwise, the branch was mispredicted.
Table 18-5. IA32_LASTBRACH_x_TO_IP
Bit Field Bit Offset Access Description
Data 47:0 R/O The linear address of the target of the branch
instruction itself, This is the “branch to“ address
SIGN_EXt 63:48 R/0 Signed extension of bit 47 of this register
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
9
10
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
UNCORE_PMI_EN
13