diff options
author | Miod Vallat <miod@cvs.openbsd.org> | 2011-10-09 17:02:16 +0000 |
---|---|---|
committer | Miod Vallat <miod@cvs.openbsd.org> | 2011-10-09 17:02:16 +0000 |
commit | 21e5161103fbb47fa22eca675442a0198a331934 (patch) | |
tree | 00a384c8f59fc32242bf63cf1312b7486b5fcb18 /sys/arch/mvme88k | |
parent | 2957b789dda5fee3e9d1fb70d7c9e68a8a0f098b (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.c | 6 |
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 ? |