summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2008-01-02 19:59:32 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2008-01-02 19:59:32 +0000
commit91b8c21a50838d0b4d11437505790a77dd41fd9c (patch)
treeb8947b0edea0da2581120de0d6d7c443984a89f8 /sys
parent3b012d66113430740c600ed7c90dc077ef2baea7 (diff)
Do not invalidate the 88410 cache without flushing it first; this is
probably due either to an error in the cpu-to-88410 communication protocol, or to a bug in the '410 (but since I do not know how to get its revision, I can't tell whether this is the obscure v1 bug or not). This allows osiop-connected devices to work correctly on 197SP/DP boards.
Diffstat (limited to 'sys')
-rw-r--r--sys/arch/mvme88k/mvme88k/m88110.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/arch/mvme88k/mvme88k/m88110.c b/sys/arch/mvme88k/mvme88k/m88110.c
index 9e74303965b..8dccf534f16 100644
--- a/sys/arch/mvme88k/mvme88k/m88110.c
+++ b/sys/arch/mvme88k/mvme88k/m88110.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: m88110.c,v 1.57 2007/12/26 22:22:45 miod Exp $ */
+/* $OpenBSD: m88110.c,v 1.58 2008/01/02 19:59:31 miod Exp $ */
/*
* Copyright (c) 1998 Steve Murphree, Jr.
* All rights reserved.
@@ -668,7 +668,11 @@ m88410_dma_cachectl(pmap_t pmap, vaddr_t _va, vsize_t _size, int op)
ext_flusher = mc88410_sync;
} else {
flusher = m88110_cmmu_inval_cache;
+#ifdef notyet
ext_flusher = mc88410_inval;
+#else
+ ext_flusher = mc88410_sync;
+#endif
}
break;
}
@@ -783,7 +787,11 @@ m88410_dma_cachectl_pa(paddr_t _pa, psize_t _size, int op)
ext_flusher = mc88410_sync;
} else {
flusher = m88110_cmmu_inval_cache;
+#ifdef notyet
ext_flusher = mc88410_inval;
+#else
+ ext_flusher = mc88410_sync;
+#endif
}
break;
}