diff options
author | Dimitry Andric <dim@cvs.openbsd.org> | 2006-11-28 19:58:28 +0000 |
---|---|---|
committer | Dimitry Andric <dim@cvs.openbsd.org> | 2006-11-28 19:58:28 +0000 |
commit | 63a2df0e4183dfba53ac9a7a0a2dfb38999e82df (patch) | |
tree | 185ecff2f25e3fce9dd9b52955c4e09b16aa91f1 /sys/arch | |
parent | bec353ab011b149efdc45e04e94015512bc70547 (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.c | 11 |
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", |