diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2010-07-01 21:27:40 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2010-07-01 21:27:40 +0000 |
commit | 9b5af8fa665fbe2d5508c1aac172c7a864618c3d (patch) | |
tree | 235f6eb84a99018827a5c873505f0bfe799c5090 /sys/uvm/uvm_extern.h | |
parent | de101667466fd782081d6f7cb241706f15b3d283 (diff) |
Implement vs{,un}lock_device and use it for physio.
Just like normal vs{,un}lock, but in case the pages we get are not dma
accessible, we bounce them, if they are dma acessible, the functions behave
exactly like normal vslock. The plan for the future is to have fault_wire
allocate dma acessible pages so that we don't need to bounce (especially
in cases where the same buffer is reused for physio over and over again),
but for now, keep it as simple as possible.
Diffstat (limited to 'sys/uvm/uvm_extern.h')
-rw-r--r-- | sys/uvm/uvm_extern.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/uvm/uvm_extern.h b/sys/uvm/uvm_extern.h index e9ea11298e5..b70dd6a903d 100644 --- a/sys/uvm/uvm_extern.h +++ b/sys/uvm/uvm_extern.h @@ -1,4 +1,4 @@ -/* $OpenBSD: uvm_extern.h,v 1.87 2010/06/27 03:03:49 thib Exp $ */ +/* $OpenBSD: uvm_extern.h,v 1.88 2010/07/01 21:27:39 art Exp $ */ /* $NetBSD: uvm_extern.h,v 1.57 2001/03/09 01:02:12 chs Exp $ */ /* @@ -503,6 +503,11 @@ int uvm_vslock(struct proc *, caddr_t, size_t, vm_prot_t); void uvm_vsunlock(struct proc *, caddr_t, size_t); +int uvm_vslock_device(struct proc *, void *, size_t, + vm_prot_t, void **); +void uvm_vsunlock_device(struct proc *, void *, size_t, + void *); + /* uvm_init.c */ void uvm_init(void); |