Lines Matching full:map

64  *	Virtual memory map module definitions.
76 * vm_map_t the high-level address map data structure.
77 * vm_map_entry_t an entry in an address map.
85 * another map (called a "sharing map") which denotes read-write
90 struct vm_map *sub_map; /* belongs to another map */
94 * Address map entries consist of start and end addresses,
95 * a VM object (or sharing map) and offset into that object,
99 * For stack gap map entries (MAP_ENTRY_GUARD | MAP_ENTRY_GROWS_DOWN
112 vm_eflags_t eflags; /* map entry flags */
183 * A map is a set of map entries. These map entries are
186 * within each map entry. The largest gap between an entry in a
193 * The map's min offset value is stored in map->header.end, and
194 * its max offset value is stored in map->header.start. These
196 * scan of the list. The right and left fields of the map
197 * header point to the first and list map entries. The map
200 * and prevents an eflags match of the header with any other map
208 struct sx lock; /* Lock for map data */
214 u_char system_map; /* (c) Am I a system map? */
217 pmap_t pmap; /* (c) Physical map */
239 #define vm_map_max(map) vm_map_max_KBI((map)) argument
240 #define vm_map_min(map) vm_map_min_KBI((map)) argument
241 #define vm_map_pmap(map) vm_map_pmap_KBI((map)) argument
242 #define vm_map_range_valid(map, start, end) \ argument
243 vm_map_range_valid_KBI((map), (start), (end))
246 vm_map_max(const struct vm_map *map) in vm_map_max() argument
249 return (map->header.start); in vm_map_max()
253 vm_map_min(const struct vm_map *map) in vm_map_min() argument
256 return (map->header.end); in vm_map_min()
260 vm_map_pmap(vm_map_t map) in vm_map_pmap() argument
262 return (map->pmap); in vm_map_pmap()
266 vm_map_modflags(vm_map_t map, vm_flags_t set, vm_flags_t clear) in vm_map_modflags() argument
268 map->flags = (map->flags | set) & ~clear; in vm_map_modflags()
272 vm_map_range_valid(vm_map_t map, vm_offset_t start, vm_offset_t end) in vm_map_range_valid() argument
276 if (start < vm_map_min(map) || end > vm_map_max(map)) in vm_map_range_valid()
291 struct vm_map vm_map; /* VM address map */
308 struct pmap vm_pmap; /* private physical map */
323 * Perform locking on the data portion of a map. Note that
330 void _vm_map_lock(vm_map_t map, const char *file, int line);
331 void _vm_map_unlock(vm_map_t map, const char *file, int line);
332 int _vm_map_unlock_and_wait(vm_map_t map, int timo, const char *file, int line);
333 void _vm_map_lock_read(vm_map_t map, const char *file, int line);
334 void _vm_map_unlock_read(vm_map_t map, const char *file, int line);
335 int _vm_map_trylock(vm_map_t map, const char *file, int line);
336 int _vm_map_trylock_read(vm_map_t map, const char *file, int line);
337 int _vm_map_lock_upgrade(vm_map_t map, const char *file, int line);
338 void _vm_map_lock_downgrade(vm_map_t map, const char *file, int line);
339 int vm_map_locked(vm_map_t map);
340 void vm_map_wakeup(vm_map_t map);
341 void vm_map_busy(vm_map_t map);
342 void vm_map_unbusy(vm_map_t map);
343 void vm_map_wait_busy(vm_map_t map);
344 vm_offset_t vm_map_max_KBI(const struct vm_map *map);
345 vm_offset_t vm_map_min_KBI(const struct vm_map *map);
346 pmap_t vm_map_pmap_KBI(vm_map_t map);
347 bool vm_map_range_valid_KBI(vm_map_t map, vm_offset_t start, vm_offset_t end);
349 #define vm_map_lock(map) _vm_map_lock(map, LOCK_FILE, LOCK_LINE) argument
350 #define vm_map_unlock(map) _vm_map_unlock(map, LOCK_FILE, LOCK_LINE) argument
351 #define vm_map_unlock_and_wait(map, timo) \ argument
352 _vm_map_unlock_and_wait(map, timo, LOCK_FILE, LOCK_LINE)
353 #define vm_map_lock_read(map) _vm_map_lock_read(map, LOCK_FILE, LOCK_LINE) argument
354 #define vm_map_unlock_read(map) _vm_map_unlock_read(map, LOCK_FILE, LOCK_LINE) argument
355 #define vm_map_trylock(map) _vm_map_trylock(map, LOCK_FILE, LOCK_LINE) argument
356 #define vm_map_trylock_read(map) \ argument
357 _vm_map_trylock_read(map, LOCK_FILE, LOCK_LINE)
358 #define vm_map_lock_upgrade(map) \ argument
359 _vm_map_lock_upgrade(map, LOCK_FILE, LOCK_LINE)
360 #define vm_map_lock_downgrade(map) \ argument
361 _vm_map_lock_downgrade(map, LOCK_FILE, LOCK_LINE)
403 * account for the map entry's "read_ahead" field being defined as an uint8_t.
424 #define VM_MAP_WIRE_SYSTEM 0 /* wiring in a kernel map */
425 #define VM_MAP_WIRE_USER 1 /* wiring in a user map */
438 * '*clone' is a copy of a vm_map entry. 'reader' is used to copy a map entry
439 * at some address into '*clone'. Change *clone to a copy of the next map
443 * map entries.
482 int vm_map_find_aligned(vm_map_t map, vm_offset_t *addr, vm_size_t length,
498 vm_map_entry_first(vm_map_t map) in vm_map_entry_first() argument
501 return (map->header.right); in vm_map_entry_first()
518 #define VM_MAP_ENTRY_FOREACH(it, map) \ argument
519 for ((it) = vm_map_entry_first(map); \
520 (it) != &(map)->header; \
527 int vm_map_protect(vm_map_t map, vm_offset_t start, vm_offset_t end,
530 vm_map_entry_t vm_map_try_merge_entries(vm_map_t map, vm_map_entry_t prev,
537 int vm_map_unwire(vm_map_t map, vm_offset_t start, vm_offset_t end,
539 int vm_map_wire(vm_map_t map, vm_offset_t start, vm_offset_t end, int flags);
540 int vm_map_wire_locked(vm_map_t map, vm_offset_t start, vm_offset_t end,