diff options
author | cvs2svn <cvs2svn@FreeBSD.org> | 1997-03-27 03:07:27 +0000 |
---|---|---|
committer | cvs2svn <cvs2svn@FreeBSD.org> | 1997-03-27 03:07:27 +0000 |
commit | fe49c1266233ddc2306072aefb4e1c1d045060fe (patch) | |
tree | 134c187f06b248ff0eab3d486d5c69dbb2348647 /sys/vm/vm_map.h | |
parent | 10891800ac4a1b9bcc24a79d523670a052935776 (diff) |
Diffstat (limited to 'sys/vm/vm_map.h')
-rw-r--r-- | sys/vm/vm_map.h | 24 |
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_ */ |