<dec f='src/src/sys/uvm/uvm_map.h' l='282' type='struct vm_map_entry * uvm_map_findspace(struct vm_map * , vaddr_t , vsize_t , vaddr_t * , struct uvm_object * , voff_t , vsize_t , int )'/>
<use f='src/src/sys/uvm/uvm_map.c' l='1155' u='c' c='uvm_map_prepare'/>
<def f='src/src/sys/uvm/uvm_map.c' l='1802' ll='2130' type='struct vm_map_entry * uvm_map_findspace(struct vm_map * map, vaddr_t hint, vsize_t length, vaddr_t * result, struct uvm_object * uobj, voff_t uoffset, vsize_t align, int flags)'/>
<doc f='src/src/sys/uvm/uvm_map.c' l='1789'>/*
 * uvm_map_findspace: find &quot;length&quot; sized space in &quot;map&quot;.
 *
 * =&gt; &quot;hint&quot; is a hint about where we want it, unless UVM_FLAG_FIXED is
 *	set in &quot;flags&quot; (in which case we insist on using &quot;hint&quot;).
 * =&gt; &quot;result&quot; is VA returned
 * =&gt; uobj/uoffset are to be used to handle VAC alignment, if required
 * =&gt; if &quot;align&quot; is non-zero, we attempt to align to that value.
 * =&gt; caller must at least have read-locked map
 * =&gt; returns NULL on failure, or pointer to prev. map entry if success
 * =&gt; note this is a cross between the old vm_map_findspace and vm_map_find
 */</doc>
