vm_map_find(9)

NAME

vm_map_find - find a free region within a map, and optional
ly map a
vm_object

SYNOPSIS

#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_map.h>
int
vm_map_find(vm_map_t  map,  vm_object_t object, vm_ooffset_t
offset,
        vm_offset_t  *addr,  vm_size_t   length,   boolean_t
find_space,
        vm_prot_t prot, vm_prot_t max, int cow);

DESCRIPTION

The vm_map_find() function attempts to find a free region in
the target
map, with the given length, and will also optionally create
a mapping of
object.
The arguments offset, prot, max, and cow are passed un
changed to
vm_map_insert(9) when creating the mapping, if and only if a
free region
is found.
If object is non-NULL, the reference count on the object
must be incremented by the caller before calling this function to account
for the new
entry.
If find_space is TRUE, the function will call vm_map_find
space(9) to discover a free region.

IMPLEMENTATION NOTES

This function acquires a lock on map by calling
vm_map_lock(9), and holds
it until the function returns.
The search for a free region is defined to be first-fit,
from the address
addr onwards.

RETURN VALUES

The vm_map_find() function returns KERN_SUCCESS if space for
the mapping
could be found and the mapping was successfully created. If
space could
not be found in the map, KERN_NO_SPACE will be returned. If
the discovered range turned out to be bogus, KERN_INVALID_ADDRESS will
be returned.

SEE ALSO

vm_map(9), vm_map_findspace(9), vm_map_insert(9),
vm_map_lock(9)

AUTHORS

This manual page was written by Bruce M Simpson
<bms@spc.org>.
BSD July 19, 2003
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout