--- Net2/vm/vm_map.c 2018/04/24 18:03:57 1.1.1.1 +++ Net2/vm/vm_map.c 2018/04/24 18:14:52 1.1.1.4 @@ -33,7 +33,8 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * @(#)vm_map.c 7.3 (Berkeley) 4/21/91 + * from: @(#)vm_map.c 7.3 (Berkeley) 4/21/91 + * vm_map.c,v 1.6 1993/07/15 14:25:28 cgd Exp * * * Copyright (c) 1987, 1990 Carnegie-Mellon University. @@ -68,6 +69,7 @@ #include "param.h" #include "malloc.h" +#include "systm.h" #include "vm.h" #include "vm_page.h" #include "vm_object.h" @@ -114,6 +116,8 @@ * occurs. */ +int vm_map_delete(vm_map_t, vm_offset_t, vm_offset_t); + /* * vm_map_startup: * @@ -135,7 +139,8 @@ vm_size_t kentry_data_size; vm_map_entry_t kentry_free; vm_map_t kmap_free; -void vm_map_startup() +void +vm_map_startup() { register int i; register vm_map_entry_t mep; @@ -219,7 +224,7 @@ vm_map_t vm_map_create(pmap, min, max, p boolean_t pageable; { register vm_map_t result; - extern vm_map_t kernel_map, kmem_map; + extern vm_map_t kmem_map; if (kmem_map == NULL) { result = kmap_free; @@ -272,9 +277,10 @@ vm_map_entry_t vm_map_entry_create(map) vm_map_t map; { vm_map_entry_t entry; - extern vm_map_t kernel_map, kmem_map, mb_map; + extern vm_map_t kernel_map, kmem_map, mb_map, buffer_map, pager_map; - if (map == kernel_map || map == kmem_map || map == mb_map) { + if (map == kernel_map || map == kmem_map || map == mb_map + || map == buffer_map || map == pager_map) { if (entry = kentry_free) kentry_free = kentry_free->next; } else @@ -291,13 +297,15 @@ vm_map_entry_t vm_map_entry_create(map) * * Inverse of vm_map_entry_create. */ -void vm_map_entry_dispose(map, entry) +void +vm_map_entry_dispose(map, entry) vm_map_t map; vm_map_entry_t entry; { - extern vm_map_t kernel_map, kmem_map, mb_map; + extern vm_map_t kernel_map, kmem_map, mb_map, buffer_map, pager_map; - if (map == kernel_map || map == kmem_map || map == mb_map) { + if (map == kernel_map || map == kmem_map || map == mb_map + || map == buffer_map || map == pager_map) { entry->next = kentry_free; kentry_free = entry; } else @@ -330,7 +338,8 @@ void vm_map_entry_dispose(map, entry) * Creates another valid reference to the given map. * */ -void vm_map_reference(map) +void +vm_map_reference(map) register vm_map_t map; { if (map == NULL) @@ -348,7 +357,8 @@ void vm_map_reference(map) * destroying it if no references remain. * The map should not be locked. */ -void vm_map_deallocate(map) +void +vm_map_deallocate(map) register vm_map_t map; { register int c; @@ -387,6 +397,7 @@ void vm_map_deallocate(map) * * Requires that the map be locked, and leaves it so. */ +int vm_map_insert(map, object, offset, start, end) vm_map_t map; vm_object_t object; @@ -600,6 +611,7 @@ boolean_t vm_map_lookup_entry(map, addre * returned in the same parameter. * */ +int vm_map_find(map, object, offset, addr, length, find_space) vm_map_t map; vm_object_t object; @@ -708,7 +720,8 @@ vm_map_find(map, object, offset, addr, l * removing extra sharing maps * [XXX maybe later] merging with a neighbor */ -void vm_map_simplify_entry(map, entry) +void +vm_map_simplify_entry(map, entry) vm_map_t map; vm_map_entry_t entry; { @@ -782,7 +795,8 @@ void vm_map_simplify_entry(map, entry) * This routine is called only when it is known that * the entry must be split. */ -void _vm_map_clip_start(map, entry, start) +void +_vm_map_clip_start(map, entry, start) register vm_map_t map; register vm_map_entry_t entry; register vm_offset_t start; @@ -837,7 +851,8 @@ void _vm_map_clip_end(); * This routine is called only when it is known that * the entry must be split. */ -void _vm_map_clip_end(map, entry, end) +void +_vm_map_clip_end(map, entry, end) register vm_map_t map; register vm_map_entry_t entry; register vm_offset_t end; @@ -897,6 +912,7 @@ void _vm_map_clip_end(map, entry, end) * range from the superior map, and then destroy the * submap (if desired). [Better yet, don't try it.] */ +int vm_map_submap(map, start, end, submap) register vm_map_t map; register vm_offset_t start; @@ -940,6 +956,7 @@ vm_map_submap(map, start, end, submap) * specified, the maximum protection is to be set; * otherwise, only the current protection is affected. */ +int vm_map_protect(map, start, end, new_prot, set_max) register vm_map_t map; register vm_offset_t start; @@ -1061,6 +1078,7 @@ vm_map_protect(map, start, end, new_prot * affects how the map will be shared with * child maps at the time of vm_map_fork. */ +int vm_map_inherit(map, start, end, new_inheritance) register vm_map_t map; register vm_offset_t start; @@ -1113,6 +1131,7 @@ vm_map_inherit(map, start, end, new_inhe * The map must not be locked, but a reference * must remain to the map throughout the call. */ +int vm_map_pageable(map, start, end, new_pageable) register vm_map_t map; register vm_offset_t start; @@ -1302,7 +1321,8 @@ vm_map_pageable(map, start, end, new_pag * The map in question should be locked. * [This is the reason for this routine's existence.] */ -void vm_map_entry_unwire(map, entry) +void +vm_map_entry_unwire(map, entry) vm_map_t map; register vm_map_entry_t entry; { @@ -1315,7 +1335,8 @@ void vm_map_entry_unwire(map, entry) * * Deallocate the given entry from the target map. */ -void vm_map_entry_delete(map, entry) +void +vm_map_entry_delete(map, entry) register vm_map_t map; register vm_map_entry_t entry; { @@ -1342,6 +1363,7 @@ void vm_map_entry_delete(map, entry) * When called with a sharing map, removes pages from * that region from all physical maps. */ +int vm_map_delete(map, start, end) register vm_map_t map; vm_offset_t start; @@ -1437,6 +1459,7 @@ vm_map_delete(map, start, end) * Remove the given address range from the target map. * This is the exported form of vm_map_delete. */ +int vm_map_remove(map, start, end) register vm_map_t map; register vm_offset_t start; @@ -1509,7 +1532,8 @@ boolean_t vm_map_check_protection(map, s * Copies the contents of the source entry to the destination * entry. The entries *must* be aligned properly. */ -void vm_map_copy_entry(src_map, dst_map, src_entry, dst_entry) +void +vm_map_copy_entry(src_map, dst_map, src_entry, dst_entry) vm_map_t src_map, dst_map; register vm_map_entry_t src_entry, dst_entry; { @@ -1646,6 +1670,7 @@ void vm_map_copy_entry(src_map, dst_map, * map to make copies. This also reduces map * fragmentation.] */ +int vm_map_copy(dst_map, src_map, dst_addr, len, src_addr, dst_alloc, src_destroy) @@ -2326,7 +2351,8 @@ vm_map_lookup(var_map, vaddr, fault_type * (according to the handle returned by that lookup). */ -void vm_map_lookup_done(map, entry) +void +vm_map_lookup_done(map, entry) register vm_map_t map; vm_map_entry_t entry; { @@ -2356,7 +2382,8 @@ void vm_map_lookup_done(map, entry) * at allocation time because the adjacent entry * is often wired down. */ -void vm_map_simplify(map, start) +void +vm_map_simplify(map, start) vm_map_t map; vm_offset_t start; { @@ -2404,7 +2431,8 @@ void vm_map_simplify(map, start) /* * vm_map_print: [ debug ] */ -void vm_map_print(map, full) +void +vm_map_print(map, full) register vm_map_t map; boolean_t full; {