Lines Matching refs:map
62 * Virtual memory map module definitions.
74 * vm_map_t the high-level address map data structure.
75 * vm_map_entry_t an entry in an address map.
82 * another map (called a "sharing map") which denotes read-write
87 struct vm_map *sub_map; /* belongs to another map */
91 * Address map entries consist of start and end addresses,
92 * a VM object (or sharing map) and offset into that object,
96 * For stack gap map entries (MAP_ENTRY_GUARD | MAP_ENTRY_STACK_GAP),
109 vm_eflags_t eflags; /* map entry flags */
180 * A map is a set of map entries. These map entries are
183 * within each map entry. The largest gap between an entry in a
190 * The map's min offset value is stored in map->header.end, and
191 * its max offset value is stored in map->header.start. These
193 * scan of the list. The right and left fields of the map
194 * header point to the first and list map entries. The map
197 * and prevents an eflags match of the header with any other map
206 struct sx lock; /* Lock for map data */
214 pmap_t pmap; /* (c) Physical map */
241 #define vm_map_max(map) vm_map_max_KBI((map))
242 #define vm_map_min(map) vm_map_min_KBI((map))
243 #define vm_map_pmap(map) vm_map_pmap_KBI((map))
244 #define vm_map_range_valid(map, start, end) \
245 vm_map_range_valid_KBI((map), (start), (end))
248 vm_map_max(const struct vm_map *map)
251 return (map->header.start);
255 vm_map_min(const struct vm_map *map)
258 return (map->header.end);
262 vm_map_pmap(vm_map_t map)
264 return (map->pmap);
268 vm_map_modflags(vm_map_t map, u_int set, u_int clear)
270 map->flags = (map->flags | set) & ~clear;
274 vm_map_range_valid(vm_map_t map, vm_offset_t start, vm_offset_t end)
278 if (start < vm_map_min(map) || end > vm_map_max(map))
284 vm_map_is_system(vm_map_t map)
286 return ((map->flags & MAP_SYSTEM_MAP) != 0);
299 struct vm_map vm_map; /* VM address map */
316 struct pmap vm_pmap; /* private physical map */
331 * Perform locking on the data portion of a map. Note that
338 void _vm_map_lock(vm_map_t map, const char *file, int line);
339 void _vm_map_unlock(vm_map_t map, const char *file, int line);
340 int _vm_map_unlock_and_wait(vm_map_t map, int timo, const char *file, int line);
341 void _vm_map_lock_read(vm_map_t map, const char *file, int line);
342 void _vm_map_unlock_read(vm_map_t map, const char *file, int line);
343 int _vm_map_trylock(vm_map_t map, const char *file, int line);
344 int _vm_map_trylock_read(vm_map_t map, const char *file, int line);
345 int _vm_map_lock_upgrade(vm_map_t map, const char *file, int line);
346 void _vm_map_lock_downgrade(vm_map_t map, const char *file, int line);
347 int vm_map_locked(vm_map_t map);
348 void vm_map_wakeup(vm_map_t map);
349 void vm_map_busy(vm_map_t map);
350 void vm_map_unbusy(vm_map_t map);
351 void vm_map_wait_busy(vm_map_t map);
352 vm_offset_t vm_map_max_KBI(const struct vm_map *map);
353 vm_offset_t vm_map_min_KBI(const struct vm_map *map);
354 pmap_t vm_map_pmap_KBI(vm_map_t map);
355 bool vm_map_range_valid_KBI(vm_map_t map, vm_offset_t start, vm_offset_t end);
357 #define vm_map_lock(map) _vm_map_lock(map, LOCK_FILE, LOCK_LINE)
358 #define vm_map_unlock(map) _vm_map_unlock(map, LOCK_FILE, LOCK_LINE)
359 #define vm_map_unlock_and_wait(map, timo) \
360 _vm_map_unlock_and_wait(map, timo, LOCK_FILE, LOCK_LINE)
361 #define vm_map_lock_read(map) _vm_map_lock_read(map, LOCK_FILE, LOCK_LINE)
362 #define vm_map_unlock_read(map) _vm_map_unlock_read(map, LOCK_FILE, LOCK_LINE)
363 #define vm_map_trylock(map) _vm_map_trylock(map, LOCK_FILE, LOCK_LINE)
364 #define vm_map_trylock_read(map) \
365 _vm_map_trylock_read(map, LOCK_FILE, LOCK_LINE)
366 #define vm_map_lock_upgrade(map) \
367 _vm_map_lock_upgrade(map, LOCK_FILE, LOCK_LINE)
368 #define vm_map_lock_downgrade(map) \
369 _vm_map_lock_downgrade(map, LOCK_FILE, LOCK_LINE)
411 * account for the map entry's "read_ahead" field being defined as an uint8_t.
432 #define VM_MAP_WIRE_SYSTEM 0 /* wiring in a kernel map */
433 #define VM_MAP_WIRE_USER 1 /* wiring in a user map */
446 * '*clone' is a copy of a vm_map entry. 'reader' is used to copy a map entry
447 * at some address into '*clone'. Change *clone to a copy of the next map
451 * map entries.
490 int vm_map_find_aligned(vm_map_t map, vm_offset_t *addr, vm_size_t length,
507 vm_map_entry_first(vm_map_t map)
510 return (map->header.right);
527 #define VM_MAP_ENTRY_FOREACH(it, map) \
528 for ((it) = vm_map_entry_first(map); \
529 (it) != &(map)->header; \
536 int vm_map_protect(vm_map_t map, vm_offset_t start, vm_offset_t end,
539 vm_map_entry_t vm_map_try_merge_entries(vm_map_t map, vm_map_entry_t prev,
546 int vm_map_unwire(vm_map_t map, vm_offset_t start, vm_offset_t end,
548 int vm_map_wire(vm_map_t map, vm_offset_t start, vm_offset_t end, int flags);
549 int vm_map_wire_locked(vm_map_t map, vm_offset_t start, vm_offset_t end,