|
NAMEvm_map_find —
find a free region within a map, and optionally map a
vm_object
SYNOPSIS#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_map.h>
int
DESCRIPTIONThevm_map_find () function attempts to find a free
region in the target map, with the given
length. If a free region is found,
vm_map_find () creates a mapping of
object via a call to
vm_map_insert(9).
The arguments offset, prot, max, and cow are passed unchanged to vm_map_insert(9) when creating the mapping, if and only if a free region is found. If object is
non- If max_addr is non-zero, it specifies an upper bound on the mapping. The mapping will only succeed if a free region can be found that resides entirely below max_addr. The find_space argument specifies the
strategy to use when searching for a free region of the requested length.
For all values other than
IMPLEMENTATION NOTESThis 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 VALUESThevm_map_find () function returns
KERN_SUCCESS if the mapping was successfully created.
If space could not be found or find_space was
VMFS_NO_SPACE and the given address,
addr, was already mapped,
KERN_NO_SPACE will be returned. If the discovered
range turned out to be bogus, KERN_INVALID_ADDRESS
will be returned.
SEE ALSOvm_map(9), vm_map_findspace(9), vm_map_insert(9), vm_map_lock(9)AUTHORSThis manual page was written by Bruce M Simpson <bms@spc.org>.
Visit the GSP FreeBSD Man Page Interface. |