<dec f='src/src/sys/uvm/uvm_fault.h' l='59' type='int uvmfault_anonget(struct uvm_faultinfo * , struct vm_amap * , struct vm_anon * )'/>
<doc f='src/src/sys/uvm/uvm_fault.h' l='55'>/*
 * fault prototypes
 */</doc>
<use f='src/src/sys/uvm/uvm_anon.c' l='352' u='c' c='uvm_anon_pagein'/>
<def f='src/src/sys/uvm/uvm_fault.c' l='275' ll='533' type='int uvmfault_anonget(struct uvm_faultinfo * ufi, struct vm_amap * amap, struct vm_anon * anon)'/>
<use f='src/src/sys/uvm/uvm_fault.c' l='1295' u='c' c='uvm_fault_upper'/>
<doc f='src/src/sys/uvm/uvm_fault.c' l='260'>/*
 * uvmfault_anonget: get data in an anon into a non-busy, non-released
 * page in that anon.
 *
 * =&gt; Map, amap and thus anon should be locked by caller.
 * =&gt; If we fail, we unlock everything and error is returned.
 * =&gt; If we are successful, return with everything still locked.
 * =&gt; We do not move the page on the queues [gets moved later].  If we
 *    allocate a new page [we_own], it gets put on the queues.  Either way,
 *    the result is that the page is on the queues at return time
 * =&gt; For pages which are on loan from a uvm_object (and thus are not owned
 *    by the anon): if successful, return with the owning object locked.
 *    The caller must unlock this object when it unlocks everything else.
 */</doc>
<use f='src/src/sys/uvm/uvm_loan.c' l='384' u='c' c='uvm_loananon'/>
