Lines Matching refs:last

559  * Fills in *start_ptr and *end_ptr to be the first and last entry describing
588 * Fill in first, last, so they point at the entries containing the
589 * first and last address of the range.
654 struct vm_map_entry**last, vaddr_t *addr, vsize_t sz,
667 if (uvm_addr_invoke(map, uaddr, first, last,
674 if (uvm_addr_invoke(map, uaddr, first, last,
735 struct vm_map_entry *first, *last, *entry, *new;
787 first = last = NULL;
793 * Fill in first, last and *addr.
812 if (!uvm_map_isavail(map, NULL, &first, &last, *addr, sz)) {
818 uvm_map_isavail(map, NULL, &first, &last, *addr, sz)) {
827 error = uvm_addr_invoke(map, map->uaddr_exe, &first, &last,
836 error = uvm_map_findspace(map, &first, &last, addr, sz,
857 * first and last may be invalidated after this call.
859 entry = uvm_map_mkentry(map, first, last, *addr, sz, flags, &dead,
938 struct vm_map_entry *first, *last, *entry, *new;
1024 first = last = NULL;
1030 * Fill in first, last and *addr.
1052 if (!uvm_map_isavail(map, NULL, &first, &last, *addr, sz)) {
1059 uvm_map_isavail(map, NULL, &first, &last, *addr, sz)) {
1068 error = uvm_addr_invoke(map, map->uaddr_exe, &first, &last,
1076 &first, &last, addr, sz,
1087 error = uvm_map_findspace(map, &first, &last, addr, sz,
1094 error = uvm_map_findspace(map, &first, &last, addr, sz,
1126 * first and last may be invalidated after this call.
1128 entry = uvm_map_mkentry(map, first, last, *addr, sz, flags, &dead,
1391 * first and last are (probably) no longer valid.
1395 struct vm_map_entry *last, vaddr_t addr, vsize_t sz, int flags,
1404 KDASSERT(last != NULL);
1409 KDASSERT(last->start < addr + sz && VMMAP_FREE_END(last) >= addr + sz);
1410 KDASSERT(uvm_map_isavail(map, NULL, &first, &last, addr, sz));
1414 max = VMMAP_FREE_END(last);
1444 * We are iterating using last in reverse order.
1446 for (; first != last; last = prev) {
1447 prev = RBT_PREV(uvm_map_addr, last);
1449 KDASSERT(last->start == last->end);
1450 free = uvm_map_uaddr_e(map, last);
1451 uvm_mapent_free_remove(map, free, last);
1452 uvm_mapent_addr_remove(map, last);
1453 DEAD_ENTRY_PUSH(dead, last);
2199 struct vm_map_entry *first, *last, *tmp;
2234 for (last = first; last != NULL && last->start < end;
2235 last = RBT_NEXT(uvm_map_addr, last)) {
2236 if (UVM_ET_ISHOLE(last) ||
2237 (last->end < end && VMMAP_FREE_END(last) != last->end)) {
2251 * Note that last may be NULL.
2253 if (last == NULL) {
2254 last = RBT_MAX(uvm_map_addr, &map->addr);
2255 if (last->end < end) {
2260 KASSERT(last != first);
2261 last = RBT_PREV(uvm_map_addr, last);
2273 * Split last at end.
2275 * If last is not wired, don't touch it.
2277 if (VM_MAPENT_ISWIRED(last)) {
2278 UVM_MAP_CLIP_END(map, last, end);
2279 tmp = RBT_NEXT(uvm_map_addr, last);
2281 tmp = last;
2298 * Split last at end.
2300 * If last is not wired, don't touch it.
2302 if (!VM_MAPENT_ISWIRED(last)) {
2303 UVM_MAP_CLIP_END(map, last, end);
2304 tmp = RBT_NEXT(uvm_map_addr, last);
2306 tmp = last;
3062 * Set up first and last.
3448 struct vm_map_entry *first = NULL, *last = NULL;
3459 if (!uvm_map_isavail(dstmap, NULL, &first, &last, dstaddr, sz)) {
3541 struct vm_map_entry *new_entry, *first, *last;
3545 /* Create new entry (linked in on creation). Fill in first, last. */
3546 first = last = NULL;
3547 if (!uvm_map_isavail(dstmap, NULL, &first, &last, dstaddr, dstlen)) {
3551 new_entry = uvm_map_mkentry(dstmap, first, last,
4311 /* Lock srcmap, lookup first and last entry in <start,len>. */
5094 struct vm_map_entry *entry, *last;
5121 last = NULL;
5122 if (uvm_map_isavail(map, NULL, &entry, &last, addr, sz)) {
5187 last = NULL;
5188 if (uvm_map_isavail(map, NULL, &entry, &last, addr, sz)) {