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

Table Of Contents
18-54 Vol. 3
DEBUGGING AND PERFORMANCE MONITORING
Bit 21 (AnyThread) of IA32_PERFEVTSELx is supported in architectural
performance monitoring version 3. When set to 1, it enables counting the
associated event conditions (including matching the thread’s CPL with the
OS/USR setting of IA32_PERFEVTSELx) occurring across all logical processors
sharing a processor core. When bit 21 is 0, the counter only increments the
associated event conditions (including matching the thread’s CPL with the
OS/USR setting of IA32_PERFEVTSELx) occurring in the logical processor which
programmed the IA32_PERFEVTSELx MSR.
Each fixed-function performance counter IA32_FIXED_CTRx (starting at MSR
address 309H) is configured by a 4-bit control block in the
IA32_PERF_FIXED_CTR_CTRL MSR. The control block also allow thread-
specificity configuration using an AnyThread bit. The layout of
IA32_PERF_FIXED_CTR_CTRL MSR is shown
Figure 18-18. Layout of IA32_PERFEVTSELx MSRs Supporting Architectural
Performance Monitoring Version 3
31
INV—Invert counter mask
EN—Enable counters
INT—APIC interrupt enable
PC—Pin control
8
7
0
Event Select
E—Edge detect
OS—Operating system mode
USR—User Mode
Counter Mask
E
E
N
I
N
T
19 1618 15172021222324
Reserved
I
N
V
P
C
U
S
R
O
S
Unit Mask (UMASK)
(CMASK)
63
ANY—Any Thread
A
N
Y