diff options
author | Alan Cox <alc@FreeBSD.org> | 1999-05-17 00:53:56 +0000 |
---|---|---|
committer | Alan Cox <alc@FreeBSD.org> | 1999-05-17 00:53:56 +0000 |
commit | e972780a114bdef5234e4c83b1908c69a899dc5a (patch) | |
tree | c588774336a6661f82e6fe2ce2f62dcb82cbad53 /sys/kern/imgact_aout.c | |
parent | 5e025bcf869cd8c5eaa9a7c7e19c5d25e761765d (diff) | |
download | src-e972780a114bdef5234e4c83b1908c69a899dc5a.tar.gz src-e972780a114bdef5234e4c83b1908c69a899dc5a.zip |
Add the options MAP_PREFAULT and MAP_PREFAULT_PARTIAL to vm_map_find/insert,
eliminating the need for the pmap_object_init_pt calls in imgact_* and
mmap.
Reviewed by: David Greenman <dg@root.com>
Notes
Notes:
svn path=/head/; revision=47258
Diffstat (limited to 'sys/kern/imgact_aout.c')
-rw-r--r-- | sys/kern/imgact_aout.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/kern/imgact_aout.c b/sys/kern/imgact_aout.c index f01a6c1a048e..3da5f99e0efd 100644 --- a/sys/kern/imgact_aout.c +++ b/sys/kern/imgact_aout.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: imgact_aout.c,v 1.50 1999/05/09 16:04:06 peter Exp $ + * $Id: imgact_aout.c,v 1.51 1999/05/14 23:09:00 alc Exp $ */ #include <sys/param.h> @@ -190,7 +190,7 @@ exec_aout_imgact(imgp) file_offset, virtual_offset, text_end, VM_PROT_READ | VM_PROT_EXECUTE, VM_PROT_ALL, - MAP_COPY_ON_WRITE); + MAP_COPY_ON_WRITE | MAP_PREFAULT); if (error) { vm_map_unlock(map); return (error); @@ -202,17 +202,13 @@ exec_aout_imgact(imgp) file_offset + a_out->a_text, text_end, data_end, VM_PROT_ALL, VM_PROT_ALL, - MAP_COPY_ON_WRITE); + MAP_COPY_ON_WRITE | MAP_PREFAULT); if (error) { vm_map_unlock(map); return (error); } } - pmap_object_init_pt(vm_map_pmap(map), virtual_offset, - object, (vm_pindex_t) OFF_TO_IDX(file_offset), - a_out->a_text + a_out->a_data, 0); - if (bss_size) { error = vm_map_insert(map, NULL, 0, data_end, data_end + bss_size, |