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.