[coreboot] New patch to review for coreboot: 24b563d haswell: Properly Guard Engergy Policy by CPUID

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Tue Mar 12 00:10:50 CET 2013

Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2639


commit 24b563dff1348294ceb7d3405229a02d0be253f3
Author: Aaron Durbin <adurbin at chromium.org>
Date:   Tue Dec 11 17:15:13 2012 -0600

    haswell: Properly Guard Engergy Policy by CPUID
    The IA32_ENERGY_PERFORMANCE_BIAS MSR can only be read or written
    to if the CPU supports it. The support is indicated by ECX[3] for
    cpuid(6). Without this guard, some Haswell parts would GP# fault
    in this routine.
    No more GP# while running on haswell CRBs.
    Change-Id: If41e1e133e5faebb3ed578cba60743ce7e1c196f
    Signed-off-by: Aaron Durbin <adurbin at chromium.org>
 src/cpu/intel/haswell/haswell_init.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/cpu/intel/haswell/haswell_init.c b/src/cpu/intel/haswell/haswell_init.c
index 01d151e..9984c55 100644
--- a/src/cpu/intel/haswell/haswell_init.c
+++ b/src/cpu/intel/haswell/haswell_init.c
@@ -404,6 +404,12 @@ static void set_max_ratio(void)
 static void set_energy_perf_bias(u8 policy)
 	msr_t msr;
+	int ecx;
+	/* Determine if energy efficient policy is supported. */
+	ecx = cpuid_ecx(0x6);
+	if (!(ecx & (1 << 3)))
+		return;
 	/* Energy Policy is bits 3:0 */

More information about the coreboot mailing list