Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Mar 2011 22:20:12 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r219467 - head/sys/i386/i386
Message-ID:  <201103102220.p2AMKCGd057613@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Thu Mar 10 22:20:11 2011
New Revision: 219467
URL: http://svn.freebsd.org/changeset/base/219467

Log:
  Detect NSC/AMD Geode SC1100 properly, not just Stepping 0.  Although it is
  unclear that "TSC stops ticking with HLT instruction" problem is present
  with other steppings, it is limited to Stepping 0 for now.

Modified:
  head/sys/i386/i386/identcpu.c

Modified: head/sys/i386/i386/identcpu.c
==============================================================================
--- head/sys/i386/i386/identcpu.c	Thu Mar 10 21:56:31 2011	(r219466)
+++ head/sys/i386/i386/identcpu.c	Thu Mar 10 22:20:11 2011	(r219467)
@@ -603,11 +603,12 @@ printcpuinfo(void)
 	} else if (cpu_vendor_id == CPU_VENDOR_IBM) {
 		strcpy(cpu_model, "Blue Lightning CPU");
 	} else if (cpu_vendor_id == CPU_VENDOR_NSC) {
-		switch (cpu_id & 0xfff) {
+		switch (cpu_id & 0xff0) {
 		case 0x540:
 			strcpy(cpu_model, "Geode SC1100");
 			cpu = CPU_GEODE1100;
-			tsc_freq = 0;
+			if ((cpu_id & CPUID_STEPPING) == 0)
+				tsc_freq = 0;
 			break;
 		default:
 			strcpy(cpu_model, "Geode/NSC unknown");



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103102220.p2AMKCGd057613>