UVM_VSLOCK(9) | Kernel Developer's Manual | 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)

December 6, 2019 | Debian