summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2011-10-09 17:02:16 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2011-10-09 17:02:16 +0000
commit21e5161103fbb47fa22eca675442a0198a331934 (patch)
tree00a384c8f59fc32242bf63cf1312b7486b5fcb18 /sys/arch/mvme88k
parent2957b789dda5fee3e9d1fb70d7c9e68a8a0f098b (diff)
Correctly handle invalidate of partial cache lines, for the Nth time.
Diffstat (limited to 'sys/arch/mvme88k')
-rw-r--r--sys/arch/mvme88k/mvme88k/m88110.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arch/mvme88k/mvme88k/m88110.c b/sys/arch/mvme88k/mvme88k/m88110.c
index 4f9ddb3f6b8..9c2e6dfc07f 100644
--- a/sys/arch/mvme88k/mvme88k/m88110.c
+++ b/sys/arch/mvme88k/mvme88k/m88110.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: m88110.c,v 1.74 2011/04/19 21:25:28 miod Exp $ */
+/* $OpenBSD: m88110.c,v 1.75 2011/10/09 17:02:15 miod Exp $ */
/*
* Copyright (c) 2010, 2011, Miodrag Vallat.
@@ -876,6 +876,10 @@ m88110_dma_cachectl(paddr_t _pa, psize_t _size, int op)
bcopy(lines, (void *)pa1, sz1);
if (sz2 != 0)
bcopy(lines + MC88110_CACHE_LINE, (void *)pa2, sz2);
+ if (sz1 != 0)
+ m88110_cmmu_wbinv_locked(pa1, MC88110_CACHE_LINE);
+ if (sz2 != 0)
+ m88110_cmmu_wbinv_locked(pa2, MC88110_CACHE_LINE);
} else {
while (size != 0) {
count = (pa & PAGE_MASK) == 0 && size >= PAGE_SIZE ?