Lines Matching defs:ufi
122 * => "ufi" is the result of a successful map lookup (meaning that
137 uvm_loanentry(struct uvm_faultinfo *ufi, void ***output, int flags)
139 vaddr_t curaddr = ufi->orig_rvaddr;
140 vsize_t togo = ufi->size;
141 struct vm_aref *aref = &ufi->entry->aref;
142 struct uvm_object *uobj = ufi->entry->object.uvm_obj;
165 anon = amap_lookup(aref, curaddr - ufi->entry->start);
172 rv = uvm_loananon(ufi, output, flags, anon);
174 rv = uvm_loanuobj(ufi, output, flags, curaddr);
175 } else if (UVM_ET_ISCOPYONWRITE(ufi->entry)) {
176 rv = uvm_loanzero(ufi, output, flags);
178 uvmfault_unlockall(ufi, aref->ar_amap, uobj);
216 uvmfault_unlockmaps(ufi, false);
240 struct uvm_faultinfo ufi;
270 ufi.orig_map = map;
271 ufi.orig_rvaddr = start;
272 ufi.orig_size = len;
279 if (!uvmfault_lookup(&ufi, false)) {
288 rv = uvm_loanentry(&ufi, &output, flags);
337 * 0 = lookup in ufi went stale, everything unlocked, relookup and
343 uvm_loananon(struct uvm_faultinfo *ufi, void ***output, int flags,
364 uvmfault_unlockall(ufi,
365 ufi->entry->aref.ar_amap,
366 ufi->entry->object.uvm_obj);
385 error = uvmfault_anonget(ufi, ufi->entry->aref.ar_amap, anon);
419 uvmfault_unlockall(ufi, ufi->entry->aref.ar_amap, NULL);
592 * 0 = lookup in ufi went stale, everything unlocked, relookup and
598 uvm_loanuobj(struct uvm_faultinfo *ufi, void ***output, int flags, vaddr_t va)
600 struct vm_amap *amap = ufi->entry->aref.ar_amap;
601 struct uvm_object *uobj = ufi->entry->object.uvm_obj;
622 va - ufi->entry->start + ufi->entry->offset,
634 uvmfault_unlockall(ufi, amap, uobj);
643 uvmfault_unlockall(ufi, amap, NULL);
648 va - ufi->entry->start + ufi->entry->offset,
664 locked = uvmfault_relock(ufi);
677 (locked && amap && amap_lookup(&ufi->entry->aref,
678 ufi->orig_rvaddr - ufi->entry->start))) {
680 uvmfault_unlockall(ufi, amap, NULL);
724 uvmfault_unlockall(ufi, amap, uobj);
798 uvmfault_unlockall(ufi, amap, uobj, NULL);
813 * 0 = lookup in ufi went stale, everything unlocked, relookup and
822 uvm_loanzero(struct uvm_faultinfo *ufi, void ***output, int flags)
825 struct vm_amap *amap = ufi->entry->aref.ar_amap;
840 uvmfault_unlockall(ufi, amap, NULL);
842 if (!uvmfault_relock(ufi)) {
898 uvmfault_unlockall(ufi, amap, NULL, NULL);