User's Manual

Vol. 3 14-5
POWER AND THERMAL MANAGEMENT
corresponding enable mechanism is activated, the headroom is available and
certain criteria are met.
The opportunistic processor performance operation is generally transparent to
most application software.
System software (BIOS and Operating system) must be aware of hardware
support for opportunistic processor performance operation and may need to
temporarily disengage opportunistic processor performance operation when it
requires more predictable processor operation.
When opportunistic processor performance operation is engaged, the OS should
use hardware coordination feedback mechanisms to prevent un-intended policy
effects if it is activated during inappropriate situations.
14.3.2.1 Discover Hardware Support and Enabling of Opportunistic
Processor Operation
If an Intel 64 processor has hardware support for opportunistic processor perfor-
mance operation, the power-on default state of IA32_MISC_ENABLES[38] indicates
the presence of such hardware support. For Intel 64 processors that support oppor-
tunistic processor performance operation, the default value is 1, indicating its pres-
ence. For processors that do not support opportunistic processor performance
operation, the default value is 0. The power-on default value of
IA32_MISC_ENABLES[38] allows BIOS to detect the presence of hardware support of
opportunistic processor performance operation.
IA32_MISC_ENABLES[38] is shared across all logical processors in a physical
package. It is written by BIOS during platform initiation to enable/disable opportu
-
nistic processor operation in conjunction of OS power management capabilities, see
Section 14.3.2.2. BIOS can set IA32_MISC_ENABLES[38] with 1 to disable opportu-
nistic processor performance operation; it must clear the default value of
IA32_MISC_ENABLES[38] to 0 to enable opportunistic processor performance oper-
ation. OS and applications must use CPUID leaf 06H if it needs to detect processors
that has opportunistic processor operation enabled.
When CPUID is executed with EAX = 06H on input, Bit 1 of EAX in Leaf 06H (i.e.
CPUID.06H:EAX[1]) indicates opportunistic processor performance operation, such
as IDA, has been enabled by BIOS.
Opportunistic processor performance operation can be disabled by setting bit 38 of
IA32_MISC_ENABLES. This mechanism is intended for BIOS only. If
IA32_MISC_ENABLES[38] is set, CPUID.06H:EAX[1] will return 0.
14.3.2.2 OS Control of Opportunistic Processor Performance Operation
There may be phases of software execution in which system software cannot tolerate
the non-deterministic aspects of opportunistic processor performance operation. For
example, when calibrating a real-time workload to make a CPU reservation request