FreeBSD virtual memory subsystem code
vm_extern.h File Reference
#include <sys/kassert.h>
Include dependency graph for vm_extern.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef int(* pmap_pinit_t) (struct pmap *pmap)
 

Functions

vm_offset_t kva_alloc (vm_size_t)
 
void kva_free (vm_offset_t, vm_size_t)
 
vm_offset_t kmap_alloc_wait (vm_map_t, vm_size_t)
 
void kmap_free_wakeup (vm_map_t, vm_offset_t, vm_size_t)
 
vm_offset_t kmem_alloc_attr (vm_size_t size, int flags, vm_paddr_t low, vm_paddr_t high, vm_memattr_t memattr)
 
vm_offset_t kmem_alloc_attr_domainset (struct domainset *ds, vm_size_t size, int flags, vm_paddr_t low, vm_paddr_t high, vm_memattr_t memattr)
 
vm_offset_t kmem_alloc_contig (vm_size_t size, int flags, vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary, vm_memattr_t memattr)
 
vm_offset_t kmem_alloc_contig_domainset (struct domainset *ds, vm_size_t size, int flags, vm_paddr_t low, vm_paddr_t high, u_long alignment, vm_paddr_t boundary, vm_memattr_t memattr)
 
vm_offset_t kmem_malloc (vm_size_t size, int flags)
 
vm_offset_t kmem_malloc_domainset (struct domainset *ds, vm_size_t size, int flags)
 
void kmem_free (vm_offset_t addr, vm_size_t size)
 
int kmem_back (vm_object_t, vm_offset_t, vm_size_t, int)
 
int kmem_back_domain (int, vm_object_t, vm_offset_t, vm_size_t, int)
 
void kmem_unback (vm_object_t, vm_offset_t, vm_size_t)
 
void kmem_bootstrap_free (vm_offset_t, vm_size_t)
 
void kmem_subinit (vm_map_t, vm_map_t, vm_offset_t *, vm_offset_t *, vm_size_t, bool)
 
void kmem_init (vm_offset_t, vm_offset_t)
 
void kmem_init_zero_region (void)
 
void kmeminit (void)
 
int kernacc (void *, int, int)
 
int useracc (void *, int, int)
 
int vm_fault (vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type, int fault_flags, vm_page_t *m_hold)
 
void vm_fault_copy_entry (vm_map_t, vm_map_t, vm_map_entry_t, vm_map_entry_t, vm_ooffset_t *)
 
int vm_fault_disable_pagefaults (void)
 
void vm_fault_enable_pagefaults (int save)
 
int vm_fault_quick_hold_pages (vm_map_t map, vm_offset_t addr, vm_size_t len, vm_prot_t prot, vm_page_t *ma, int max_count)
 
int vm_fault_trap (vm_map_t map, vm_offset_t vaddr, vm_prot_t fault_type, int fault_flags, int *signo, int *ucode)
 
int vm_forkproc (struct thread *, struct proc *, struct thread *, struct vmspace *, int)
 
void vm_waitproc (struct proc *)
 
int vm_mmap (vm_map_t, vm_offset_t *, vm_size_t, vm_prot_t, vm_prot_t, int, objtype_t, void *, vm_ooffset_t)
 
int vm_mmap_object (vm_map_t, vm_offset_t *, vm_size_t, vm_prot_t, vm_prot_t, int, vm_object_t, vm_ooffset_t, boolean_t, struct thread *)
 
int vm_mmap_to_errno (int rv)
 
int vm_mmap_cdev (struct thread *, vm_size_t, vm_prot_t, vm_prot_t *, int *, struct cdev *, struct cdevsw *, vm_ooffset_t *, vm_object_t *)
 
int vm_mmap_vnode (struct thread *, vm_size_t, vm_prot_t, vm_prot_t *, int *, struct vnode *, vm_ooffset_t *, vm_object_t *, boolean_t *)
 
void vm_set_page_size (void)
 
void vm_sync_icache (vm_map_t, vm_offset_t, vm_size_t)
 
struct vmspacevmspace_alloc (vm_offset_t, vm_offset_t, pmap_pinit_t)
 
struct vmspacevmspace_fork (struct vmspace *, vm_ooffset_t *)
 
int vmspace_exec (struct proc *, vm_offset_t, vm_offset_t)
 
int vmspace_unshare (struct proc *)
 
void vmspace_exit (struct thread *)
 
struct vmspacevmspace_acquire_ref (struct proc *)
 
