| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: uvm_map.h,v 1.67 2011/06/12 03:36:03 rmind Exp $ */ | | 1 | /* $NetBSD: uvm_map.h,v 1.68 2011/12/20 15:41:01 reinoud Exp $ */ |
2 | | | 2 | |
3 | /* | | 3 | /* |
4 | * Copyright (c) 1997 Charles D. Cranor and Washington University. | | 4 | * Copyright (c) 1997 Charles D. Cranor and Washington University. |
5 | * Copyright (c) 1991, 1993, The Regents of the University of California. | | 5 | * Copyright (c) 1991, 1993, The Regents of the University of California. |
6 | * | | 6 | * |
7 | * All rights reserved. | | 7 | * All rights reserved. |
8 | * | | 8 | * |
9 | * This code is derived from software contributed to Berkeley by | | 9 | * This code is derived from software contributed to Berkeley by |
10 | * The Mach Operating System project at Carnegie-Mellon University. | | 10 | * The Mach Operating System project at Carnegie-Mellon University. |
11 | * | | 11 | * |
12 | * Redistribution and use in source and binary forms, with or without | | 12 | * Redistribution and use in source and binary forms, with or without |
13 | * modification, are permitted provided that the following conditions | | 13 | * modification, are permitted provided that the following conditions |
14 | * are met: | | 14 | * are met: |
| @@ -129,26 +129,27 @@ struct vm_map_entry { | | | @@ -129,26 +129,27 @@ struct vm_map_entry { |
129 | vaddr_t end; /* end address */ | | 129 | vaddr_t end; /* end address */ |
130 | union { | | 130 | union { |
131 | struct uvm_object *uvm_obj; /* uvm object */ | | 131 | struct uvm_object *uvm_obj; /* uvm object */ |
132 | struct vm_map *sub_map; /* belongs to another map */ | | 132 | struct vm_map *sub_map; /* belongs to another map */ |
133 | } object; /* object I point to */ | | 133 | } object; /* object I point to */ |
134 | voff_t offset; /* offset into object */ | | 134 | voff_t offset; /* offset into object */ |
135 | int etype; /* entry type */ | | 135 | int etype; /* entry type */ |
136 | vm_prot_t protection; /* protection code */ | | 136 | vm_prot_t protection; /* protection code */ |
137 | vm_prot_t max_protection; /* maximum protection */ | | 137 | vm_prot_t max_protection; /* maximum protection */ |
138 | vm_inherit_t inheritance; /* inheritance */ | | 138 | vm_inherit_t inheritance; /* inheritance */ |
139 | int wired_count; /* can be paged if == 0 */ | | 139 | int wired_count; /* can be paged if == 0 */ |
140 | struct vm_aref aref; /* anonymous overlay */ | | 140 | struct vm_aref aref; /* anonymous overlay */ |
141 | int advice; /* madvise advice */ | | 141 | int advice; /* madvise advice */ |
| | | 142 | uint32_t map_attrib; /* uvm-external map attributes */ |
142 | #define uvm_map_entry_stop_copy flags | | 143 | #define uvm_map_entry_stop_copy flags |
143 | u_int8_t flags; /* flags */ | | 144 | u_int8_t flags; /* flags */ |
144 | | | 145 | |
145 | #define UVM_MAP_KERNEL 0x01 /* kernel map entry */ | | 146 | #define UVM_MAP_KERNEL 0x01 /* kernel map entry */ |
146 | #define UVM_MAP_KMAPENT 0x02 /* contains map entries */ | | 147 | #define UVM_MAP_KMAPENT 0x02 /* contains map entries */ |
147 | #define UVM_MAP_FIRST 0x04 /* the first special entry */ | | 148 | #define UVM_MAP_FIRST 0x04 /* the first special entry */ |
148 | #define UVM_MAP_QUANTUM 0x08 /* allocated with | | 149 | #define UVM_MAP_QUANTUM 0x08 /* allocated with |
149 | * UVM_FLAG_QUANTUM */ | | 150 | * UVM_FLAG_QUANTUM */ |
150 | #define UVM_MAP_NOMERGE 0x10 /* this entry is not mergable */ | | 151 | #define UVM_MAP_NOMERGE 0x10 /* this entry is not mergable */ |
151 | | | 152 | |
152 | }; | | 153 | }; |
153 | | | 154 | |
154 | #define VM_MAPENT_ISWIRED(entry) ((entry)->wired_count != 0) | | 155 | #define VM_MAPENT_ISWIRED(entry) ((entry)->wired_count != 0) |