diff options
Diffstat (limited to 'sys/vm/vm_glue.c')
-rw-r--r-- | sys/vm/vm_glue.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index b1e1cdf..6e2872f 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -180,6 +180,35 @@ useracc(addr, len, rw) } /* + * MPSAFE + */ +void +vslock(addr, len) + void *addr; + u_int len; +{ + + vm_map_wire(&curproc->p_vmspace->vm_map, trunc_page((vm_offset_t)addr), + round_page((vm_offset_t)addr + len), + VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); +} + +/* + * MPSAFE + */ +void +vsunlock(addr, len) + void *addr; + u_int len; +{ + + vm_map_unwire(&curproc->p_vmspace->vm_map, + trunc_page((vm_offset_t)addr), + round_page((vm_offset_t)addr + len), + VM_MAP_WIRE_SYSTEM|VM_MAP_WIRE_NOHOLES); +} + +/* * Create the U area for a new process. * This routine directly affects the fork perf for a process. */ |