void vmspace_free (struct vmspace *)
 
void vmspace_exitfree (struct proc *)
 
void vmspace_switch_aio (struct vmspace *)
 
void vnode_pager_setsize (struct vnode *, vm_ooffset_t)
 
void vnode_pager_purge_range (struct vnode *, vm_ooffset_t, vm_ooffset_t)
 
int vslock (void *, size_t)
 
void vsunlock (void *, size_t)
 
struct sf_buf * vm_imgact_map_page (vm_object_t object, vm_ooffset_t offset)
 
void vm_imgact_unmap_page (struct sf_buf *sf)
 
void vm_thread_dispose (struct thread *td)
 
int vm_thread_new (struct thread *td, int pages)
 
void vm_thread_stack_back (struct domainset *ds, vm_offset_t kaddr, vm_page_t ma[], int npages, int req_class)
 
u_int vm_active_count (void)
 
u_int vm_inactive_count (void)
 
u_int vm_laundry_count (void)
 
u_int vm_wait_count (void)
 
static bool vm_addr_align_ok (vm_paddr_t pa, u_long alignment)
 
static bool vm_addr_bound_ok (vm_paddr_t pa, vm_paddr_t size, vm_paddr_t boundary)
 
static bool vm_addr_ok (vm_paddr_t pa, vm_paddr_t size, u_long alignment, vm_paddr_t boundary)
 

Typedef Documentation

◆ pmap_pinit_t

typedef int(* pmap_pinit_t) (struct pmap *pmap)

Definition at line 114 of file vm_extern.h.

Function Documentation

◆ kernacc()

int kernacc ( void *  addr,
int  len,
int  rw 
)

Definition at line 121 of file vm_glue.c.

References kernel_map, vm_map_check_protection(), vm_map_lock_read, vm_map_max(), vm_map_unlock_read, and VM_PROT_ALL.

Here is the call graph for this function:

◆ kmap_alloc_wait()

vm_offset_t kmap_alloc_wait ( vm_map_t  map,
vm_size_t  size 
)

◆ kmap_free_wakeup()

void kmap_free_wakeup ( vm_map_t  map,
vm_offset_t  addr,
vm_size_t  size 
)

Definition at line 673 of file vm_kern.c.

References vm_map::needs_wakeup, vm_map_delete(), vm_map_lock, vm_map_unlock, and vm_map_wakeup().

Here is the call graph for this function:

◆ kmem_alloc_attr()

vm_offset_t kmem_alloc_attr ( vm_size_t  size,
int  flags,
vm_paddr_t  low,
vm_paddr_t  high,
vm_memattr_t  memattr 
)

Definition at line 257 of file vm_kern.c.

References vm_map::flags, kmem_alloc_attr_domainset(), and vm_map::size.

Referenced by vm_ksubmap_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_alloc_attr_domainset()

vm_offset_t kmem_alloc_attr_domainset ( struct domainset *  ds,
vm_size_t  size,
int  flags,
vm_paddr_t  low,
vm_paddr_t  high,
vm_memattr_t  memattr 
)

Definition at line 266 of file vm_kern.c.

References kmem_alloc_attr_domain(), vm_domainset_iter_policy(), and vm_domainset_iter_policy_init().

Referenced by kmem_alloc_attr().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_alloc_contig()

vm_offset_t kmem_alloc_contig ( vm_size_t  size,
int  flags,
vm_paddr_t  low,
vm_paddr_t  high,
u_long  alignment,
vm_paddr_t  boundary,
vm_memattr_t  memattr 
)

Definition at line 340 of file vm_kern.c.

References kmem_alloc_contig_domainset().

Here is the call graph for this function:

◆ kmem_alloc_contig_domainset()

vm_offset_t kmem_alloc_contig_domainset ( struct domainset *  ds,
vm_size_t  size,
int  flags,
vm_paddr_t  low,
vm_paddr_t  high,
u_long  alignment,
vm_paddr_t  boundary,
vm_memattr_t  memattr 
)

Definition at line 349 of file vm_kern.c.

References kmem_alloc_contig_domain(), vm_domainset_iter_policy(), and vm_domainset_iter_policy_init().

Referenced by contig_alloc(), and kmem_alloc_contig().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_back()

int kmem_back ( vm_object_t  object,
vm_offset_t  addr,
vm_size_t  size,
int  flags 
)

Definition at line 524 of file vm_kern.c.

