summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/arch/i386/i386/mtrr.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/sys/arch/i386/i386/mtrr.c b/sys/arch/i386/i386/mtrr.c
index 7579fc2fd64..11a21514c9c 100644
--- a/sys/arch/i386/i386/mtrr.c
+++ b/sys/arch/i386/i386/mtrr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mtrr.c,v 1.2 1999/11/20 13:50:15 matthieu Exp $ */
+/* $OpenBSD: mtrr.c,v 1.3 2000/03/13 06:56:56 matthieu Exp $ */
/*-
* Copyright (c) 1999 Michael Smith <msmith@freebsd.org>
* Copyright (c) 1999 Brian Fundakowski Feldman
@@ -49,6 +49,8 @@ mtrrattach (num)
if (num > 1)
return;
+#if 0
+ /* XXX at least 2 people report problems with K6 MTRR */
if (strcmp(cpu_vendor, "AuthenticAMD") == 0 &&
(cpu_id & 0xf00) == 0x500 &&
((cpu_id & 0xf0) > 0x80 ||
@@ -56,14 +58,18 @@ mtrrattach (num)
(cpu_id & 0xf) > 0x7))) {
mem_range_softc.mr_op = &k6_mrops;
- /* Try for i686 MTRRs */
- } else if ((cpu_feature & CPUID_MTRR) &&
- ((cpu_id & 0xf00) == 0x600) &&
- ((strcmp(cpu_vendor, "GenuineIntel") == 0) ||
- (strcmp(cpu_vendor, "AuthenticAMD") == 0))) {
+
+ } else
+#endif
+ /* Try for i686 MTRRs */
+ if ((cpu_feature & CPUID_MTRR) &&
+ ((cpu_id & 0xf00) == 0x600) &&
+ ((strcmp(cpu_vendor, "GenuineIntel") == 0) ||
+ (strcmp(cpu_vendor, "AuthenticAMD") == 0))) {
mem_range_softc.mr_op = &i686_mrops;
-
- }
+ } else {
+ mem_range_softc.mr_op = NULL;
+ }
/* Initialise memory range handling */
if (mem_range_softc.mr_op != NULL)
mem_range_softc.mr_op->init(&mem_range_softc);