svn commit: r219467 - head/sys/i386/i386

Jung-uk Kim jkim at FreeBSD.org
Thu Mar 10 22:20:12 UTC 2011


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");


More information about the svn-src-all mailing list