References KERN_SUCCESS, kernel_object, kmem_back_domain(), kmem_unback(), KVA_QUANTUM, KVA_QUANTUM_SHIFT, VM_DOMAIN_EMPTY, and vm_ndomains.

Referenced by memguard_alloc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_back_domain()

int kmem_back_domain ( int  domain,
vm_object_t  object,
vm_offset_t  addr,
vm_size_t  size,
int  flags 
)

◆ kmem_bootstrap_free()

void kmem_bootstrap_free ( vm_offset_t  start,
vm_size_t  size 
)

◆ kmem_free()

void kmem_free ( vm_offset_t  addr,
vm_size_t  size 
)

Definition at line 614 of file vm_kern.c.

References _kmem_unback(), and kernel_object.

Referenced by page_free().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_init()

void kmem_init ( vm_offset_t  start,
vm_offset_t  end 
)

◆ kmem_init_zero_region()

void kmem_init_zero_region ( void  )

Definition at line 686 of file vm_kern.c.

References kva_alloc(), pmap_protect(), pmap_qenter(), VM_ALLOC_WIRED, VM_ALLOC_ZERO, vm_page_alloc_noobj(), VM_PROT_READ, and zero_region.

Referenced by vm_mem_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_malloc()

vm_offset_t kmem_malloc ( vm_size_t  size,
int  flags 
)

Definition at line 432 of file vm_kern.c.

References kmem_malloc_domainset().

Referenced by vm_ksubmap_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_malloc_domainset()

vm_offset_t kmem_malloc_domainset ( struct domainset *  ds,
vm_size_t  size,
int  flags 
)

Definition at line 439 of file vm_kern.c.

References kmem_malloc_domain(), vm_domainset_iter_policy(), and vm_domainset_iter_policy_init().

Referenced by kmem_malloc(), and page_alloc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_subinit()

void kmem_subinit ( vm_map_t  map,
vm_map_t  parent,
vm_offset_t *  min,
vm_offset_t *  max,
vm_size_t  size,
bool  superpage_align 
)

Definition at line 382 of file vm_kern.c.

References KERN_SUCCESS, MAP_ACC_NO_CHARGE, vm_map_find(), vm_map_init(), vm_map_min(), vm_map_pmap(), vm_map_submap(), VM_PROT_ALL, VMFS_ANY_SPACE, and VMFS_SUPER_SPACE.

Referenced by vm_ksubmap_init().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmem_unback()

void kmem_unback ( vm_object_t  object,
vm_offset_t  addr,
vm_size_t  size 
)

Definition at line 601 of file vm_kern.c.

References _kmem_unback().

Referenced by kmapent_free(), kmem_alloc_attr_domain(), kmem_back(), kmem_back_domain(), and memguard_free().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ kmeminit()

void kmeminit ( void  )

◆ kva_alloc()

vm_offset_t kva_alloc ( vm_size_t  size)

Definition at line 146 of file vm_kern.c.

References kernel_arena, and vm_map::size.

Referenced by kmem_init_zero_region(), pbuf_init(), pcpu_page_alloc(), uma_zone_reserve_kva(), vm_ksubmap_init(), and vm_thread_stack_create().

Here is the caller graph for this function:

◆ kva_free()

void kva_free ( vm_offset_t  addr,
vm_size_t  size 
)

Definition at line 167 of file vm_kern.c.

References kernel_arena, and vm_map::size.

Referenced by pcpu_page_free(), and vm_thread_stack_dispose().

Here is the caller graph for this function:

◆ useracc()

int useracc ( void *  addr,
int  len,
int  rw 
)

Definition at line 153 of file vm_glue.c.

References vm_map_check_protection(), vm_map_lock_read, vm_map_max(), vm_map_unlock_read, and VM_PROT_ALL.

Here is the call graph for this function:

◆ vm_active_count()

u_int vm_active_count ( void  )

Definition at line 446 of file vm_meter.c.

References PQ_ACTIVE, and vm_pagequeue_count().

Here is the call graph for this function:

◆ vm_addr_align_ok()

static bool vm_addr_align_ok ( vm_paddr_t  pa,
u_long  alignment 
)
inlinestatic

Definition at line 143 of file vm_extern.h.

Referenced by vm_addr_ok(), and vm_page_scan_contig().

Here is the caller graph for this function:

◆ vm_addr_bound_ok()

static bool vm_addr_bound_ok ( vm_paddr_t  pa,
vm_paddr_t  size,
vm_paddr_t  boundary 
)
inlinestatic

Definition at line 155 of file vm_extern.h.

