summaryrefslogtreecommitdiff
path: root/sys/vm/vm_map.h
diff options
context:
space:
mode:
authorcvs2svn <cvs2svn@FreeBSD.org>1997-03-27 03:07:27 +0000
committercvs2svn <cvs2svn@FreeBSD.org>1997-03-27 03:07:27 +0000
commitfe49c1266233ddc2306072aefb4e1c1d045060fe (patch)
tree134c187f06b248ff0eab3d486d5c69dbb2348647 /sys/vm/vm_map.h
parent10891800ac4a1b9bcc24a79d523670a052935776 (diff)
Diffstat (limited to 'sys/vm/vm_map.h')
-rw-r--r--sys/vm/vm_map.h24
1 files changed, 18 insertions, 6 deletions
diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h
index e0fde407aa8c4..5c745e7c4459a 100644
--- a/sys/vm/vm_map.h
+++ b/sys/vm/vm_map.h
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_map.h,v 1.15 1996/07/30 03:08:11 dyson Exp $
+ * $Id: vm_map.h,v 1.15.2.1 1996/12/15 09:57:14 davidg Exp $
*/
/*
@@ -104,11 +104,7 @@ struct vm_map_entry {
vm_offset_t end; /* end address */
union vm_map_object object; /* object I point to */
vm_ooffset_t offset; /* offset into object */
- u_char is_a_map:1, /* Is "object" a map? */
- is_sub_map:1, /* Is "object" a submap? */
- copy_on_write:1, /* is data copy-on-write */
- needs_copy:1, /* does object need to be copied */
- nofault:1; /* should never fault */
+ u_char eflags; /* map entry flags */
/* Only in task maps: */
vm_prot_t protection; /* protection code */
vm_prot_t max_protection; /* maximum protection */
@@ -116,6 +112,13 @@ struct vm_map_entry {
int wired_count; /* can be paged if = 0 */
};
+#define MAP_ENTRY_IS_A_MAP 0x1
+#define MAP_ENTRY_IS_SUB_MAP 0x2
+#define MAP_ENTRY_COW 0x4
+#define MAP_ENTRY_NEEDS_COPY 0x8
+#define MAP_ENTRY_NOFAULT 0x10
+#define MAP_ENTRY_USER_WIRED 0x20
+
/*
* Maps are doubly-linked lists of map entries, kept sorted
* by address. A single hint is provided to start
@@ -210,6 +213,13 @@ typedef struct {
#define MAP_COPY_ON_WRITE 0x2
#define MAP_NOFAULT 0x4
+/*
+ * vm_fault option flags
+ */
+#define VM_FAULT_NORMAL 0
+#define VM_FAULT_CHANGE_WIRING 1
+#define VM_FAULT_USER_WIRE 2
+
#ifdef KERNEL
extern vm_offset_t kentry_data;
extern vm_size_t kentry_data_size;
@@ -230,6 +240,7 @@ int vm_map_lookup __P((vm_map_t *, vm_offset_t, vm_prot_t, vm_map_entry_t *, vm_
void vm_map_lookup_done __P((vm_map_t, vm_map_entry_t));
boolean_t vm_map_lookup_entry __P((vm_map_t, vm_offset_t, vm_map_entry_t *));
int vm_map_pageable __P((vm_map_t, vm_offset_t, vm_offset_t, boolean_t));
+int vm_map_user_pageable __P((vm_map_t, vm_offset_t, vm_offset_t, boolean_t));
int vm_map_clean __P((vm_map_t, vm_offset_t, vm_offset_t, boolean_t, boolean_t));
int vm_map_protect __P((vm_map_t, vm_offset_t, vm_offset_t, vm_prot_t, boolean_t));
void vm_map_reference __P((vm_map_t));
@@ -238,6 +249,7 @@ void vm_map_simplify __P((vm_map_t, vm_offset_t));
void vm_map_startup __P((void));
int vm_map_submap __P((vm_map_t, vm_offset_t, vm_offset_t, vm_map_t));
void vm_map_madvise __P((vm_map_t, pmap_t, vm_offset_t, vm_offset_t, int));
+void vm_map_simplify_entry __P((vm_map_t, vm_map_entry_t));
#endif
#endif /* _VM_MAP_ */