summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2000-08-11 18:38:59 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2000-08-11 18:38:59 +0000
commitbf304319cf79936de8277c2899422e33c66b2f1f (patch)
treee05511339aeb8f1b9b0515e23997aaf9dc1c1649 /sys
parente6e4d241493cfa62d6526d46c0a9779830b12d3f (diff)
disable userland TCS access on winchip C6, it is busted; wd@ics.nara-wu.ac.jp
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/i386/i386/machdep.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c
index 93ed4997cb5..6aa789d730b 100644
--- a/sys/arch/i386/i386/machdep.c
+++ b/sys/arch/i386/i386/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.135 2000/07/06 00:59:00 todd Exp $ */
+/* $OpenBSD: machdep.c,v 1.136 2000/08/11 18:38:58 deraadt Exp $ */
/* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */
/*-
@@ -898,6 +898,9 @@ winchip_cpu_setup(cpu_device, model, step)
switch (model) {
case 4: /* WinChip C6 */
cpu_feature &= ~CPUID_TSC;
+ /* Disable RDTSC instruction from user-level. */
+ lcr4(rcr4() | CR4_TSD);
+
printf("%s: broken TSC disabled\n", cpu_device);
break;
}