diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2008-01-02 19:59:32 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2008-01-02 19:59:32 +0000 |
commit | 91b8c21a50838d0b4d11437505790a77dd41fd9c (patch) | |
tree | b8947b0edea0da2581120de0d6d7c443984a89f8 /sys | |
parent | 3b012d66113430740c600ed7c90dc077ef2baea7 (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.c | 10 |
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; } |