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");
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to