vm_map.h (21673) | vm_map.h (21754) |
---|---|
1/* 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * The Mach Operating System project at Carnegie-Mellon University. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 47 unchanged lines hidden (view full) --- 56 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 57 * School of Computer Science 58 * Carnegie Mellon University 59 * Pittsburgh PA 15213-3890 60 * 61 * any improvements or extensions that they make and grant Carnegie the 62 * rights to redistribute these changes. 63 * | 1/* 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * This code is derived from software contributed to Berkeley by 6 * The Mach Operating System project at Carnegie-Mellon University. 7 * 8 * Redistribution and use in source and binary forms, with or without --- 47 unchanged lines hidden (view full) --- 56 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU 57 * School of Computer Science 58 * Carnegie Mellon University 59 * Pittsburgh PA 15213-3890 60 * 61 * any improvements or extensions that they make and grant Carnegie the 62 * rights to redistribute these changes. 63 * |
64 * $FreeBSD: head/sys/vm/vm_map.h 21673 1997-01-14 07:20:47Z jkh $ | 64 * $FreeBSD: head/sys/vm/vm_map.h 21754 1997-01-16 04:16:22Z dyson $ |
65 */ 66 67/* 68 * Virtual memory map module definitions. 69 */ 70 71#ifndef _VM_MAP_ 72#define _VM_MAP_ --- 26 unchanged lines hidden (view full) --- 99 */ 100struct vm_map_entry { 101 struct vm_map_entry *prev; /* previous entry */ 102 struct vm_map_entry *next; /* next entry */ 103 vm_offset_t start; /* start address */ 104 vm_offset_t end; /* end address */ 105 union vm_map_object object; /* object I point to */ 106 vm_ooffset_t offset; /* offset into object */ | 65 */ 66 67/* 68 * Virtual memory map module definitions. 69 */ 70 71#ifndef _VM_MAP_ 72#define _VM_MAP_ --- 26 unchanged lines hidden (view full) --- 99 */ 100struct vm_map_entry { 101 struct vm_map_entry *prev; /* previous entry */ 102 struct vm_map_entry *next; /* next entry */ 103 vm_offset_t start; /* start address */ 104 vm_offset_t end; /* end address */ 105 union vm_map_object object; /* object I point to */ 106 vm_ooffset_t offset; /* offset into object */ |
107 u_char eflags; /* map entry flags */ 108#if 0 |
|
107 u_char is_a_map:1, /* Is "object" a map? */ 108 is_sub_map:1, /* Is "object" a submap? */ 109 copy_on_write:1, /* is data copy-on-write */ 110 needs_copy:1, /* does object need to be copied */ 111 nofault:1, /* should never fault */ 112 user_wired:1; /* wired by user */ | 109 u_char is_a_map:1, /* Is "object" a map? */ 110 is_sub_map:1, /* Is "object" a submap? */ 111 copy_on_write:1, /* is data copy-on-write */ 112 needs_copy:1, /* does object need to be copied */ 113 nofault:1, /* should never fault */ 114 user_wired:1; /* wired by user */ |
115#endif |
|
113 /* Only in task maps: */ 114 vm_prot_t protection; /* protection code */ 115 vm_prot_t max_protection; /* maximum protection */ 116 vm_inherit_t inheritance; /* inheritance */ 117 int wired_count; /* can be paged if = 0 */ 118}; 119 | 116 /* Only in task maps: */ 117 vm_prot_t protection; /* protection code */ 118 vm_prot_t max_protection; /* maximum protection */ 119 vm_inherit_t inheritance; /* inheritance */ 120 int wired_count; /* can be paged if = 0 */ 121}; 122 |
123#define MAP_ENTRY_IS_A_MAP 0x1 124#define MAP_ENTRY_IS_SUB_MAP 0x2 125#define MAP_ENTRY_COW 0x4 126#define MAP_ENTRY_NEEDS_COPY 0x8 127#define MAP_ENTRY_NOFAULT 0x10 128#define MAP_ENTRY_USER_WIRED 0x20 129 |
|
120/* 121 * Maps are doubly-linked lists of map entries, kept sorted 122 * by address. A single hint is provided to start 123 * searches again from the last successful search, 124 * insertion, or removal. 125 */ 126struct vm_map { 127 struct pmap *pmap; /* Physical map */ --- 126 unchanged lines hidden --- | 130/* 131 * Maps are doubly-linked lists of map entries, kept sorted 132 * by address. A single hint is provided to start 133 * searches again from the last successful search, 134 * insertion, or removal. 135 */ 136struct vm_map { 137 struct pmap *pmap; /* Physical map */ --- 126 unchanged lines hidden --- |