summaryrefslogtreecommitdiff
path: root/sys/arch/i386/i386/p4tcc.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/i386/i386/p4tcc.c')
-rw-r--r--sys/arch/i386/i386/p4tcc.c42
1 files changed, 22 insertions, 20 deletions
diff --git a/sys/arch/i386/i386/p4tcc.c b/sys/arch/i386/i386/p4tcc.c
index 7f3e5b75d3f..fe935bb5838 100644
--- a/sys/arch/i386/i386/p4tcc.c
+++ b/sys/arch/i386/i386/p4tcc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: p4tcc.c,v 1.8 2006/06/15 13:18:51 dim Exp $ */
+/* $OpenBSD: p4tcc.c,v 1.9 2006/06/17 17:23:39 dim Exp $ */
/*
* Copyright (c) 2003 Ted Unangst
* All rights reserved.
@@ -62,29 +62,31 @@ static struct {
extern int setperf_prio;
void
-p4tcc_init(int model, int step)
+p4tcc_init(int family, int step)
{
if (setperf_prio > 1)
return;
- switch (step) {
- case 0x22: /* errata O50 P44 and Z21 */
- case 0x24:
- case 0x25:
- case 0x27:
- case 0x29:
- /* hang with 12.5 */
- tcc[TCC_LEVELS - 1].reg = 2;
- break;
- case 0x07: /* errata N44 and P18 */
- case 0x0a:
- case 0x12:
- case 0x13:
- /* hang at 12.5 and 25 */
- tcc[TCC_LEVELS - 1].reg = 3;
- tcc[TCC_LEVELS - 2].reg = 3;
- break;
- default:
+ switch (family) {
+ case 0xf: /* Pentium 4 */
+ switch (step) {
+ case 0x22: /* errata O50 P44 and Z21 */
+ case 0x24:
+ case 0x25:
+ case 0x27:
+ case 0x29:
+ /* hang with 12.5 */
+ tcc[TCC_LEVELS - 1].reg = 2;
+ break;
+ case 0x07: /* errata N44 and P18 */
+ case 0x0a:
+ case 0x12:
+ case 0x13:
+ /* hang at 12.5 and 25 */
+ tcc[TCC_LEVELS - 1].reg = 3;
+ tcc[TCC_LEVELS - 2].reg = 3;
+ break;
+ }
break;
}