[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: src/etc/Makefile



> この powerpc/pmap.c の修正 commit しました。

このときの pmap_enter() の修正ですが,

Index: pmap.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/powerpc/powerpc/pmap.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -5 -r1.47 -r1.48
--- pmap.c	2001/10/13 18:28:10	1.47
+++ pmap.c	2001/12/01 23:34:52	1.48
@@ -1,6 +1,6 @@
-/*	$NetBSD: pmap.c,v 1.47 2001/10/13 18:28:10 chs Exp $	*/
+/*	$NetBSD: pmap.c,v 1.48 2001/12/01 23:34:52 tsutsui Exp $	*/
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
  * Copyright (C) 1995, 1996 TooLs GmbH.
  * All rights reserved.
@@ -1017,11 +1017,12 @@
 	if (pmap_initialized && managed)
 		if (pmap_enter_pv(idx, va, pa)) {
 			/*
 			 * Flush the real memory from the cache.
 			 */
-			__syncicache((void *)pa, NBPG);
+			if (prot & VM_PROT_EXECUTE)
+				__syncicache((void *)pa, NBPG);
 		}
 
 	s = splvm();
 	pm->pm_stats.resident_count++;
 	/*

pmap_enter_pv() は最初の mapping かどうかを返す (今は bug っていま
すが) ので, 既に !VM_PROT_EXECUTE な mapping が存在したら icache を 
invalidate しない, ということになります.  これは意図した動作でしょうか?

enami.