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.