vm_map_findspace9
Find a free region within a map
Usage
#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_map.h>
int
vm_map_findspace(vm_map_t map, vm_offset_t start, vm_size_t length, vm_offset_t *addr);
Overview
The vm_map_findspace() function attempts to find a region with sufficient space in the map for an object of size length at the address addr.
Implementation notes
It is the caller's responsibility to obtain a lock on the map using vm_map_lock(9) before calling this function.
This routine may call pmap_growkernel(9) to grow the kernel's address space, if and only if the mapping is being made within the kernel address space, and if insufficient space remains in the kernel_map.
Return values
The vm_map_findspace() function returns the value 0 if successful, and *addr will contain the first virtual address in the found region; otherwise, the value 1 is returned.