diff options
author | phk <phk@FreeBSD.org> | 2003-08-06 15:03:47 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-08-06 15:03:47 +0000 |
commit | 66a0a36c3cb45e7d3cea6233f4378bc1d38100c9 (patch) | |
tree | f9792543a506b78b7913f28cf503a0e56d8642e0 /sys | |
parent | dcc92de50316ca9086fc809d0bab536a036c4ba0 (diff) | |
download | FreeBSD-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.c | 13 |
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; + } } /* |