From 92632b4a1de9a709066eaf6943e77f9e9865f02e Mon Sep 17 00:00:00 2001 From: Alex Hornung Date: Fri, 2 Oct 2009 22:03:28 +0100 Subject: [PATCH] pc32 identcpu - Detect Geode LX * Add identification of Geode LX CPUs. Obtained-from: FreeBSD --- sys/cpu/i386/include/cputypes.h | 1 + sys/platform/pc32/i386/identcpu.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/sys/cpu/i386/include/cputypes.h b/sys/cpu/i386/include/cputypes.h index ab210d156a..338c545d1c 100644 --- a/sys/cpu/i386/include/cputypes.h +++ b/sys/cpu/i386/include/cputypes.h @@ -60,6 +60,7 @@ #define CPU_PII 14 /* Intel Pentium II */ #define CPU_PIII 15 /* Intel Pentium III */ #define CPU_P4 16 /* Intel Pentium 4 */ +#define CPU_GEODE1100 17 /* NS Geode SC1100 */ #ifndef LOCORE struct cpu_nameclass { diff --git a/sys/platform/pc32/i386/identcpu.c b/sys/platform/pc32/i386/identcpu.c index 93b6d89411..3257a38a37 100644 --- a/sys/platform/pc32/i386/identcpu.c +++ b/sys/platform/pc32/i386/identcpu.c @@ -378,6 +378,14 @@ printcpuinfo(void) case 0x590: strcat(cpu_model, "K6-III"); break; + case 0x5a0: + strcat(cpu_model, "Geode LX"); + /* + * Make sure the TSC runs through suspension, + * otherwise we can't use it as timecounter. + */ + wrmsr(0x1900, rdmsr(0x1900) | 0x20ULL); + break; default: strcat(cpu_model, "Unknown"); break; -- 2.11.4.GIT