Module Name: src
Committed By: skrll
Date: Mon Sep 5 06:59:25 UTC 2016
Modified Files:
src/sys/arch/mips/mips: pmap_machdep.c
Log Message:
Flush the dcache before syncing the icache as previous mappings (UBC)
might have used the same colo(u)r and the dcache won't have been flush up
to now.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/sys/arch/mips/mips/pmap_machdep.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/mips/pmap_machdep.c
diff -u src/sys/arch/mips/mips/pmap_machdep.c:1.10 src/sys/arch/mips/mips/pmap_machdep.c:1.11
--- src/sys/arch/mips/mips/pmap_machdep.c:1.10 Sun Sep 4 15:25:11 2016
+++ src/sys/arch/mips/mips/pmap_machdep.c Mon Sep 5 06:59:25 2016
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap_machdep.c,v 1.10 2016/09/04 15:25:11 skrll Exp $ */
+/* $NetBSD: pmap_machdep.c,v 1.11 2016/09/05 06:59:25 skrll Exp $ */
/*-
* Copyright (c) 1998, 2001 The NetBSD Foundation, Inc.
@@ -67,7 +67,7 @@
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pmap_machdep.c,v 1.10 2016/09/04 15:25:11 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pmap_machdep.c,v 1.11 2016/09/05 06:59:25 skrll Exp $");
/*
* Manages physical address maps.
@@ -656,6 +656,8 @@ pmap_md_page_syncicache(struct vm_page *
*/
if (MIPS_HAS_R4K_MMU) {
if (VM_PAGEMD_CACHED_P(mdpg)) {
+ /* This was probably mapped cached by UBC so flush it */
+ mips_dcache_wbinv_range_index(va, PAGE_SIZE);
mips_icache_sync_range_index(va, PAGE_SIZE);
}
} else {