vmmap
struct kinfo_vmentry *vmmap)
free(vmmap);
struct kinfo_vmentry *vmmap);
LIST_ENTRY(vmmap) vm_next;
struct vmmap *lh_first;
struct vmmap *vmmap;
LIST_FOREACH(vmmap, &vmmaphead[VM_HASH(addr)], vm_next)
if (addr == vmmap->vm_addr)
if (vmmap != NULL)
struct vmmap *vmmap;
vmmap = kmalloc(sizeof(*vmmap), GFP_KERNEL);
vmmap->vm_size = size;
vmmap->vm_addr = addr;
LIST_INSERT_HEAD(&vmmaphead[VM_HASH(addr)], vmmap, vm_next);
static struct vmmap *
struct vmmap *vmmap;
LIST_FOREACH(vmmap, &vmmaphead[VM_HASH(addr)], vm_next)
if (vmmap->vm_addr == addr)
if (vmmap)
LIST_REMOVE(vmmap, vm_next);
return (vmmap);
struct vmmap *vmmap;
vmmap = vmmap_remove(addr);
if (vmmap == NULL)
pmap_unmapdev(addr, vmmap->vm_size);
kfree(vmmap);
struct vmmap *vmmap;
vmmap = vmmap_remove(addr);
if (vmmap == NULL)
pmap_qremove((vm_offset_t)addr, vmmap->vm_size / PAGE_SIZE);
kva_free((vm_offset_t)addr, vmmap->vm_size);
kfree(vmmap);
struct vm_map *vmmap;
vmmap = &mem->mem_vmspace->vm_map;
vm_map_lock(vmmap);
error = vm_map_insert(vmmap, seg->object, first, gpa, gpa + len,
vm_map_unlock(vmmap);
error = vm_map_wire(vmmap, gpa, gpa + len,
vm_map_remove(vmmap, gpa, gpa + len);
static SYSCTL_NODE(_kern_proc, KERN_PROC_VMMAP, vmmap, CTLFLAG_RD |