summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_fault.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2008-01-03 07:34:34 +0000
committeralc <alc@FreeBSD.org>2008-01-03 07:34:34 +0000
commit545d26e30bb60df264b73543bf214c7e006f18fb (patch)
tree46a2b299e20f99257e0a9e31f02276471aed28a1 /sys/vm/vm_fault.c
parent9699ca07d2cae2224f351d0a332b8265c829f9a8 (diff)
downloadFreeBSD-src-545d26e30bb60df264b73543bf214c7e006f18fb.zip
FreeBSD-src-545d26e30bb60df264b73543bf214c7e006f18fb.tar.gz
Add an access type parameter to pmap_enter(). It will be used to implement
superpage promotion. Correct a style error in kmem_malloc(): pmap_enter()'s last parameter is a Boolean.
Diffstat (limited to 'sys/vm/vm_fault.c')
-rw-r--r--sys/vm/vm_fault.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c
index d2a8220..faa28da 100644
--- a/sys/vm/vm_fault.c
+++ b/sys/vm/vm_fault.c
@@ -888,7 +888,7 @@ readrest:
* back on the active queue until later so that the pageout daemon
* won't find it (yet).
*/
- pmap_enter(fs.map->pmap, vaddr, fs.m, prot, wired);
+ pmap_enter(fs.map->pmap, vaddr, fault_type, fs.m, prot, wired);
if (((fault_flags & VM_FAULT_WIRE_MASK) == 0) && (wired == 0)) {
vm_fault_prefault(fs.map->pmap, vaddr, fs.entry);
}
@@ -1177,9 +1177,10 @@ vm_fault_copy_entry(dst_map, src_map, dst_entry, src_entry)
VM_OBJECT_UNLOCK(dst_object);
/*
- * Enter it in the pmap...
+ * Enter it in the pmap as a read and/or execute access.
*/
- pmap_enter(dst_map->pmap, vaddr, dst_m, prot, FALSE);
+ pmap_enter(dst_map->pmap, vaddr, prot & ~VM_PROT_WRITE, dst_m,
+ prot, FALSE);
/*
* Mark it no longer busy, and put it on the active list.
OpenPOWER on IntegriCloud