summaryrefslogtreecommitdiff
path: root/sys/uvm
diff options
context:
space:
mode:
Diffstat (limited to 'sys/uvm')
-rw-r--r--sys/uvm/uvm_extern.h20
-rw-r--r--sys/uvm/uvm_km.c9
2 files changed, 17 insertions, 12 deletions
diff --git a/sys/uvm/uvm_extern.h b/sys/uvm/uvm_extern.h
index 7e668e77602..5b9af4a913f 100644
--- a/sys/uvm/uvm_extern.h
+++ b/sys/uvm/uvm_extern.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_extern.h,v 1.91 2011/04/04 11:24:45 art Exp $ */
+/* $OpenBSD: uvm_extern.h,v 1.92 2011/04/04 11:56:12 art Exp $ */
/* $NetBSD: uvm_extern.h,v 1.57 2001/03/09 01:02:12 chs Exp $ */
/*
@@ -561,9 +561,9 @@ struct vm_map *uvm_km_suballoc(vm_map_t, vaddr_t *,
struct kmem_va_mode {
struct vm_map **kv_map;
vsize_t kv_align;
- int kv_wait;
- int kv_singlepage;
- int kv_executable;
+ char kv_wait;
+ char kv_singlepage;
+ char kv_executable;
};
/*
@@ -584,10 +584,10 @@ struct kmem_pa_mode {
struct uvm_object **kp_object;
paddr_t kp_align;
paddr_t kp_boundary;
- int kp_nomem;
int kp_maxseg;
- int kp_zero;
- int kp_pageable;
+ char kp_nomem;
+ char kp_zero;
+ char kp_pageable;
};
/*
@@ -602,13 +602,13 @@ struct kmem_pa_mode {
* allocator catch up.
*/
struct kmem_dyn_mode {
- int kd_waitok;
- int kd_trylock;
voff_t kd_prefer;
int *kd_slowdown;
+ char kd_waitok;
+ char kd_trylock;
};
-#define KMEM_DYN_INITIALIZER { 0, 0, UVM_UNKNOWN_OFFSET, NULL }
+#define KMEM_DYN_INITIALIZER { UVM_UNKNOWN_OFFSET, NULL, 0, 0 }
/*
* Notice that for kv_ waiting has a different meaning. It's only supposed
diff --git a/sys/uvm/uvm_km.c b/sys/uvm/uvm_km.c
index 83d4bf4628f..1f86cabfcb4 100644
--- a/sys/uvm/uvm_km.c
+++ b/sys/uvm/uvm_km.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uvm_km.c,v 1.87 2011/04/04 11:24:45 art Exp $ */
+/* $OpenBSD: uvm_km.c,v 1.88 2011/04/04 11:56:12 art Exp $ */
/* $NetBSD: uvm_km.c,v 1.42 2001/01/14 02:10:01 thorpej Exp $ */
/*
@@ -960,7 +960,12 @@ km_alloc(size_t sz, struct kmem_va_mode *kv, struct kmem_pa_mode *kp,
#ifdef __HAVE_PMAP_DIRECT
if (kv->kv_align || kv->kv_executable)
goto alloc_va;
-#if 1 /* For now, because I'm lazy in free */
+#if 1
+ /*
+ * For now, only do DIRECT mappings for single page
+ * allocations, until we figure out a good way to deal
+ * with contig allocations in km_free.
+ */
if (!kv->kv_singlepage)
goto alloc_va;
#endif