diff options
author | Dimitry Andric <dim@cvs.openbsd.org> | 2006-03-16 22:21:40 +0000 |
---|---|---|
committer | Dimitry Andric <dim@cvs.openbsd.org> | 2006-03-16 22:21:40 +0000 |
commit | 64bb33e6c434ff313ffacdc1987ded2577516df8 (patch) | |
tree | 1de5609dca4a9b1c1678f190fc69ae9fd8c2151f /sys/arch/i386 | |
parent | 85b8cf5538a7c498307157bec72562724661b169 (diff) |
Fix for PR 4966: Only disregard bit 27 of MSR_EBL_CR_POWERON for
specific Pentium III models (early stepping 1 Coppermines).
"go for it" deraadt@
Diffstat (limited to 'sys/arch/i386')
-rw-r--r-- | sys/arch/i386/i386/machdep.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/i386/i386/machdep.c b/sys/arch/i386/i386/machdep.c index d1ec7014405..089ae01ece8 100644 --- a/sys/arch/i386/i386/machdep.c +++ b/sys/arch/i386/i386/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.347 2006/03/16 02:55:52 dlg Exp $ */ +/* $OpenBSD: machdep.c,v 1.348 2006/03/16 22:21:39 dim Exp $ */ /* $NetBSD: machdep.c,v 1.214 1996/11/10 03:16:17 thorpej Exp $ */ /*- @@ -250,7 +250,7 @@ struct vm_map *phys_map = NULL; int kbd_reset; int p4_model; -int p3_step; +int p3_early; int setperf_prio = 0; /* for concurrent handlers */ void (*delay_func)(int) = i8254_delay; @@ -1505,7 +1505,7 @@ intel686_cpu_setup(struct cpu_info *ci) } #if !defined(SMALL_KERNEL) && defined(I686_CPU) - p3_step = step; + p3_early = (model == 8 && step == 1) ? 1 : 0; update_cpuspeed = p3_update_cpuspeed; #endif } @@ -2018,7 +2018,7 @@ p3_update_cpuspeed(void) mult = (msr >> 22) & 0xf; mult = mult_code[mult]; - if (p3_step > 1) + if (!p3_early) mult += ((msr >> 27) & 0x1) * 40; pentium_mhz = (bus * mult) / 10; |