summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorDimitry Andric <dim@cvs.openbsd.org>2006-11-28 19:58:28 +0000
committerDimitry Andric <dim@cvs.openbsd.org>2006-11-28 19:58:28 +0000
commit63a2df0e4183dfba53ac9a7a0a2dfb38999e82df (patch)
tree185ecff2f25e3fce9dd9b52955c4e09b16aa91f1 /sys/arch
parentbec353ab011b149efdc45e04e94015512bc70547 (diff)
Let est not complain about certain strange msr values on Pentium 4's. We can't
use the feature on them anyway, since we don't have enough info from Intel.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/i386/i386/est.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/arch/i386/i386/est.c b/sys/arch/i386/i386/est.c
index e45b758ceb6..41d5330952b 100644
--- a/sys/arch/i386/i386/est.c
+++ b/sys/arch/i386/i386/est.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: est.c,v 1.22 2006/11/05 15:10:46 dim Exp $ */
+/* $OpenBSD: est.c,v 1.23 2006/11/28 19:58:27 dim Exp $ */
/*
* Copyright (c) 2003 Michael Eriksson.
* All rights reserved.
@@ -980,7 +980,14 @@ est_init(const char *cpu_device, int vendor)
idhi = (msr >> 32) & 0xffff;
idlo = (msr >> 48) & 0xffff;
cur = msr & 0xffff;
- if (idhi == 0 || idlo == 0 || cur == 0 ||
+ if (idlo == 0) {
+ /*
+ * Don't complain about this case. It seems to happen
+ * on all Pentium 4's that report EST.
+ */
+ return;
+ }
+ if (idhi == 0 || cur == 0 ||
((cur >> 8) & 0xff) < ((idlo >> 8) & 0xff) ||
((cur >> 8) & 0xff) > ((idhi >> 8) & 0xff)) {
printf("%s: EST: strange msr value 0x%016llx\n",