diff --git a/src/cpu/intel/model_206ax/finalize.c b/src/cpu/intel/model_206ax/finalize.c index 68cef8d782..4ed5d1e5f8 100644 --- a/src/cpu/intel/model_206ax/finalize.c +++ b/src/cpu/intel/model_206ax/finalize.c @@ -49,11 +49,24 @@ void intel_model_206ax_finalize_smm(void) if (cpuid_ecx(1) & (1 << 25)) msr_set_bit(MSR_FEATURE_CONFIG, 0); +#ifdef LOCK_POWER_CONTROL_REGISTERS + /* + * Lock the power control registers. + * + * These registers can be left unlocked if modifying power + * limits from the OS is desirable. Modifying power limits + * from the OS can be especially useful for experimentation + * during early phases of system bringup while the thermal + * power envelope is being proven. + */ + msr_set_bit(MSR_PP0_CURRENT_CONFIG, 31); msr_set_bit(MSR_PP1_CURRENT_CONFIG, 31); msr_set_bit(MSR_PKG_POWER_LIMIT, 63); msr_set_bit(MSR_PP0_POWER_LIMIT, 31); msr_set_bit(MSR_PP1_POWER_LIMIT, 31); +#endif + msr_set_bit(MSR_MISC_PWR_MGMT, 22); msr_set_bit(MSR_LT_LOCK_MEMORY, 0); }