diff options
Diffstat (limited to 'sys/uvm')
-rw-r--r-- | sys/uvm/uvm_extern.h | 20 | ||||
-rw-r--r-- | sys/uvm/uvm_km.c | 9 |
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 |