summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_map.h
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2008-05-10 18:55:35 +0000
committeralc <alc@FreeBSD.org>2008-05-10 18:55:35 +0000
commit5a23437099f2b97c9acda670eb588825ed1f44dd (patch)
treed385d237ca987c5a7b00e1291306c60aa868cdf7 /sys/vm/vm_map.h
parent840e3ca1b5be5d79f3f4ed5f4b66a01bed910f1e (diff)
downloadFreeBSD-src-5a23437099f2b97c9acda670eb588825ed1f44dd.zip
FreeBSD-src-5a23437099f2b97c9acda670eb588825ed1f44dd.tar.gz
Generalize vm_map_find(9)'s parameter "find_space". Specifically, add
support for VMFS_ALIGNED_SPACE, which requests the allocation of an address range best suited to superpages. The old options TRUE and FALSE are mapped to VMFS_ANY_SPACE and VMFS_NO_SPACE, so that there is no immediate need to update all of vm_map_find(9)'s callers. While I'm here, correct a misstatement about vm_map_find(9)'s return values in the man page.
Diffstat (limited to 'sys/vm/vm_map.h')
-rw-r--r--sys/vm/vm_map.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h
index 37d9084..bc2ae43 100644
--- a/sys/vm/vm_map.h
+++ b/sys/vm/vm_map.h
@@ -325,6 +325,13 @@ long vmspace_wired_count(struct vmspace *vmspace);
#define VM_FAULT_DIRTY 8 /* Dirty the page */
/*
+ * The following "find_space" options are supported by vm_map_find()
+ */
+#define VMFS_NO_SPACE 0 /* don't find; use the given range */
+#define VMFS_ANY_SPACE 1 /* find a range with any alignment */
+#define VMFS_ALIGNED_SPACE 2 /* find a superpage-aligned range */
+
+/*
* vm_map_wire and vm_map_unwire option flags
*/
#define VM_MAP_WIRE_SYSTEM 0 /* wiring in a kernel map */
@@ -337,7 +344,8 @@ long vmspace_wired_count(struct vmspace *vmspace);
boolean_t vm_map_check_protection (vm_map_t, vm_offset_t, vm_offset_t, vm_prot_t);
vm_map_t vm_map_create(pmap_t, vm_offset_t, vm_offset_t);
int vm_map_delete (vm_map_t, vm_offset_t, vm_offset_t);
-int vm_map_find (vm_map_t, vm_object_t, vm_ooffset_t, vm_offset_t *, vm_size_t, boolean_t, vm_prot_t, vm_prot_t, int);
+int vm_map_find(vm_map_t, vm_object_t, vm_ooffset_t, vm_offset_t *, vm_size_t,
+ int, vm_prot_t, vm_prot_t, int);
int vm_map_fixed(vm_map_t, vm_object_t, vm_ooffset_t, vm_offset_t, vm_size_t,
vm_prot_t, vm_prot_t, int);
int vm_map_findspace (vm_map_t, vm_offset_t, vm_size_t, vm_offset_t *);
OpenPOWER on IntegriCloud