Lines Matching full:start

111  *	Since portions of maps are specified by start/end addresses,
113 * routines merely "clip" entries to these start/end values.
115 * start or end value.] Note that these clippings may not
166 #define VM_MAP_RANGE_CHECK(map, start, end) \ argument
168 if (start < vm_map_min(map)) \
169 start = vm_map_min(map); \
172 if (start > end) \
173 start = end; \
604 vm_pager_release_writecount(object, entry->start, in vm_map_process_deferred()
892 map->header.start = max; in _vm_map_init()
997 root->left->max_free : root->start - left_ancestor->end); in vm_map_entry_max_free_left()
1005 root->right->max_free : right_ancestor->start - root->end); in vm_map_entry_max_free_right()
1021 if (prior->right->start < entry->start) { in vm_map_entry_pred()
1064 vm_size_max(max_free, root->start - y->end);\
1105 vm_size_max(max_free, y->start - root->end);\
1125 * vm_map_splay_merge_{left,right,pred,succ}, rely on the start and end address
1137 KASSERT(left->end <= root->start && in vm_map_splay_split()
1138 root->end <= right->start, in vm_map_splay_split()
1140 if (addr < root->start) { in vm_map_splay_split()
1142 y->max_free >= length && addr < y->start); in vm_map_splay_split()
1226 max_free = root->start - llist->end; in vm_map_splay_merge_pred()
1283 max_free = rlist->start - root->end; in vm_map_splay_merge_succ()
1397 root = vm_map_splay_split(map, entry->start, 0, &llist, &rlist); in vm_map_entry_link()
1405 } else if (entry->start == root->start) { in vm_map_entry_link()
1416 root->offset += entry->end - root->start; in vm_map_entry_link()
1417 root->start = entry->end; in vm_map_entry_link()
1424 * The new entry is a clone of root, with only the start field in vm_map_entry_link()
1433 entry->offset += entry->start - root->start; in vm_map_entry_link()
1434 root->end = entry->start; in vm_map_entry_link()
1459 root = vm_map_splay_split(map, entry->start, 0, &llist, &rlist); in vm_map_entry_unlink()
1466 rlist->start = root->start; in vm_map_entry_unlink()
1508 root = vm_map_splay_split(map, entry->start, 0, &llist, &rlist); in vm_map_entry_resize()
1550 if (address >= cur->start && cur->end > address) { in vm_map_lookup_entry()
1573 if (address < cur->start) { in vm_map_lookup_entry()
1586 if (address < cur->start) { in vm_map_lookup_entry()
1614 vm_offset_t start, vm_offset_t end, vm_prot_t prot, vm_prot_t max, int cow, in vm_map_insert1() argument
1636 * Check that the start and end points are not bogus. in vm_map_insert1()
1638 if (start == end || !vm_map_range_valid(map, start, end)) in vm_map_insert1()
1649 if (vm_map_lookup_entry(map, start, &prev_entry)) in vm_map_insert1()
1656 if (next_entry->start < end) in vm_map_insert1()
1693 if ((start & bdry) != 0 || (end & bdry) != 0) in vm_map_insert1()
1703 if (!(cow & MAP_ACC_CHARGED) && !swap_reserve(end - start)) in vm_map_insert1()
1738 prev_entry->end == start && (prev_entry->cred == cred || in vm_map_insert1()
1743 (vm_size_t)(prev_entry->end - prev_entry->start), in vm_map_insert1()
1775 (prev_entry->end - prev_entry->start); in vm_map_insert1()
1790 new_entry->start = start; in vm_map_insert1()
1804 new_entry->next_read = start; in vm_map_insert1()
1815 map->size += new_entry->end - new_entry->start; in vm_map_insert1()
1827 vm_map_pmap_enter(map, start, prot, object, OFF_TO_IDX(offset), in vm_map_insert1()
1828 end - start, cow & MAP_PREFAULT_PARTIAL); in vm_map_insert1()
1847 vm_offset_t start, vm_offset_t end, vm_prot_t prot, vm_prot_t max, int cow) in vm_map_insert() argument
1851 return (vm_map_insert1(map, object, offset, start, end, prot, max, in vm_map_insert()
1859 * beginning at address >= start in the given map.
1873 vm_map_findspace(vm_map_t map, vm_offset_t start, vm_size_t length) in vm_map_findspace() argument
1885 start = MAX(start, vm_map_min(map)); in vm_map_findspace()
1886 if (start >= vm_map_max(map) || length > vm_map_max(map) - start) in vm_map_findspace()
1891 return (start); in vm_map_findspace()
1894 * After splay_split, if start is within an entry, push it to the start in vm_map_findspace()
1896 * start, save the end of that gap in gap_end to see if the gap is big in vm_map_findspace()
1897 * enough; otherwise set gap_end to start skip gap-checking and move in vm_map_findspace()
1901 root = vm_map_splay_split(map, start, length, &llist, &rlist); in vm_map_findspace()
1902 gap_end = rlist->start; in vm_map_findspace()
1904 start = root->end; in vm_map_findspace()
1906 gap_end = start; in vm_map_findspace()
1923 if (length <= gap_end - start) in vm_map_findspace()
1924 return (start); in vm_map_findspace()
1966 vm_offset_t start, vm_size_t length, vm_prot_t prot, in vm_map_fixed() argument
1972 end = start + length; in vm_map_fixed()
1976 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_fixed()
1978 result = vm_map_delete(map, start, end); in vm_map_fixed()
1983 result = vm_map_stack_locked(map, start, length, sgrowsiz, in vm_map_fixed()
1986 result = vm_map_insert(map, object, offset, start, end, in vm_map_fixed()
2055 * At the start of every iteration, the free space at address in vm_map_alignspace()
2236 /* And randomize the start address. */ in vm_map_find_locked()
2342 return (prev->end == entry->start && in vm_map_mergeable_neighbors()
2345 prev->offset + (prev->end - prev->start) == entry->offset) && in vm_map_mergeable_neighbors()
2414 object = vm_object_allocate_anon(atop(entry->end - entry->start), NULL, in vm_map_entry_back()
2415 entry->cred, entry->end - entry->start); in vm_map_entry_back()
2444 entry->object.vm_object->charge = entry->end - entry->start; in vm_map_entry_charge_object()
2501 "%s: map %p entry %p start 0x%jx", __func__, map, entry, in vm_map_clip_start()
2504 if (startaddr <= entry->start) in vm_map_clip_start()
2508 KASSERT(entry->end > startaddr && entry->start < startaddr, in vm_map_clip_start()
2531 * Find the entry at or just after 'start', and clip it if 'start' is in
2532 * the interior of the entry. Return entry after 'start', and in
2533 * prev_entry set the entry before 'start'.
2536 vm_map_lookup_clip_start(vm_map_t map, vm_offset_t start, in vm_map_lookup_clip_start() argument
2544 "%s: map %p start 0x%jx prev %p", __func__, map, in vm_map_lookup_clip_start()
2545 (uintmax_t)start, prev_entry); in vm_map_lookup_clip_start()
2547 if (vm_map_lookup_entry(map, start, prev_entry)) { in vm_map_lookup_clip_start()
2549 rv = vm_map_clip_start(map, entry, start); in vm_map_lookup_clip_start()
2581 KASSERT(entry->start < endaddr && entry->end > endaddr, in vm_map_clip_end()
2596 new_entry->start = endaddr; in vm_map_clip_end()
2623 vm_offset_t start, in vm_map_submap() argument
2637 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_submap()
2638 if (vm_map_lookup_entry(map, start, &entry) && entry->end >= end && in vm_map_submap()
2641 result = vm_map_clip_start(map, entry, start); in vm_map_submap()
2684 vm_offset_t start; in vm_map_pmap_enter() local
2712 start = 0; in vm_map_pmap_enter()
2734 start = addr + ptoa(tmpidx); in vm_map_pmap_enter()
2752 pmap_enter_object(map->pmap, start, addr + in vm_map_pmap_enter()
2758 pmap_enter_object(map->pmap, start, addr + ptoa(psize), in vm_map_pmap_enter()
2791 vm_map_protect(vm_map_t map, vm_offset_t start, vm_offset_t end, in vm_map_protect() argument
2801 if (start == end) in vm_map_protect()
2809 orig_start = start; in vm_map_protect()
2812 start = orig_start; in vm_map_protect()
2830 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_protect()
2832 if (!vm_map_lookup_entry(map, start, &first_entry)) in vm_map_protect()
2848 start = first_entry->start; in vm_map_protect()
2859 for (entry = first_entry; entry->start < end; in vm_map_protect()
2898 rv = vm_map_clip_start(map, first_entry, start); in vm_map_protect()
2903 for (entry = first_entry; entry->start < end; in vm_map_protect()
2922 if (!swap_reserve(entry->end - entry->start)) { in vm_map_protect()
2965 entry->start < end; in vm_map_protect()
3004 pmap_protect(map->pmap, entry->start, in vm_map_protect()
3026 vm_offset_t start, in vm_map_madvise() argument
3048 if (start == end) in vm_map_madvise()
3056 if (start == end) in vm_map_madvise()
3068 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_madvise()
3077 rv = vm_map_lookup_clip_start(map, start, &entry, &prev_entry); in vm_map_madvise()
3083 for (; entry->start < end; prev_entry = entry, in vm_map_madvise()
3136 if (!vm_map_lookup_entry(map, start, &entry)) in vm_map_madvise()
3138 for (; entry->start < end; in vm_map_madvise()
3159 pend = pstart + atop(entry->end - entry->start); in vm_map_madvise()
3160 useStart = entry->start; in vm_map_madvise()
3163 if (entry->start < start) { in vm_map_madvise()
3164 pstart += atop(start - entry->start); in vm_map_madvise()
3165 useStart = start; in vm_map_madvise()
3223 vm_map_inherit(vm_map_t map, vm_offset_t start, vm_offset_t end, in vm_map_inherit() argument
3238 if (start == end) in vm_map_inherit()
3241 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_inherit()
3242 rv = vm_map_lookup_clip_start(map, start, &start_entry, &prev_entry); in vm_map_inherit()
3251 for (entry = start_entry; entry->start < end; in vm_map_inherit()
3260 for (entry = start_entry; entry->start < end; prev_entry = entry, in vm_map_inherit()
3281 * 'start' position of the old entry.
3288 vm_offset_t start; in vm_map_entry_in_transition() local
3297 start = MAX(in_start, in_entry->start); in vm_map_entry_in_transition()
3314 if (!vm_map_lookup_entry(map, start, &entry)) { in vm_map_entry_in_transition()
3316 *io_end = start; in vm_map_entry_in_transition()
3330 vm_map_unwire(vm_map_t map, vm_offset_t start, vm_offset_t end, in vm_map_unwire() argument
3337 if (start == end) in vm_map_unwire()
3342 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_unwire()
3343 if (!vm_map_lookup_entry(map, start, &first_entry)) { in vm_map_unwire()
3352 for (entry = first_entry; entry->start < end; entry = next_entry) { in vm_map_unwire()
3357 next_entry = vm_map_entry_in_transition(map, start, in vm_map_unwire()
3371 rv = vm_map_clip_start(map, entry, start); in vm_map_unwire()
3393 entry->end < end && next_entry->start > entry->end) { in vm_map_unwire()
3410 !vm_map_lookup_entry(map, start, &first_entry)) { in vm_map_unwire()
3418 for (; entry->start < end; in vm_map_unwire()
3506 * If any pages at the start of this entry were successfully wired, in vm_map_wire_entry_failure()
3509 if (failed_addr > entry->start) { in vm_map_wire_entry_failure()
3510 pmap_unwire(map->pmap, entry->start, failed_addr); in vm_map_wire_entry_failure()
3512 failed_addr - entry->start, PQ_ACTIVE); in vm_map_wire_entry_failure()
3523 vm_map_wire(vm_map_t map, vm_offset_t start, vm_offset_t end, int flags) in vm_map_wire() argument
3528 rv = vm_map_wire_locked(map, start, end, flags); in vm_map_wire()
3540 vm_map_wire_locked(vm_map_t map, vm_offset_t start, vm_offset_t end, int flags) in vm_map_wire_locked() argument
3552 if (start == end) in vm_map_wire_locked()
3559 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_wire_locked()
3560 if (!vm_map_lookup_entry(map, start, &first_entry)) { in vm_map_wire_locked()
3566 for (entry = first_entry; entry->start < end; entry = next_entry) { in vm_map_wire_locked()
3571 next_entry = vm_map_entry_in_transition(map, start, in vm_map_wire_locked()
3583 rv = vm_map_clip_start(map, entry, start); in vm_map_wire_locked()
3610 npages = atop(entry->end - entry->start); in vm_map_wire_locked()
3613 entry->start); in vm_map_wire_locked()
3623 saved_start = entry->start; in vm_map_wire_locked()
3688 entry->end < end && next_entry->start > entry->end) { in vm_map_wire_locked()
3698 !vm_map_lookup_entry(map, start, &first_entry)) { in vm_map_wire_locked()
3706 for (; entry->start < end; in vm_map_wire_locked()
3749 atop(entry->end - entry->start)); in vm_map_wire_locked()
3779 * If the size of the region from start to end is zero, we are
3781 * start. Unfortunately, a region can be split or coalesced with
3784 * flushing the current region containing start.
3791 vm_offset_t start, in vm_map_sync() argument
3805 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_sync()
3806 if (!vm_map_lookup_entry(map, start, &first_entry)) { in vm_map_sync()
3809 } else if (start == end) { in vm_map_sync()
3810 start = first_entry->start; in vm_map_sync()
3818 for (entry = first_entry; entry->start < end; entry = next_entry) { in vm_map_sync()
3826 ((start & (pagesizes[bdry_idx] - 1)) != 0 || in vm_map_sync()
3834 entry->end != next_entry->start) { in vm_map_sync()
3841 pmap_remove(map->pmap, start, end); in vm_map_sync()
3848 for (entry = first_entry; entry->start < end;) { in vm_map_sync()
3849 offset = entry->offset + (start - entry->start); in vm_map_sync()
3850 size = (end <= entry->end ? end : entry->end) - start; in vm_map_sync()
3863 offset = tentry->offset + (offset - tentry->start); in vm_map_sync()
3873 start += size; in vm_map_sync()
3877 !vm_map_lookup_entry(map, start, &entry)) in vm_map_sync()
3902 size = entry->end - entry->start; in vm_map_entry_unwire()
3905 pmap_unwire(map->pmap, entry->start, entry->end); in vm_map_entry_unwire()
3943 size = entry->end - entry->start; in vm_map_entry_delete()
4005 vm_map_delete(vm_map_t map, vm_offset_t start, vm_offset_t end) in vm_map_delete() argument
4012 if (start == end) in vm_map_delete()
4016 * Find the start of the region, and clip it. in vm_map_delete()
4019 rv = vm_map_lookup_clip_start(map, start, &entry, &scratch_entry); in vm_map_delete()
4022 for (; entry->start < end; entry = next_entry) { in vm_map_delete()
4034 saved_start = entry->start; in vm_map_delete()
4075 pmap_map_delete(map->pmap, entry->start, entry->end); in vm_map_delete()
4095 vm_map_remove(vm_map_t map, vm_offset_t start, vm_offset_t end) in vm_map_remove() argument
4100 VM_MAP_RANGE_CHECK(map, start, end); in vm_map_remove()
4101 result = vm_map_delete(map, start, end); in vm_map_remove()
4121 vm_map_check_protection(vm_map_t map, vm_offset_t start, vm_offset_t end, in vm_map_check_protection() argument
4127 if (!vm_map_lookup_entry(map, start, &tmp_entry)) in vm_map_check_protection()
4131 while (start < end) { in vm_map_check_protection()
4135 if (start < entry->start) in vm_map_check_protection()
4143 start = entry->end; in vm_map_check_protection()
4233 src_entry->start, in vm_map_copy_entry()
4241 size = src_entry->end - src_entry->start; in vm_map_copy_entry()
4273 fake_entry->start = src_entry->start; in vm_map_copy_entry()
4281 dst_entry->start, dst_entry->end - dst_entry->start, in vm_map_copy_entry()
4282 src_entry->start); in vm_map_copy_entry()
4319 entrysize = entry->end - entry->start; in vmspace_map_entry_forked()
4323 } else if (entry->start >= (vm_offset_t)vm1->vm_daddr && in vmspace_map_entry_forked()
4324 entry->start < (vm_offset_t)vm1->vm_daddr + ctob(vm1->vm_dsize)) { in vmspace_map_entry_forked()
4327 vm2->vm_dsize += btoc(newend - entry->start); in vmspace_map_entry_forked()
4328 } else if (entry->start >= (vm_offset_t)vm1->vm_taddr && in vmspace_map_entry_forked()
4329 entry->start < (vm_offset_t)vm1->vm_taddr + ctob(vm1->vm_tsize)) { in vmspace_map_entry_forked()
4332 vm2->vm_tsize += btoc(newend - entry->start); in vmspace_map_entry_forked()
4421 old_entry->end - old_entry->start, in vmspace_fork()
4443 old_entry->start; in vmspace_fork()
4478 new_entry->start, new_entry->end); in vmspace_fork()
4493 new_entry->start, in vmspace_fork()
4494 (old_entry->end - old_entry->start), in vmspace_fork()
4495 old_entry->start); in vmspace_fork()
4528 new_entry->start = old_entry->start; in vmspace_fork()
4543 *fork_charge += (new_entry->end - new_entry->start); in vmspace_fork()
4626 if (vm_map_entry_succ(prev_entry)->start < addrbos + max_ssize) in vm_map_stack_locked()
4645 KASSERT(new_entry->end == top || new_entry->start == bot, in vm_map_stack_locked()
4646 ("Bad entry start/end for new stack entry")); in vm_map_stack_locked()
4727 stack_entry->start != gap_entry->end) in vm_map_growstack()
4729 grow_amount = round_page(stack_entry->start - addr); in vm_map_growstack()
4736 max_grow = gap_entry->end - gap_entry->start; in vm_map_growstack()
4831 if (gap_entry->start + grow_amount == gap_entry->end) { in vm_map_growstack()
4832 gap_start = gap_entry->start; in vm_map_growstack()
4837 MPASS(gap_entry->start < gap_entry->end - grow_amount); in vm_map_growstack()
5057 size = entry->end - entry->start; in vm_map_lookup()
5135 *pindex = OFF_TO_IDX((vaddr - entry->start) + entry->offset); in vm_map_lookup()
5216 *pindex = OFF_TO_IDX((vaddr - entry->start) + entry->offset); in vm_map_lookup_locked()
5260 vm_map_range_valid_KBI(vm_map_t map, vm_offset_t start, vm_offset_t end) in vm_map_range_valid_KBI() argument
5263 return (vm_map_range_valid(map, start, end)); in vm_map_range_valid_KBI()
5282 KASSERT(prev->end <= entry->start, in _vm_map_assert_consistent()
5283 ("map %p prev->end = %jx, start = %jx", map, in _vm_map_assert_consistent()
5284 (uintmax_t)prev->end, (uintmax_t)entry->start)); in _vm_map_assert_consistent()
5285 KASSERT(entry->start < entry->end, in _vm_map_assert_consistent()
5286 ("map %p start = %jx, end = %jx", map, in _vm_map_assert_consistent()
5287 (uintmax_t)entry->start, (uintmax_t)entry->end)); in _vm_map_assert_consistent()
5289 entry->left->start < entry->start, in _vm_map_assert_consistent()
5290 ("map %p left->start = %jx, start = %jx", map, in _vm_map_assert_consistent()
5291 (uintmax_t)entry->left->start, (uintmax_t)entry->start)); in _vm_map_assert_consistent()
5293 entry->start < entry->right->start, in _vm_map_assert_consistent()
5294 ("map %p start = %jx, right->start = %jx", map, in _vm_map_assert_consistent()
5295 (uintmax_t)entry->start, (uintmax_t)entry->right->start)); in _vm_map_assert_consistent()
5299 if (entry->start < cur->start) { in _vm_map_assert_consistent()
5304 map, (uintmax_t)entry->start)); in _vm_map_assert_consistent()
5305 } else if (cur->end <= entry->start) { in _vm_map_assert_consistent()
5310 map, (uintmax_t)entry->start)); in _vm_map_assert_consistent()
5314 map, (uintmax_t)entry->start)); in _vm_map_assert_consistent()
5326 KASSERT(prev->end <= entry->start, in _vm_map_assert_consistent()
5327 ("map %p prev->end = %jx, start = %jx", map, in _vm_map_assert_consistent()
5328 (uintmax_t)prev->end, (uintmax_t)entry->start)); in _vm_map_assert_consistent()
5350 db_iprintf("map entry %p: start=%p, end=%p, eflags=%#x, \n", in vm_map_print()
5351 (void *)entry, (void *)entry->start, (void *)entry->end, in vm_map_print()