Lines Matching +full:vm +full:- +full:map

1 /*-
2 * SPDX-License-Identifier: BSD-3-Clause
4 * Copyright (c) 1993 Jan-Simon Pendry
9 * Jan-Simon Pendry.
56 #include <vm/vm.h>
57 #include <vm/vm_extern.h>
58 #include <vm/pmap.h>
59 #include <vm/vm_map.h>
60 #include <vm/vm_page.h>
61 #include <vm/vm_object.h>
66 * The map entries can *almost* be read with programs like cat. However,
78 struct vmspace *vm; in procfs_doprocmap() local
79 vm_map_t map; in procfs_doprocmap() local
102 if (uio->uio_rw != UIO_READ) in procfs_doprocmap()
114 vm = vmspace_acquire_ref(p); in procfs_doprocmap()
115 if (vm == NULL) in procfs_doprocmap()
117 map = &vm->vm_map; in procfs_doprocmap()
118 vm_map_lock_read(map); in procfs_doprocmap()
119 VM_MAP_ENTRY_FOREACH(entry, map) { in procfs_doprocmap()
120 if (entry->eflags & MAP_ENTRY_IS_SUB_MAP) in procfs_doprocmap()
123 e_eflags = entry->eflags; in procfs_doprocmap()
124 e_prot = entry->protection; in procfs_doprocmap()
125 e_start = entry->start; in procfs_doprocmap()
126 e_end = entry->end; in procfs_doprocmap()
129 obj = entry->object.vm_object; in procfs_doprocmap()
132 if (obj->shadow_count == 1) in procfs_doprocmap()
133 privateresident = obj->resident_page_count; in procfs_doprocmap()
135 cred = (entry->cred) ? entry->cred : (obj ? obj->cred : NULL); in procfs_doprocmap()
138 tobj = tobj->backing_object) { in procfs_doprocmap()
144 kern_proc_vmmap_resident(map, entry, &resident, &super); in procfs_doprocmap()
146 nobj = tobj->backing_object; in procfs_doprocmap()
150 last_timestamp = map->timestamp; in procfs_doprocmap()
151 vm_map_unlock_read(map); in procfs_doprocmap()
154 fullpath = "-"; in procfs_doprocmap()
184 flags = obj->flags; in procfs_doprocmap()
185 ref_count = obj->ref_count; in procfs_doprocmap()
186 shadow_count = obj->shadow_count; in procfs_doprocmap()
201 * start, end, resident, private-resident, obj, access, in procfs_doprocmap()
214 (e_prot & VM_PROT_READ)?"r":"-", in procfs_doprocmap()
215 (e_prot & VM_PROT_WRITE)?"w":"-", in procfs_doprocmap()
216 (e_prot & VM_PROT_EXECUTE)?"x":"-", in procfs_doprocmap()
221 cred ? "CH":"NCH", cred ? cred->cr_ruid : -1); in procfs_doprocmap()
225 vm_map_lock_read(map); in procfs_doprocmap()
226 if (error == -1) { in procfs_doprocmap()
230 if (last_timestamp != map->timestamp) { in procfs_doprocmap()
232 * Look again for the entry because the map was in procfs_doprocmap()
236 vm_map_lookup_entry(map, e_end - 1, &tmp_entry); in procfs_doprocmap()
240 vm_map_unlock_read(map); in procfs_doprocmap()
241 vmspace_free(vm); in procfs_doprocmap()