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

Table Of Contents
18-128 Vol. 3
DEBUGGING AND PERFORMANCE MONITORING
Specific Registers (MSRs)”. The maximum resolved bus ratio can be read from the
following bit field:
If XE operation is disabled, the maximum resolved bus ratio can be read in
MSR_PLATFORM_ID[12:8]. It corresponds to the maximum qualified frequency.
IF XE operation is enabled, the maximum resolved bus ratio is given in
MSR_PERF_STAT[44:40], it corresponds to the maximum XE operation
frequency configured by BIOS.
XE operation of an Intel 64 processor is implementation specific. XE operation can be
enabled only by BIOS. If MSR_PERF_STAT[31] is set, XE operation is enabled. The
MSR_PERF_STAT[31] field is read-only.
18.21 PERFORMANCE MONITORING, BRANCH PROFILING
AND SYSTEM EVENTS
When performance monitoring facilities and/or branch profiling facilities (see Section
18.5, “Last Branch, Interrupt, and Exception Recording (Intel
®
Core
2 Duo and
Intel
®
Atom
Processor Family)”) are enabled, these facilities capture event counts,
branch records and branch trace messages occurring in a logical processor. The
occurrence of interrupts, instruction streams due to various interrupt handlers all
contribute to the results recorded by these facilities.
If CPUID.01H:ECX.PDCM[bit 15] is 1, the processor supports the
IA32_PERF_CAPABILITIES MSR. If
IA32_PERF_CAPABILITIES.FREEZE_WHILE_SMM[Bit 12] is 1, the processor supports
the ability for system software using performance monitoring and/or branch profiling
facilities to filter out the effects of servicing system management interrupts.
If the FREEZE_WHILE_SMM capability is enabled on a logical processor and after an
SMI is delivered, the processor will clear all the enable bits of
IA32_PERF_GLOBAL_CTRL, save a copy of the content of IA32_DEBUGCTL and
disable LBR, BTF, TR, and BTS fields of IA32_DEBUGCTL before transferring control to
the SMI handler.
The enable bits of IA32_PERF_GLOBAL_CTRL will be set to 1, the saved copy of
IA32_DEBUGCTL prior to SMI delivery will be restored , after the SMI handler issues
RSM to complete its servicing.
It is the responsibility of the SMM code to ensure the state of the performance moni-
toring and branch profiling facilities are preserved upon entry or until prior to exiting
the SMM. If any of this state is modified due to actions by the SMM code, the SMM
code is required to restore such state to the values present at entry to the SMM
handler.
System software is allowed to set IA32_DEBUGCTL.FREEZE_WHILE_SMM_EN[bit 14]
to 1 only supported as indicated by
IA32_PERF_CAPABILITIES.FREEZE_WHILE_SMM[Bit 12] reporting 1.