Index: trunk/i386/libsaio/acpi_patcher.c =================================================================== --- trunk/i386/libsaio/acpi_patcher.c (revision 653) +++ trunk/i386/libsaio/acpi_patcher.c (revision 654) @@ -496,26 +496,8 @@ case CPU_MODEL_WESTMERE_EX: { maximum.Control = rdmsr64(MSR_IA32_PERF_STATUS) & 0xff; // Seems it always contains maximum multiplier value (with turbo, that's we need)... + minimum.Control = (rdmsr64(MSR_PLATFORM_INFO) >> 40) & 0xff; - /*uint8_t i; - // Probe for lowest fid - for (i = maximum.Control; i >= 0x7; i--) - { - wrmsr64(MSR_IA32_PERF_CONTROL, i); - delay(1); - minimum.Control = rdmsr64(MSR_IA32_PERF_STATUS); - delay(1); - }*/ - - if (!minimum.Control) - { - // fix me: dirty method to get lowest multiplier... Hardcoded value! - if (strstr(Platform.CPU.BrandString, "Core(TM) i7")) - minimum.Control = 0x07; - else - minimum.Control = 0x09; - } - verbose("P-States: min 0x%x, max 0x%x\n", minimum.Control, maximum.Control); // Sanity check