summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-08-06 15:03:47 +0000
committerphk <phk@FreeBSD.org>2003-08-06 15:03:47 +0000
commit66a0a36c3cb45e7d3cea6233f4378bc1d38100c9 (patch)
treef9792543a506b78b7913f28cf503a0e56d8642e0 /sys
parentdcc92de50316ca9086fc809d0bab536a036c4ba0 (diff)
downloadFreeBSD-src-66a0a36c3cb45e7d3cea6233f4378bc1d38100c9.zip
FreeBSD-src-66a0a36c3cb45e7d3cea6233f4378bc1d38100c9.tar.gz
Update to recognize Geode and note that the TSC seems broken.
Diffstat (limited to 'sys')
-rw-r--r--sys/i386/i386/identcpu.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sys/i386/i386/identcpu.c b/sys/i386/i386/identcpu.c
index 5cd00ca..56a4e8a 100644
--- a/sys/i386/i386/identcpu.c
+++ b/sys/i386/i386/identcpu.c
@@ -161,7 +161,8 @@ printcpuinfo(void)
(strcmp(cpu_vendor, "GenuineIntel") == 0 ||
strcmp(cpu_vendor, "AuthenticAMD") == 0 ||
strcmp(cpu_vendor, "GenuineTMx86") == 0 ||
- strcmp(cpu_vendor, "TransmetaCPU") == 0)) {
+ strcmp(cpu_vendor, "TransmetaCPU") == 0 ||
+ strcmp(cpu_vendor, "Geode by NSC") == 0)) {
do_cpuid(0x80000000, regs);
if (regs[0] >= 0x80000000) {
cpu_exthigh = regs[0];
@@ -543,6 +544,16 @@ printcpuinfo(void)
}
} else if (strcmp(cpu_vendor, "IBM") == 0) {
strcpy(cpu_model, "Blue Lightning CPU");
+ } else if (strcmp(cpu_vendor, "Geode by NSC") == 0) {
+ switch (cpu_id & 0xfff) {
+ case 0x540:
+ strcpy(cpu_model, "Geode SC1100");
+ tsc_is_broken = 1;
+ break;
+ default:
+ strcpy(cpu_model, "Geode/NSC unknown");
+ break;
+ }
}
/*
OpenPOWER on IntegriCloud