summaryrefslogtreecommitdiffstats
path: root/sys/i386
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2007-04-18 10:08:24 +0000
committerphk <phk@FreeBSD.org>2007-04-18 10:08:24 +0000
commita3b237c6c1d5d84ac72df0cae66f3a0bec0f07a3 (patch)
tree585511ce23da29c205170713cb57a96490805a51 /sys/i386
parent0e40cc602a84ada7b0d048a17e1a6258b38cd966 (diff)
downloadFreeBSD-src-a3b237c6c1d5d84ac72df0cae66f3a0bec0f07a3.zip
FreeBSD-src-a3b237c6c1d5d84ac72df0cae66f3a0bec0f07a3.tar.gz
On AMD's Geode LX: Force the TSC to run through core-suspension so we can
use it as a timecounter. Sponsored by: Soekris Engineering
Diffstat (limited to 'sys/i386')
-rw-r--r--sys/i386/i386/identcpu.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/i386/i386/identcpu.c b/sys/i386/i386/identcpu.c
index 48c8b47..20ca56a 100644
--- a/sys/i386/i386/identcpu.c
+++ b/sys/i386/i386/identcpu.c
@@ -386,6 +386,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;
OpenPOWER on IntegriCloud