Referenced by vm_addr_ok(), and vm_page_scan_contig().

Here is the caller graph for this function:

◆ vm_addr_ok()

static bool vm_addr_ok ( vm_paddr_t  pa,
vm_paddr_t  size,
u_long  alignment,
vm_paddr_t  boundary 
)
inlinestatic

Definition at line 163 of file vm_extern.h.

References vm_addr_align_ok(), and vm_addr_bound_ok().

Referenced by vm_phys_alloc_seg_contig().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_fault()

int vm_fault ( vm_map_t  map,
vm_offset_t  vaddr,
vm_prot_t  fault_type,
int  fault_flags,
vm_page_t *  m_hold 
)

Definition at line 1447 of file vm_fault.c.

References vm_map_entry::eflags, faultstate::entry, FAULT_CONTINUE, fault_deallocate(), FAULT_FAILURE, faultstate::fault_flags, FAULT_HARD, FAULT_OUT_OF_BOUNDS, fault_page_free(), FAULT_PROTECTION_FAILURE, FAULT_RESTART, FAULT_SOFT, FAULT_SUCCESS, faultstate::fault_type, faultstate::first_m, faultstate::first_object, faultstate::first_pindex, KERN_FAILURE, KERN_OUT_OF_BOUNDS, KERN_PROTECTION_FAILURE, KERN_RESOURCE_SHORTAGE, KERN_RESTART, KERN_SUCCESS, faultstate::lookup_still_valid, faultstate::m, faultstate::m_cow, faultstate::m_hold, faultstate::map, MAP_ENTRY_SPLIT_BOUNDARY_MASK, faultstate::nera, vm_map_entry::next_read, faultstate::object, OBJT_VNODE, faultstate::oom_started, PFBAK, PFFOR, faultstate::pindex, vm_map::pmap, pmap_enter(), PMAP_ENTER_WIRED, faultstate::prot, vm_object::type, unlock_and_deallocate(), faultstate::vaddr, vm_fault_allocate(), vm_fault_cow(), vm_fault_dirty(), VM_FAULT_DIRTY, vm_fault_lookup(), vm_fault_next(), VM_FAULT_NOFILL, vm_fault_object(), vm_fault_prefault(), vm_fault_relookup(), vm_fault_soft_fast(), VM_FAULT_WIRE, vm_fault_zerofill(), VM_OBJECT_ASSERT_UNLOCKED, vm_object_pip_add(), vm_object_reference_locked(), VM_OBJECT_RLOCK, VM_OBJECT_RUNLOCK, VM_OBJECT_TRYUPGRADE, VM_OBJECT_WLOCK, VM_OBJECT_WUNLOCK, vm_page_activate(), vm_page_all_valid(), vm_page_assert_xbusied, vm_page_wire(), vm_page_xunbusy, VM_PROT_COPY, VM_PROT_WRITE, faultstate::vp, and faultstate::wired.

Referenced by vm_fault_quick_hold_pages(), vm_fault_trap(), and vm_map_wire_locked().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_fault_copy_entry()

◆ vm_fault_disable_pagefaults()

int vm_fault_disable_pagefaults ( void  )

Definition at line 2170 of file vm_fault.c.

◆ vm_fault_enable_pagefaults()

void vm_fault_enable_pagefaults ( int  save)

Definition at line 2177 of file vm_fault.c.

◆ vm_fault_quick_hold_pages()

int vm_fault_quick_hold_pages ( vm_map_t  map,
vm_offset_t  addr,
vm_size_t  len,
vm_prot_t  prot,
vm_page_t *  ma,
int  max_count 
)

◆ vm_fault_trap()

int vm_fault_trap ( vm_map_t  map,
vm_offset_t  vaddr,
vm_prot_t  fault_type,
int  fault_flags,
int *  signo,
int *  ucode 
)

◆ vm_forkproc()

int vm_forkproc ( struct thread *  td,
struct proc *  p2,
struct thread *  td2,
struct vmspace vm2,
int  flags 
)

Definition at line 532 of file vm_glue.c.

References vm_wait_doms(), and vmspace_unshare().

Here is the call graph for this function:

◆ vm_imgact_map_page()

struct sf_buf * vm_imgact_map_page ( vm_object_t  object,
vm_ooffset_t  offset 
)

Definition at line 237 of file vm_glue.c.

References vm_imgact_hold_page().

Here is the call graph for this function:

◆ vm_imgact_unmap_page()

void vm_imgact_unmap_page ( struct sf_buf *  sf)

