UVM_VSLOCK(9)
β¨ NAME β¨
okay bestie, welcome to UVM_VSLOCK(9) from the Kernel Developer's Manual β this is the one about wiring user memory for I/O π
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 π
So 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) β thatβs the whole vibe there, no cap.
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 β cleanup queen behavior fr fr π«Ά
π₯ SEE ALSO π₯
mwah π this page is from the Debian fam, dated December 6, 2019 β thatβs the cute little sign-off, bestie πΈ
π¦ where this page comes from
- nixpkgs unstable: cvs-export
- Copyright (c) 1998 Matthew R. Green
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms