[coreboot-gerrit] Patch set updated for coreboot: cpu/intel/speedstep/acpi.c: Add Netburst CPUs
HAOUAS Elyes (ehaouas@noos.fr)
gerrit at coreboot.org
Sat Jan 7 20:24:40 CET 2017
HAOUAS Elyes (ehaouas at noos.fr) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18019
-gerrit
commit 0ee3647308cf2a829197be4f75b00da52865edea
Author: Elyes HAOUAS <ehaouas at noos.fr>
Date: Sat Jan 7 19:51:09 2017 +0100
cpu/intel/speedstep/acpi.c: Add Netburst CPUs
MSR(0x2c) provides information about FSB frequency.
Change-Id: I42b0dcfdd62e07422acb77462aefc2d9b62fba19
Signed-off-by: Elyes HAOUAS <ehaouas at noos.fr>
---
src/cpu/intel/speedstep/acpi.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/cpu/intel/speedstep/acpi.c b/src/cpu/intel/speedstep/acpi.c
index d85e487..8936eee 100644
--- a/src/cpu/intel/speedstep/acpi.c
+++ b/src/cpu/intel/speedstep/acpi.c
@@ -49,7 +49,21 @@ static int determine_total_number_of_cores(void)
*/
static int get_fsb(void)
{
- const u32 fsbcode = rdmsr(MSR_FSB_FREQ).lo & 7;
+ u32 fsbcode;
+ const u32 eax = cpuid_ext(0x01, 0).eax;
+ const u32 ecx = cpuid_ext(0x01, 0).ecx;
+ msr_t msr;
+
+ /* Handle Netburst based processors if EIST supported */
+ if ((((eax >> 8) & 0xf) == 0xf) &&
+ (((eax >> 20) & 0xff) == 0) &&
+ (((ecx >> 7) & 1) == 1)) {
+ msr = rdmsr(0x2c);
+ fsbcode = (msr.lo >> 16) & 7;
+ } else {
+ fsbcode = rdmsr(MSR_FSB_FREQ).lo & 7;
+ }
+
switch (fsbcode) {
case 0: return 800; /* / 3 == 266 */
case 1: return 400; /* / 3 == 133 */
More information about the coreboot-gerrit
mailing list