Definition at line 252 of file vm_glue.c.

References PQ_ACTIVE, and vm_page_unwire().

Here is the call graph for this function:

◆ vm_inactive_count()

u_int vm_inactive_count ( void  )

Definition at line 453 of file vm_meter.c.

References PQ_INACTIVE, and vm_pagequeue_count().

Here is the call graph for this function:

◆ vm_laundry_count()

u_int vm_laundry_count ( void  )

Definition at line 460 of file vm_meter.c.

References PQ_LAUNDRY, and vm_pagequeue_count().

Here is the call graph for this function:

◆ vm_mmap()

int vm_mmap ( vm_map_t  map,
vm_offset_t *  addr,
vm_size_t  size,
vm_prot_t  prot,
vm_prot_t  maxprot,
int  flags,
objtype_t  handle_type,
void *  handle,
vm_ooffset_t  foff 
)

Definition at line 1466 of file vm_mmap.c.

References OBJT_DEFAULT, OBJT_DEVICE, OBJT_VNODE, vm_mmap_cdev(), vm_mmap_object(), vm_mmap_vnode(), vm_object_deallocate(), and vm_pager_release_writecount().

Here is the call graph for this function:

◆ vm_mmap_cdev()

int vm_mmap_cdev ( struct thread *  td,
vm_size_t  objsize,
vm_prot_t  prot,
vm_prot_t maxprotp,
int *  flagsp,
struct cdev *  cdev,
struct cdevsw *  dsw,
vm_ooffset_t *  foff,
vm_object_t objp 
)

Definition at line 1404 of file vm_mmap.c.

References OBJT_DEVICE, vm_pager_allocate(), VM_PROT_ALL, and VM_PROT_WRITE.

Referenced by vm_mmap().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_mmap_object()

int vm_mmap_object ( vm_map_t  map,
vm_offset_t *  addr,
vm_size_t  size,
vm_prot_t  prot,
vm_prot_t  maxprot,
int  flags,
vm_object_t  object,
vm_ooffset_t  foff,
boolean_t  writecounted,
struct thread *  td 
)

◆ vm_mmap_to_errno()

int vm_mmap_to_errno ( int  rv)

Definition at line 1685 of file vm_mmap.c.

References KERN_INVALID_ADDRESS, KERN_NO_SPACE, KERN_PROTECTION_FAILURE, and KERN_SUCCESS.

Referenced by kern_munmap(), vm_map_madvise(), and vm_mmap_object().

Here is the caller graph for this function:

◆ vm_mmap_vnode()

int vm_mmap_vnode ( struct thread *  td,
vm_size_t  objsize,
vm_prot_t  prot,
vm_prot_t maxprotp,
int *  flagsp,
struct vnode *  vp,
vm_ooffset_t *  foffp,
vm_object_t objp,
boolean_t *  writecounted 
)

Definition at line 1290 of file vm_mmap.c.

References OBJ_COLORED, OBJ_SWAP, OBJT_DEFAULT, OBJT_VNODE, vm_object_color(), vm_object_reference(), VM_OBJECT_WLOCK, VM_OBJECT_WUNLOCK, vm_pager_allocate(), vm_pager_update_writecount(), and VM_PROT_WRITE.

Referenced by vm_mmap().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_set_page_size()

void vm_set_page_size ( void  )

Definition at line 255 of file vm_page.c.

References vm_cnt.

Referenced by vm_mem_init().

Here is the caller graph for this function:

◆ vm_sync_icache()

void vm_sync_icache ( vm_map_t  ,
vm_offset_t  ,
vm_size_t   
)

◆ vm_thread_dispose()

void vm_thread_dispose ( struct thread *  td)

Definition at line 387 of file vm_glue.c.

References kstack_cache, uma_zfree(), and vm_thread_stack_dispose().

Here is the call graph for this function:

◆ vm_thread_new()

int vm_thread_new ( struct thread *  td,
int  pages 
)

Definition at line 352 of file vm_glue.c.

References kstack_cache, KSTACK_MAX_PAGES, uma_zalloc(), and vm_thread_stack_create().

Here is the call graph for this function:

◆ vm_thread_stack_back()

void vm_thread_stack_back ( struct domainset *  ds,
vm_offset_t  kaddr,
vm_page_t  ma[],
int  npages,
int  req_class 
)

Definition at line 408 of file vm_glue.c.

