svn commit: r195625 - head/sys/ia64/ia64
Marcel Moolenaar
marcel at FreeBSD.org
Sat Jul 11 22:27:21 UTC 2009
Author: marcel
Date: Sat Jul 11 22:27:20 2009
New Revision: 195625
URL: http://svn.freebsd.org/changeset/base/195625
Log:
On exec(2), when loading the ELF image, pmap_enter_object() is
called to prefault pages. This is an obvious place for making
sure the I-cache is coherent. It was missing though. As such,
execution over NFS and ZFS file systems was failing. NFS was
fixed the wrong way (by flushing the D-cache as part of the
NFS code) in a previous commit. ZFS problems were encountered
after that and indicated that something else was wrong...
Approved by: re (kib)
Modified:
head/sys/ia64/ia64/pmap.c
Modified: head/sys/ia64/ia64/pmap.c
==============================================================================
--- head/sys/ia64/ia64/pmap.c Sat Jul 11 21:56:23 2009 (r195624)
+++ head/sys/ia64/ia64/pmap.c Sat Jul 11 22:27:20 2009 (r195625)
@@ -1733,6 +1733,9 @@ pmap_enter_quick_locked(pmap_t pmap, vm_
pmap_pte_prot(pmap, pte,
prot & (VM_PROT_READ | VM_PROT_EXECUTE));
pmap_set_pte(pte, va, VM_PAGE_TO_PHYS(m), FALSE, managed);
+
+ if (prot & VM_PROT_EXECUTE)
+ ia64_sync_icache(va, PAGE_SIZE);
}
}
More information about the svn-src-head
mailing list