:man| Alphabetical   Categories   About us 
 
VM_MAP_FIND (9) | Kernel routines | Unix Manual Pages | :man

NAME

vm_map_find - find a free region within a map, and optionally map a vm_object

CONTENTS

Synopsis
Description
Implementation Notes
Return Values
See Also
Authors

SYNOPSIS


.In sys/param.h
.In vm/vm.h
.In vm/vm_map.h int
.Fo 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"
.Fc

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 unchanged 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_findspace(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

 
Created by Blin Media, 2008-2013