References vm_object::domain, kstack_object, VM_ALLOC_WAITFAIL, VM_ALLOC_WIRED, vm_ndomains, VM_OBJECT_WLOCK, VM_OBJECT_WUNLOCK, and vm_page_grab_pages().

Referenced by vm_thread_stack_create(), and vm_thread_swapin().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vm_wait_count()

u_int vm_wait_count ( void  )

Definition at line 3234 of file vm_page.c.

References vm_min_waiters, vm_pageproc_waiters, and vm_severe_waiters.

Referenced by vmtotal().

Here is the caller graph for this function:

◆ vm_waitproc()

void vm_waitproc ( struct proc *  p)

Definition at line 583 of file vm_glue.c.

References vmspace_exitfree().

Here is the call graph for this function:

◆ vmspace_acquire_ref()

struct vmspace * vmspace_acquire_ref ( struct proc *  p)

Definition at line 467 of file vm_map.c.

References PROC_VMSPACE_LOCK, PROC_VMSPACE_UNLOCK, vmspace::vm_refcnt, and vmspace_free().

Referenced by vm_daemon(), and vm_pageout_oom().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vmspace_alloc()

struct vmspace * vmspace_alloc ( vm_offset_t  min,
vm_offset_t  max,
pmap_pinit_t  pinit 
)

Definition at line 325 of file vm_map.c.

References _vm_map_init(), vm_map::pmap, uma_zalloc(), uma_zfree(), vmspace::vm_daddr, vmspace::vm_dsize, vmspace::vm_map, vmspace::vm_maxsaddr, vmspace::vm_refcnt, vmspace::vm_shm, vmspace::vm_ssize, vmspace::vm_swrss, vmspace::vm_taddr, vmspace::vm_tsize, vmspace_pmap(), and vmspace_zone.

Referenced by vmspace_fork().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vmspace_exec()

int vmspace_exec ( struct proc *  p,
vm_offset_t  minuser,
vm_offset_t  maxuser 
)

Definition at line 4823 of file vm_map.c.

◆ vmspace_exit()

void vmspace_exit ( struct thread *  td)

Definition at line 414 of file vm_map.c.

References pmap_activate(), pmap_remove_pages(), PROC_VMSPACE_LOCK, PROC_VMSPACE_UNLOCK, vmspace::vm_refcnt, vmspace_dofree(), and vmspace_pmap().

Here is the call graph for this function:

◆ vmspace_exitfree()

void vmspace_exitfree ( struct proc *  p)

Definition at line 401 of file vm_map.c.

References PROC_VMSPACE_LOCK, PROC_VMSPACE_UNLOCK, and vmspace_free().

Referenced by vm_waitproc().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vmspace_fork()

struct vmspace * vmspace_fork ( struct vmspace vm1,
vm_ooffset_t *  fork_charge 
)

◆ vmspace_free()

void vmspace_free ( struct vmspace vm)

Definition at line 390 of file vm_map.c.

References vmspace::vm_refcnt, and vmspace_dofree().

Referenced by vm_daemon(), vm_pageout_oom(), vmspace_acquire_ref(), vmspace_exitfree(), vmspace_fork(), and vmspace_switch_aio().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ vmspace_switch_aio()

void vmspace_switch_aio ( struct vmspace newvm)

Definition at line 502 of file vm_map.c.

References pmap_activate(), vmspace::vm_refcnt, and vmspace_free().

Here is the call graph for this function:

◆ vmspace_unshare()

int vmspace_unshare ( struct proc *  p)

Definition at line 4855 of file vm_map.c.

Referenced by vm_forkproc().

Here is the caller graph for this function:

◆ vnode_pager_purge_range()

void vnode_pager_purge_range ( struct vnode *  vp,
vm_ooffset_t  start,
vm_ooffset_t  end 
)

◆ vnode_pager_setsize()

void vnode_pager_setsize ( struct vnode *  vp,
vm_ooffset_t  nsize 
)

◆ vslock()

int vslock ( void *  addr,
size_t  len 
)

Definition at line 175 of file vm_glue.c.

References KERN_SUCCESS, vm_map_wire(), VM_MAP_WIRE_NOHOLES, VM_MAP_WIRE_SYSTEM, and vm_page_max_user_wired.

Here is the call graph for this function:

◆ vsunlock()

void vsunlock ( void *  addr,
size_t  len 
)

Definition at line 204 of file vm_glue.c.

References vm_map_unwire(), VM_MAP_WIRE_NOHOLES, and VM_MAP_WIRE_SYSTEM.

Here is the call graph for this function: