OpenBSD manual page server

Manual Page Search Parameters

UVM_VSLOCK(9) Kernel Developer's Manual UVM_VSLOCK(9)

uvm_vslock, uvm_vsunlock, uvm_vslock_device, uvm_vsunlock_devicewire user memory for I/O

#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);

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.

uvm_fault(9)

December 6, 2019 OpenBSD-current