From 5d264f84f3d33226bf217321f96c7c7ce297bec7 Mon Sep 17 00:00:00 2001 From: Bruce M Simpson Date: Sun, 5 Oct 2003 12:41:08 +0000 Subject: [PATCH] Revert previous commit. Come back vslock(), all is forgiven. Pointy hat to: bms --- sys/vm/vm_extern.h | 2 ++ sys/vm/vm_glue.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/sys/vm/vm_extern.h b/sys/vm/vm_extern.h index ee71f8133e5..07f28fa31db 100644 --- a/sys/vm/vm_extern.h +++ b/sys/vm/vm_extern.h @@ -88,6 +88,8 @@ void vmspace_unshare(struct proc *); void vmspace_free(struct vmspace *); void vmspace_exitfree(struct proc *); void vnode_pager_setsize(struct vnode *, vm_ooffset_t); +void vslock(void *, u_int); +void vsunlock(void *, u_int); void vm_object_print(/* db_expr_t */ long, boolean_t, /* db_expr_t */ long, char *); int vm_fault_quick(caddr_t v, int prot); diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c index b1e1cdfa96d..6e2872f65eb 100644 --- a/sys/vm/vm_glue.c +++ b/sys/vm/vm_glue.c @@ -179,6 +179,35 @@ useracc(addr, len, rw) return (rv == TRUE); } +/* + * 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.