Lines Matching refs:vmmap
1818 struct vmmap { struct
1819 LIST_ENTRY(vmmap) vm_next;
1825 struct vmmap *lh_first; argument
1836 struct vmmap *vmmap; in vmmap_add() local
1838 vmmap = kmalloc(sizeof(*vmmap), GFP_KERNEL); in vmmap_add()
1840 vmmap->vm_size = size; in vmmap_add()
1841 vmmap->vm_addr = addr; in vmmap_add()
1842 LIST_INSERT_HEAD(&vmmaphead[VM_HASH(addr)], vmmap, vm_next); in vmmap_add()
1846 static struct vmmap *
1849 struct vmmap *vmmap; in vmmap_remove() local
1852 LIST_FOREACH(vmmap, &vmmaphead[VM_HASH(addr)], vm_next) in vmmap_remove()
1853 if (vmmap->vm_addr == addr) in vmmap_remove()
1855 if (vmmap) in vmmap_remove()
1856 LIST_REMOVE(vmmap, vm_next); in vmmap_remove()
1859 return (vmmap); in vmmap_remove()
1880 struct vmmap *vmmap; in iounmap() local
1882 vmmap = vmmap_remove(addr); in iounmap()
1883 if (vmmap == NULL) in iounmap()
1886 pmap_unmapdev(addr, vmmap->vm_size); in iounmap()
1888 kfree(vmmap); in iounmap()
1910 struct vmmap *vmmap; in vunmap() local
1912 vmmap = vmmap_remove(addr); in vunmap()
1913 if (vmmap == NULL) in vunmap()
1915 pmap_qremove((vm_offset_t)addr, vmmap->vm_size / PAGE_SIZE); in vunmap()
1916 kva_free((vm_offset_t)addr, vmmap->vm_size); in vunmap()
1917 kfree(vmmap); in vunmap()