From 4d0b0c3ea7c6b84879b05b6bc1451da875585865 Mon Sep 17 00:00:00 2001 From: jkim Date: Thu, 10 Mar 2011 22:20:11 +0000 Subject: 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. --- sys/i386/i386/identcpu.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sys/i386') diff --git a/sys/i386/i386/identcpu.c b/sys/i386/i386/identcpu.c index cb923b5..e1b6476 100644 --- a/sys/i386/i386/identcpu.c +++ b/sys/i386/i386/identcpu.c @@ -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"); -- cgit v1.1