Lines Matching refs:entry

137 #define VM_MAP_ENTRY_WITHIN_PARTITION(entry)	\  argument
138 ((((entry)->ba.start ^ (entry)->ba.end) & ~MAP_ENTRY_PARTITION_MASK) == 0)
164 static void vm_map_entry_shadow(vm_map_entry_t entry);
166 static void vm_map_entry_dispose (vm_map_t map, vm_map_entry_t entry, int *);
167 static void vm_map_entry_dispose_ba (vm_map_entry_t entry, vm_map_backing_t ba);
169 vm_map_entry_t entry, int flags);
170 static void vm_map_backing_adjust_start(vm_map_entry_t entry,
172 static void vm_map_backing_adjust_end(vm_map_entry_t entry,
174 static void vm_map_backing_attach (vm_map_entry_t entry, vm_map_backing_t ba);
175 static void vm_map_backing_detach (vm_map_entry_t entry, vm_map_backing_t ba);
184 static void vm_map_entry_partition(vm_map_t map, vm_map_entry_t entry,
730 vm_map_entry_shadow(vm_map_entry_t entry) in vm_map_entry_shadow() argument
740 length = atop(entry->ba.end - entry->ba.start); in vm_map_entry_shadow()
751 source = entry->ba.object; in vm_map_entry_shadow()
800 vm_map_backing_detach(entry, &entry->ba); in vm_map_entry_shadow()
801 *ba = entry->ba; /* previous ba */ in vm_map_entry_shadow()
802 entry->ba.object = result; /* new ba (at head of entry) */ in vm_map_entry_shadow()
803 entry->ba.backing_ba = ba; in vm_map_entry_shadow()
804 entry->ba.backing_count = ba->backing_count + 1; in vm_map_entry_shadow()
805 entry->ba.offset = 0; in vm_map_entry_shadow()
810 vm_map_backing_attach(entry, &entry->ba); in vm_map_entry_shadow()
811 vm_map_backing_attach(entry, ba); in vm_map_entry_shadow()
820 entry->eflags &= ~MAP_ENTRY_NEEDS_COPY; in vm_map_entry_shadow()
838 vm_map_entry_allocate_object(vm_map_entry_t entry) in vm_map_entry_allocate_object() argument
850 entry->ba.offset = 0; in vm_map_entry_allocate_object()
853 atop(entry->ba.end - entry->ba.start) + in vm_map_entry_allocate_object()
854 entry->ba.offset); in vm_map_entry_allocate_object()
855 entry->ba.object = obj; in vm_map_entry_allocate_object()
856 vm_map_backing_attach(entry, &entry->ba); in vm_map_entry_allocate_object()
878 vm_map_entry_t entry; in vm_map_entry_reserve_cpu_init() local
884 entry = &cpu_map_entry_init_bsp[0]; in vm_map_entry_reserve_cpu_init()
887 entry = &cpu_map_entry_init_ap[gd->gd_cpuid][0]; in vm_map_entry_reserve_cpu_init()
890 for (i = 0; i < count; ++i, ++entry) { in vm_map_entry_reserve_cpu_init()
891 MAPENT_FREELIST(entry) = gd->gd_vme_base; in vm_map_entry_reserve_cpu_init()
892 gd->gd_vme_base = entry; in vm_map_entry_reserve_cpu_init()
912 vm_map_entry_t entry; in vm_map_entry_reserve() local
924 entry = zalloc(mapentzone); in vm_map_entry_reserve()
925 MAPENT_FREELIST(entry) = gd->gd_vme_base; in vm_map_entry_reserve()
926 gd->gd_vme_base = entry; in vm_map_entry_reserve()
947 vm_map_entry_t entry; in vm_map_entry_release() local
955 entry = gd->gd_vme_base; in vm_map_entry_release()
956 KKASSERT(entry != NULL); in vm_map_entry_release()
957 gd->gd_vme_base = MAPENT_FREELIST(entry); in vm_map_entry_release()
959 MAPENT_FREELIST(entry) = efree; in vm_map_entry_release()
960 efree = entry; in vm_map_entry_release()
963 while ((entry = efree) != NULL) { in vm_map_entry_release()
965 zfree(mapentzone, entry); in vm_map_entry_release()
1025 vm_map_entry_t entry; in vm_map_entry_create() local
1030 entry = gd->gd_vme_base; in vm_map_entry_create()
1031 KASSERT(entry != NULL, ("gd_vme_base NULL! count %d", *countp)); in vm_map_entry_create()
1032 gd->gd_vme_base = MAPENT_FREELIST(entry); in vm_map_entry_create()
1035 return(entry); in vm_map_entry_create()
1042 vm_map_backing_attach(vm_map_entry_t entry, vm_map_backing_t ba) in vm_map_backing_attach() argument
1046 switch(entry->maptype) { in vm_map_backing_attach()
1050 TAILQ_INSERT_TAIL(&obj->backing_list, ba, entry); in vm_map_backing_attach()
1054 ba->uksmap(ba, UKSMAPOP_ADD, entry->aux.dev, NULL); in vm_map_backing_attach()
1060 vm_map_backing_detach(vm_map_entry_t entry, vm_map_backing_t ba) in vm_map_backing_detach() argument
1064 switch(entry->maptype) { in vm_map_backing_detach()
1068 TAILQ_REMOVE(&obj->backing_list, ba, entry); in vm_map_backing_detach()
1072 ba->uksmap(ba, UKSMAPOP_REM, entry->aux.dev, NULL); in vm_map_backing_detach()
1088 vm_map_entry_dispose_ba(vm_map_entry_t entry, vm_map_backing_t ba) in vm_map_entry_dispose_ba() argument
1094 vm_map_backing_detach(entry, ba); in vm_map_entry_dispose_ba()
1109 vm_map_entry_dispose(vm_map_t map, vm_map_entry_t entry, int *countp) in vm_map_entry_dispose() argument
1116 switch(entry->maptype) { in vm_map_entry_dispose()
1118 if (entry->ba.map_object) { in vm_map_entry_dispose()
1119 vm_map_backing_detach(entry, &entry->ba); in vm_map_entry_dispose()
1120 vm_object_deallocate(entry->ba.object); in vm_map_entry_dispose()
1126 vm_map_backing_detach(entry, &entry->ba); in vm_map_entry_dispose()
1131 vm_map_entry_dispose_ba(entry, entry->ba.backing_ba); in vm_map_entry_dispose()
1136 entry->ba.backing_ba = NULL; in vm_map_entry_dispose()
1137 entry->ba.object = NULL; in vm_map_entry_dispose()
1138 entry->ba.offset = 0; in vm_map_entry_dispose()
1142 MAPENT_FREELIST(entry) = gd->gd_vme_base; in vm_map_entry_dispose()
1143 gd->gd_vme_base = entry; in vm_map_entry_dispose()
1156 vm_map_entry_link(vm_map_t map, vm_map_entry_t entry) in vm_map_entry_link() argument
1161 if (vm_map_rb_tree_RB_INSERT(&map->rb_root, entry)) in vm_map_entry_link()
1162 panic("vm_map_entry_link: dup addr map %p ent %p", map, entry); in vm_map_entry_link()
1167 vm_map_entry_t entry) in vm_map_entry_unlink() argument
1171 if (entry->eflags & MAP_ENTRY_IN_TRANSITION) { in vm_map_entry_unlink()
1173 "locked entry! %p", entry); in vm_map_entry_unlink()
1175 vm_map_rb_tree_RB_REMOVE(&map->rb_root, entry); in vm_map_entry_unlink()
1190 vm_map_lookup_entry(vm_map_t map, vm_offset_t address, vm_map_entry_t *entry) in vm_map_lookup_entry() argument
1209 *entry = tmp; in vm_map_lookup_entry()
1218 *entry = last; in vm_map_lookup_entry()
1457 vm_map_entry_t entry; in vm_map_findspace() local
1486 entry = tmp; /* may be NULL */ in vm_map_findspace()
1521 if (entry) in vm_map_findspace()
1522 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_findspace()
1524 entry = RB_MIN(vm_map_rb_tree, &map->rb_root); in vm_map_findspace()
1525 if (entry == NULL) in vm_map_findspace()
1536 if (entry->ba.start >= end) { in vm_map_findspace()
1537 if ((entry->eflags & MAP_ENTRY_STACK) == 0) in vm_map_findspace()
1541 if (entry->ba.start - entry->aux.avail_ssize >= end) in vm_map_findspace()
1544 start = entry->ba.end; in vm_map_findspace()
1672 vm_map_simplify_entry(vm_map_t map, vm_map_entry_t entry, int *countp) in vm_map_simplify_entry() argument
1677 if (entry->eflags & MAP_ENTRY_IN_TRANSITION) { in vm_map_simplify_entry()
1682 if (entry->maptype == VM_MAPTYPE_SUBMAP) in vm_map_simplify_entry()
1684 if (entry->maptype == VM_MAPTYPE_UKSMAP) in vm_map_simplify_entry()
1687 prev = vm_map_rb_tree_RB_PREV(entry); in vm_map_simplify_entry()
1690 if ( (prev->ba.end == entry->ba.start) && in vm_map_simplify_entry()
1691 (prev->maptype == entry->maptype) && in vm_map_simplify_entry()
1692 (prev->ba.object == entry->ba.object) && in vm_map_simplify_entry()
1693 (prev->ba.backing_ba == entry->ba.backing_ba) && in vm_map_simplify_entry()
1695 (prev->ba.offset + prevsize == entry->ba.offset)) && in vm_map_simplify_entry()
1696 (prev->eflags == entry->eflags) && in vm_map_simplify_entry()
1697 (prev->protection == entry->protection) && in vm_map_simplify_entry()
1698 (prev->max_protection == entry->max_protection) && in vm_map_simplify_entry()
1699 (prev->inheritance == entry->inheritance) && in vm_map_simplify_entry()
1700 (prev->id == entry->id) && in vm_map_simplify_entry()
1701 (prev->wired_count == entry->wired_count)) { in vm_map_simplify_entry()
1708 vm_map_backing_adjust_start(entry, prev->ba.start); in vm_map_simplify_entry()
1709 if (entry->ba.object == NULL) in vm_map_simplify_entry()
1710 entry->ba.offset = 0; in vm_map_simplify_entry()
1715 next = vm_map_rb_tree_RB_NEXT(entry); in vm_map_simplify_entry()
1717 esize = entry->ba.end - entry->ba.start; in vm_map_simplify_entry()
1718 if ((entry->ba.end == next->ba.start) && in vm_map_simplify_entry()
1719 (next->maptype == entry->maptype) && in vm_map_simplify_entry()
1720 (next->ba.object == entry->ba.object) && in vm_map_simplify_entry()
1721 (prev->ba.backing_ba == entry->ba.backing_ba) && in vm_map_simplify_entry()
1722 (!entry->ba.object || in vm_map_simplify_entry()
1723 (entry->ba.offset + esize == next->ba.offset)) && in vm_map_simplify_entry()
1724 (next->eflags == entry->eflags) && in vm_map_simplify_entry()
1725 (next->protection == entry->protection) && in vm_map_simplify_entry()
1726 (next->max_protection == entry->max_protection) && in vm_map_simplify_entry()
1727 (next->inheritance == entry->inheritance) && in vm_map_simplify_entry()
1728 (next->id == entry->id) && in vm_map_simplify_entry()
1729 (next->wired_count == entry->wired_count)) { in vm_map_simplify_entry()
1736 vm_map_backing_adjust_end(entry, next->ba.end); in vm_map_simplify_entry()
1746 #define vm_map_clip_start(map, entry, startaddr, countp) \ argument
1748 if (startaddr > entry->ba.start) \
1749 _vm_map_clip_start(map, entry, startaddr, countp); \
1758 _vm_map_clip_start(vm_map_t map, vm_map_entry_t entry, vm_offset_t start, in _vm_map_clip_start() argument
1769 vm_map_simplify_entry(map, entry, countp); in _vm_map_clip_start()
1778 if (entry->ba.object == NULL && !map->system_map && in _vm_map_clip_start()
1779 VM_MAP_ENTRY_WITHIN_PARTITION(entry)) { in _vm_map_clip_start()
1780 vm_map_entry_allocate_object(entry); in _vm_map_clip_start()
1789 *new_entry = *entry; in _vm_map_clip_start()
1797 vm_map_backing_adjust_start(entry, start); in _vm_map_clip_start()
1807 #define vm_map_clip_end(map, entry, endaddr, countp) \ argument
1809 if (endaddr < entry->ba.end) \
1810 _vm_map_clip_end(map, entry, endaddr, countp); \
1819 _vm_map_clip_end(vm_map_t map, vm_map_entry_t entry, vm_offset_t end, in _vm_map_clip_end() argument
1832 if (entry->ba.object == NULL && !map->system_map && in _vm_map_clip_end()
1833 VM_MAP_ENTRY_WITHIN_PARTITION(entry)) { in _vm_map_clip_end()
1834 vm_map_entry_allocate_object(entry); in _vm_map_clip_end()
1845 *new_entry = *entry; in _vm_map_clip_end()
1847 new_entry->ba.offset += (new_entry->ba.start - entry->ba.start); in _vm_map_clip_end()
1854 vm_map_backing_adjust_end(entry, end); in _vm_map_clip_end()
1894 #define CLIP_CHECK_BACK(entry, save_start) \ argument
1896 while (entry->ba.start != save_start) { \
1897 entry = vm_map_rb_tree_RB_PREV(entry); \
1898 KASSERT(entry, ("bad entry clip")); \
1902 #define CLIP_CHECK_FWD(entry, save_end) \ argument
1904 while (entry->ba.end != save_end) { \
1905 entry = vm_map_rb_tree_RB_NEXT(entry); \
1906 KASSERT(entry, ("bad entry clip")); \
1935 vm_map_entry_t entry; in vm_map_clip_range() local
1945 entry = start_entry; in vm_map_clip_range()
1946 if (entry->eflags & MAP_ENTRY_IN_TRANSITION) { in vm_map_clip_range()
1947 entry->eflags |= MAP_ENTRY_NEEDS_WAKEUP; in vm_map_clip_range()
1963 vm_map_clip_start(map, entry, start, countp); in vm_map_clip_range()
1964 vm_map_clip_end(map, entry, end, countp); in vm_map_clip_range()
1965 entry->eflags |= MAP_ENTRY_IN_TRANSITION; in vm_map_clip_range()
1975 next = vm_map_rb_tree_RB_NEXT(entry); in vm_map_clip_range()
1979 if (next->ba.start > entry->ba.end) { in vm_map_clip_range()
1981 start, entry->ba.end, countp, flags); in vm_map_clip_range()
1987 vm_offset_t save_end = entry->ba.end; in vm_map_clip_range()
1996 CLIP_CHECK_FWD(entry, save_end); in vm_map_clip_range()
2007 entry = next; in vm_map_clip_range()
2010 if (entry->ba.end != end) { in vm_map_clip_range()
2012 start, entry->ba.end, countp, flags); in vm_map_clip_range()
2042 vm_map_entry_t entry; in vm_map_unclip_range() local
2044 entry = start_entry; in vm_map_unclip_range()
2046 KASSERT(entry->ba.start == start, ("unclip_range: illegal base entry")); in vm_map_unclip_range()
2047 while (entry && entry->ba.start < end) { in vm_map_unclip_range()
2048 KASSERT(entry->eflags & MAP_ENTRY_IN_TRANSITION, in vm_map_unclip_range()
2050 entry)); in vm_map_unclip_range()
2051 KASSERT(entry->ba.end <= end, in vm_map_unclip_range()
2053 entry->eflags &= ~MAP_ENTRY_IN_TRANSITION; in vm_map_unclip_range()
2054 if (entry->eflags & MAP_ENTRY_NEEDS_WAKEUP) { in vm_map_unclip_range()
2055 entry->eflags &= ~MAP_ENTRY_NEEDS_WAKEUP; in vm_map_unclip_range()
2058 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_unclip_range()
2064 entry = start_entry; in vm_map_unclip_range()
2065 while (entry && entry->ba.start < end) { in vm_map_unclip_range()
2066 vm_map_simplify_entry(map, entry, countp); in vm_map_unclip_range()
2067 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_unclip_range()
2085 vm_map_entry_t entry; in vm_map_submap() local
2094 if (vm_map_lookup_entry(map, start, &entry)) { in vm_map_submap()
2095 vm_map_clip_start(map, entry, start, &count); in vm_map_submap()
2096 } else if (entry) { in vm_map_submap()
2097 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_submap()
2099 entry = RB_MIN(vm_map_rb_tree, &map->rb_root); in vm_map_submap()
2102 vm_map_clip_end(map, entry, end, &count); in vm_map_submap()
2104 if ((entry->ba.start == start) && (entry->ba.end == end) && in vm_map_submap()
2105 ((entry->eflags & MAP_ENTRY_COW) == 0) && in vm_map_submap()
2106 (entry->ba.object == NULL)) { in vm_map_submap()
2107 entry->ba.sub_map = submap; in vm_map_submap()
2108 entry->maptype = VM_MAPTYPE_SUBMAP; in vm_map_submap()
2135 vm_map_entry_t entry; in vm_map_protect() local
2143 if (vm_map_lookup_entry(map, start, &entry)) { in vm_map_protect()
2144 vm_map_clip_start(map, entry, start, &count); in vm_map_protect()
2145 } else if (entry) { in vm_map_protect()
2146 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_protect()
2148 entry = RB_MIN(vm_map_rb_tree, &map->rb_root); in vm_map_protect()
2154 current = entry; in vm_map_protect()
2192 current = entry; in vm_map_protect()
2212 #define MASK(entry) (((entry)->eflags & MAP_ENTRY_COW) ? ~VM_PROT_WRITE : \ in vm_map_protect() argument
2244 vm_map_entry_t current, entry; in vm_map_madvise() local
2286 if (vm_map_lookup_entry(map, start, &entry)) { in vm_map_madvise()
2288 vm_map_clip_start(map, entry, start, &count); in vm_map_madvise()
2289 } else if (entry) { in vm_map_madvise()
2290 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_madvise()
2292 entry = RB_MIN(vm_map_rb_tree, &map->rb_root); in vm_map_madvise()
2302 for (current = entry; in vm_map_madvise()
2383 for (current = entry; in vm_map_madvise()
2465 vm_map_entry_t entry; in vm_map_inherit() local
2484 entry = temp_entry; in vm_map_inherit()
2485 vm_map_clip_start(map, entry, start, &count); in vm_map_inherit()
2487 entry = vm_map_rb_tree_RB_NEXT(temp_entry); in vm_map_inherit()
2489 entry = RB_MIN(vm_map_rb_tree, &map->rb_root); in vm_map_inherit()
2492 while (entry && entry->ba.start < end) { in vm_map_inherit()
2493 vm_map_clip_end(map, entry, end, &count); in vm_map_inherit()
2495 entry->inheritance = new_inheritance; in vm_map_inherit()
2497 vm_map_simplify_entry(map, entry, &count); in vm_map_inherit()
2499 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_inherit()
2515 vm_map_entry_t entry; in vm_map_user_wiring() local
2535 entry = start_entry; in vm_map_user_wiring()
2536 while (entry && entry->ba.start < end) { in vm_map_user_wiring()
2543 if (entry->eflags & MAP_ENTRY_USER_WIRED) { in vm_map_user_wiring()
2544 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_user_wiring()
2547 if (entry->wired_count != 0) { in vm_map_user_wiring()
2548 entry->wired_count++; in vm_map_user_wiring()
2549 entry->eflags |= MAP_ENTRY_USER_WIRED; in vm_map_user_wiring()
2550 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_user_wiring()
2559 if (entry->maptype == VM_MAPTYPE_NORMAL) { in vm_map_user_wiring()
2560 int copyflag = entry->eflags & in vm_map_user_wiring()
2562 if (copyflag && ((entry->protection & in vm_map_user_wiring()
2564 vm_map_entry_shadow(entry); in vm_map_user_wiring()
2565 } else if (entry->ba.object == NULL && in vm_map_user_wiring()
2567 vm_map_entry_allocate_object(entry); in vm_map_user_wiring()
2570 entry->wired_count++; in vm_map_user_wiring()
2571 entry->eflags |= MAP_ENTRY_USER_WIRED; in vm_map_user_wiring()
2579 save_start = entry->ba.start; in vm_map_user_wiring()
2580 save_end = entry->ba.end; in vm_map_user_wiring()
2581 rv = vm_fault_wire(map, entry, TRUE, 0); in vm_map_user_wiring()
2583 CLIP_CHECK_BACK(entry, save_start); in vm_map_user_wiring()
2585 KASSERT(entry->wired_count == 1, ("bad wired_count on entry")); in vm_map_user_wiring()
2586 entry->eflags &= ~MAP_ENTRY_USER_WIRED; in vm_map_user_wiring()
2587 entry->wired_count = 0; in vm_map_user_wiring()
2588 if (entry->ba.end == save_end) in vm_map_user_wiring()
2590 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_user_wiring()
2591 KASSERT(entry, in vm_map_user_wiring()
2603 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_user_wiring()
2631 entry = start_entry; in vm_map_user_wiring()
2632 while (entry && entry->ba.start < end) { in vm_map_user_wiring()
2633 if ((entry->eflags & MAP_ENTRY_USER_WIRED) == 0) { in vm_map_user_wiring()
2637 KASSERT(entry->wired_count != 0, in vm_map_user_wiring()
2639 entry)); in vm_map_user_wiring()
2640 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_user_wiring()
2658 entry = start_entry; in vm_map_user_wiring()
2659 while (entry && entry->ba.start < end) { in vm_map_user_wiring()
2660 KASSERT(entry->eflags & MAP_ENTRY_USER_WIRED, in vm_map_user_wiring()
2661 ("expected USER_WIRED on entry %p", entry)); in vm_map_user_wiring()
2662 entry->eflags &= ~MAP_ENTRY_USER_WIRED; in vm_map_user_wiring()
2663 entry->wired_count--; in vm_map_user_wiring()
2664 if (entry->wired_count == 0) in vm_map_user_wiring()
2665 vm_fault_unwire(map, entry); in vm_map_user_wiring()
2666 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_user_wiring()
2697 vm_map_entry_t entry; in vm_map_kernel_wiring() local
2743 entry = start_entry; in vm_map_kernel_wiring()
2744 while (entry && entry->ba.start < end) { in vm_map_kernel_wiring()
2748 if (entry->wired_count) { in vm_map_kernel_wiring()
2749 entry->wired_count++; in vm_map_kernel_wiring()
2750 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_kernel_wiring()
2762 if (entry->maptype == VM_MAPTYPE_NORMAL) { in vm_map_kernel_wiring()
2763 int copyflag = entry->eflags & in vm_map_kernel_wiring()
2765 if (copyflag && ((entry->protection & in vm_map_kernel_wiring()
2767 vm_map_entry_shadow(entry); in vm_map_kernel_wiring()
2768 } else if (entry->ba.object == NULL && in vm_map_kernel_wiring()
2770 vm_map_entry_allocate_object(entry); in vm_map_kernel_wiring()
2773 entry->wired_count++; in vm_map_kernel_wiring()
2774 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_kernel_wiring()
2799 entry = start_entry; in vm_map_kernel_wiring()
2800 while (entry && entry->ba.start < end) { in vm_map_kernel_wiring()
2807 vm_offset_t save_start = entry->ba.start; in vm_map_kernel_wiring()
2808 vm_offset_t save_end = entry->ba.end; in vm_map_kernel_wiring()
2810 if (entry->wired_count == 1) in vm_map_kernel_wiring()
2811 rv = vm_fault_wire(map, entry, FALSE, kmflags); in vm_map_kernel_wiring()
2813 CLIP_CHECK_BACK(entry, save_start); in vm_map_kernel_wiring()
2815 KASSERT(entry->wired_count == 1, in vm_map_kernel_wiring()
2817 entry->wired_count = 0; in vm_map_kernel_wiring()
2818 if (entry->ba.end == save_end) in vm_map_kernel_wiring()
2820 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_kernel_wiring()
2821 KASSERT(entry, in vm_map_kernel_wiring()
2827 CLIP_CHECK_FWD(entry, save_end); in vm_map_kernel_wiring()
2828 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_kernel_wiring()
2854 entry = start_entry; in vm_map_kernel_wiring()
2855 while (entry && entry->ba.start < end) { in vm_map_kernel_wiring()
2856 if (entry->wired_count == 0) { in vm_map_kernel_wiring()
2860 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_kernel_wiring()
2868 entry = start_entry; in vm_map_kernel_wiring()
2869 while (entry && entry->ba.start < end) { in vm_map_kernel_wiring()
2870 entry->wired_count--; in vm_map_kernel_wiring()
2871 if (entry->wired_count == 0) in vm_map_kernel_wiring()
2872 vm_fault_unwire(map, entry); in vm_map_kernel_wiring()
2873 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_kernel_wiring()
2900 vm_map_entry_t entry; in vm_map_set_wired_quick() local
2902 entry = vm_map_clip_range(map, addr, addr + size, in vm_map_set_wired_quick()
2904 scan = entry; in vm_map_set_wired_quick()
2910 vm_map_unclip_range(map, entry, addr, addr + size, in vm_map_set_wired_quick()
2931 vm_map_entry_t entry; in vm_map_clean() local
2939 if (!vm_map_lookup_entry(map, start, &entry)) { in vm_map_clean()
2948 current = entry; in vm_map_clean()
2973 current = entry; in vm_map_clean()
3119 vm_map_entry_unwire(vm_map_t map, vm_map_entry_t entry) in vm_map_entry_unwire() argument
3121 entry->eflags &= ~MAP_ENTRY_USER_WIRED; in vm_map_entry_unwire()
3122 entry->wired_count = 0; in vm_map_entry_unwire()
3123 vm_fault_unwire(map, entry); in vm_map_entry_unwire()
3132 vm_map_entry_delete(vm_map_t map, vm_map_entry_t entry, int *countp) in vm_map_entry_delete() argument
3134 vm_map_entry_unlink(map, entry); in vm_map_entry_delete()
3135 map->size -= entry->ba.end - entry->ba.start; in vm_map_entry_delete()
3136 vm_map_entry_dispose(map, entry, countp); in vm_map_entry_delete()
3148 vm_map_entry_t entry; in vm_map_delete() local
3167 entry = first_entry; in vm_map_delete()
3168 vm_map_clip_start(map, entry, start, countp); in vm_map_delete()
3172 entry = vm_map_rb_tree_RB_NEXT(first_entry); in vm_map_delete()
3173 if (entry == NULL) in vm_map_delete()
3178 entry = RB_MIN(vm_map_rb_tree, &map->rb_root); in vm_map_delete()
3179 if (entry == NULL) in vm_map_delete()
3189 while (entry && entry->ba.start < end) { in vm_map_delete()
3202 if (entry->eflags & MAP_ENTRY_IN_TRANSITION) { in vm_map_delete()
3203 entry->eflags |= MAP_ENTRY_NEEDS_WAKEUP; in vm_map_delete()
3204 start = entry->ba.start; in vm_map_delete()
3210 vm_map_clip_end(map, entry, end, countp); in vm_map_delete()
3212 s = entry->ba.start; in vm_map_delete()
3213 e = entry->ba.end; in vm_map_delete()
3214 next = vm_map_rb_tree_RB_NEXT(entry); in vm_map_delete()
3216 offidxstart = OFF_TO_IDX(entry->ba.offset); in vm_map_delete()
3219 switch(entry->maptype) { in vm_map_delete()
3222 object = entry->ba.object; in vm_map_delete()
3239 if (entry->wired_count != 0) in vm_map_delete()
3240 vm_map_entry_unwire(map, entry); in vm_map_delete()
3287 } else if (entry->maptype == VM_MAPTYPE_UKSMAP) { in vm_map_delete()
3297 vm_map_entry_delete(map, entry, countp); in vm_map_delete()
3298 entry = next; in vm_map_delete()
3306 if (entry == NULL) { in vm_map_delete()
3311 entry->ba.start - hole_start); in vm_map_delete()
3351 vm_map_entry_t entry; in vm_map_check_protection() local
3363 entry = tmp_entry; in vm_map_check_protection()
3367 if (entry == NULL) { in vm_map_check_protection()
3376 if (start < entry->ba.start) { in vm_map_check_protection()
3384 if ((entry->protection & protection) != protection) { in vm_map_check_protection()
3389 start = entry->ba.end; in vm_map_check_protection()
3390 entry = vm_map_rb_tree_RB_NEXT(entry); in vm_map_check_protection()
3414 vm_map_backing_replicated(vm_map_t map, vm_map_entry_t entry, int flags) in vm_map_backing_replicated() argument
3420 ba = &entry->ba; in vm_map_backing_replicated()
3425 switch(entry->maptype) { in vm_map_backing_replicated()
3428 if (ba != &entry->ba || in vm_map_backing_replicated()
3432 vm_map_backing_attach(entry, ba); in vm_map_backing_replicated()
3440 vm_map_backing_attach(entry, ba); in vm_map_backing_replicated()
3465 vm_map_backing_adjust_start(vm_map_entry_t entry, vm_ooffset_t start) in vm_map_backing_adjust_start() argument
3469 if (entry->maptype == VM_MAPTYPE_NORMAL) { in vm_map_backing_adjust_start()
3470 for (ba = &entry->ba; ba; ba = ba->backing_ba) { in vm_map_backing_adjust_start()
3488 vm_map_backing_adjust_end(vm_map_entry_t entry, vm_ooffset_t end) in vm_map_backing_adjust_end() argument
3492 if (entry->maptype == VM_MAPTYPE_NORMAL) { in vm_map_backing_adjust_end()
3493 for (ba = &entry->ba; ba; ba = ba->backing_ba) { in vm_map_backing_adjust_end()
4336 vm_map_entry_t entry; in vm_map_lookup() local
4379 entry = tmp_entry; in vm_map_lookup()
4380 *out_entry = entry; in vm_map_lookup()
4386 if (entry->maptype == VM_MAPTYPE_SUBMAP) { in vm_map_lookup()
4389 *var_map = map = entry->ba.sub_map; in vm_map_lookup()
4404 prot = entry->max_protection; in vm_map_lookup()
4406 prot = entry->protection; in vm_map_lookup()
4414 if ((entry->eflags & MAP_ENTRY_USER_WIRED) && in vm_map_lookup()
4415 (entry->eflags & MAP_ENTRY_COW) && in vm_map_lookup()
4435 if (entry->wired_count) { in vm_map_lookup()
4438 prot = fault_type = entry->protection; in vm_map_lookup()
4451 if (entry->maptype != VM_MAPTYPE_NORMAL) { in vm_map_lookup()
4459 if (entry->eflags & MAP_ENTRY_NEEDS_COPY) { in vm_map_lookup()
4490 vm_map_entry_shadow(entry); in vm_map_lookup()
4505 if (entry->ba.object == NULL && !map->system_map) { in vm_map_lookup()
4519 entry->maptype == VM_MAPTYPE_NORMAL && in vm_map_lookup()
4520 ((entry->ba.start ^ entry->ba.end) & in vm_map_lookup()
4523 if (entry->eflags & MAP_ENTRY_IN_TRANSITION) { in vm_map_lookup()
4524 entry->eflags |= MAP_ENTRY_NEEDS_WAKEUP; in vm_map_lookup()
4530 vm_map_entry_partition(map, entry, vaddr, &count); in vm_map_lookup()
4532 vm_map_entry_allocate_object(entry); in vm_map_lookup()
4539 *bap = &entry->ba; in vm_map_lookup()
4542 *pindex = OFF_TO_IDX((vaddr - entry->ba.start) + entry->ba.offset); in vm_map_lookup()
4543 *pcount = OFF_TO_IDX(entry->ba.end - trunc_page(vaddr)); in vm_map_lookup()
4573 vm_map_lookup_done(vm_map_t map, vm_map_entry_t entry, int count) in vm_map_lookup_done() argument
4584 vm_map_entry_partition(vm_map_t map, vm_map_entry_t entry, in vm_map_entry_partition() argument
4588 vm_map_clip_start(map, entry, vaddr, countp); in vm_map_entry_partition()
4590 vm_map_clip_end(map, entry, vaddr, countp); in vm_map_entry_partition()
4656 vm_map_entry_t entry; in DB_SHOW_COMMAND() local
4667 RB_FOREACH(entry, vm_map_rb_tree, &map->rb_root) { in DB_SHOW_COMMAND()
4669 (void *)entry, in DB_SHOW_COMMAND()
4670 (void *)entry->ba.start, (void *)entry->ba.end); in DB_SHOW_COMMAND()
4677 entry->protection, in DB_SHOW_COMMAND()
4678 entry->max_protection, in DB_SHOW_COMMAND()
4680 entry->inheritance]); in DB_SHOW_COMMAND()
4681 if (entry->wired_count != 0) in DB_SHOW_COMMAND()
4684 switch(entry->maptype) { in DB_SHOW_COMMAND()
4688 (void *)entry->ba.sub_map, in DB_SHOW_COMMAND()
4689 (long)entry->ba.offset); in DB_SHOW_COMMAND()
4693 vm_map_print((db_expr_t)(intptr_t)entry->ba.sub_map, in DB_SHOW_COMMAND()
4700 (void *)entry->ba.object, in DB_SHOW_COMMAND()
4701 (long)entry->ba.offset); in DB_SHOW_COMMAND()
4702 if (entry->eflags & MAP_ENTRY_COW) in DB_SHOW_COMMAND()
4704 ((entry->eflags & MAP_ENTRY_NEEDS_COPY) ? in DB_SHOW_COMMAND()
4709 if (entry->ba.object) { in DB_SHOW_COMMAND()
4712 entry->ba.object, in DB_SHOW_COMMAND()
4720 (void *)entry->ba.uksmap, in DB_SHOW_COMMAND()
4721 (long)entry->ba.offset); in DB_SHOW_COMMAND()
4722 if (entry->eflags & MAP_ENTRY_COW) in DB_SHOW_COMMAND()
4724 (entry->eflags & MAP_ENTRY_NEEDS_COPY) ? "needed" : "done"); in DB_SHOW_COMMAND()