summaryrefslogtreecommitdiff
path: root/sys/arch/m88k
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2007-12-20 21:15:52 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2007-12-20 21:15:52 +0000
commit2a85de5cb26398db278dfde2d54d242f5aef3903 (patch)
tree0bba6eb58c4f2711dc4cc761fe67e0d7538bbbd3 /sys/arch/m88k
parent590d1ec17a6c61753753e42a5b4275df72356eed (diff)
Flush the source page before copying in pmap_copy_page(). This should not
be necessary, but not doing it appears to break 88204 (not 88200) and split CMMUs.
Diffstat (limited to 'sys/arch/m88k')
-rw-r--r--sys/arch/m88k/m88k/pmap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arch/m88k/m88k/pmap.c b/sys/arch/m88k/m88k/pmap.c
index 4347aa3cb80..1eeb3d29467 100644
--- a/sys/arch/m88k/m88k/pmap.c
+++ b/sys/arch/m88k/m88k/pmap.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.c,v 1.41 2007/12/02 21:22:19 miod Exp $ */
+/* $OpenBSD: pmap.c,v 1.42 2007/12/20 21:15:51 miod Exp $ */
/*
* Copyright (c) 2001-2004, Miodrag Vallat
* Copyright (c) 1998-2001 Steve Murphree, Jr.
@@ -2078,6 +2078,7 @@ pmap_copy_page(struct vm_page *srcpg, struct vm_page *dstpg)
* bound to only one cpu.
*/
cmmu_flush_tlb(cpu, TRUE, dstva, 2);
+ cmmu_flush_cache(cpu, src, PAGE_SIZE);
copypage(srcva, dstva);
splx(spl);