summaryrefslogtreecommitdiff
path: root/sys/uvm/uvm_extern.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/uvm/uvm_extern.h')
-rw-r--r--sys/uvm/uvm_extern.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/sys/uvm/uvm_extern.h b/sys/uvm/uvm_extern.h
index 7941d55963f..e9ea11298e5 100644
--- a/sys/uvm/uvm_extern.h
+++ b/sys/uvm/uvm_extern.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_extern.h,v 1.86 2010/06/09 08:26:21 thib Exp $ */
+/* $OpenBSD: uvm_extern.h,v 1.87 2010/06/27 03:03:49 thib Exp $ */
/* $NetBSD: uvm_extern.h,v 1.57 2001/03/09 01:02:12 chs Exp $ */
/*
@@ -205,6 +205,7 @@ typedef int vm_prot_t;
#define UVM_KMF_NOWAIT 0x1 /* matches M_NOWAIT */
#define UVM_KMF_VALLOC 0x2 /* allocate VA only */
#define UVM_KMF_CANFAIL 0x4 /* caller handles failure */
+#define UVM_KMF_ZERO 0x08 /* zero pages */
#define UVM_KMF_TRYLOCK UVM_FLAG_TRYLOCK /* try locking only */
/*
@@ -517,8 +518,11 @@ vaddr_t uvm_km_alloc1(vm_map_t, vsize_t, vsize_t, boolean_t);
void uvm_km_free(vm_map_t, vaddr_t, vsize_t);
void uvm_km_free_wakeup(vm_map_t, vaddr_t,
vsize_t);
-vaddr_t uvm_km_kmemalloc(vm_map_t, struct uvm_object *,
- vsize_t, int);
+vaddr_t uvm_km_kmemalloc_pla(struct vm_map *,
+ struct uvm_object *, vsize_t, int, paddr_t,
+ paddr_t, paddr_t, paddr_t, int);
+#define uvm_km_kmemalloc(map, obj, sz, flags) \
+ uvm_km_kmemalloc_pla(map, obj, sz, flags, 0, (paddr_t)-1, 0, 0, 0)
struct vm_map *uvm_km_suballoc(vm_map_t, vaddr_t *,
vaddr_t *, vsize_t, int,
boolean_t, vm_map_t);
@@ -528,7 +532,13 @@ vaddr_t uvm_km_valloc_wait(vm_map_t, vsize_t);
vaddr_t uvm_km_valloc_align(struct vm_map *, vsize_t, vsize_t, int);
vaddr_t uvm_km_valloc_prefer_wait(vm_map_t, vsize_t,
voff_t);
-void *uvm_km_getpage(boolean_t, int *);
+void *uvm_km_getpage_pla(boolean_t, int *, paddr_t, paddr_t,
+ paddr_t, paddr_t);
+/* Wrapper around old function prototype. */
+#define uvm_km_getpage(waitok, slowdown) \
+ uvm_km_getpage_pla(((waitok) ? 0 : UVM_KMF_NOWAIT), (slowdown), \
+ (paddr_t)0, (paddr_t)-1, 0, 0)
+
void uvm_km_putpage(void *);
/* uvm_map.c */