UVM_VSLOCK(9)

NAME
uvm_vslock, uvm_vsunlock, uvm_vslock_device, uvm_vsunlock_device - wire user memory for I/O

SYNOPSIS
#include <uvm/uvm_extern.h>
void
uvm_vslock(struct proc *p, caddr_t addr, size_t len, vm_prot_t access_type);
void
uvm_vsunlock(struct proc *p, caddr_t addr, size_t len);
int
uvm_vslock_device(struct proc *p, void *addr, size_t len, vm_prot_t access_type, void **retp);
void
uvm_vsunlock_device(struct proc *p, void *addr, size_t len, void *map);

DESCRIPTION
The uvm_vslock() family of functions control the wiring and unwiring of pages for process p from addr to addr + len. The access_type argument is passed to uvm_fault(9).

uvm_vslock_device() also checks if the pages are DMA reachable. When they aren't, it bounces their content into a newly created mapping returned in retp. uvm_vsunlock_device() will release this memory mapping pointed by map.

SEE ALSO
uvm_fault(9)