umem  1.0.1
Macros | Functions | Variables
vmem_base.h File Reference
#include <sys/vmem.h>
#include <umem.h>
#include "misc.h"

Go to the source code of this file.

Macros

#define VMEM_BACKEND_SBRK   0x0000001
 
#define VMEM_BACKEND_MMAP   0x0000002
 
#define VMEM_BACKEND_STAND   0x0000003
 

Functions

void vmem_startup (void)
 
vmem_tvmem_init (const char *parent_name, size_t parent_quantum, vmem_alloc_t *parent_alloc, vmem_free_t *parent_free, const char *heap_name, void *heap_start, size_t heap_size, size_t heap_quantum, vmem_alloc_t *heap_alloc, vmem_free_t *heap_free)
 
void * _vmem_extend_alloc (vmem_t *vmp, void *vaddr, size_t size, size_t alloc, int vmflag)
 
vmem_tvmem_heap_arena (vmem_alloc_t **, vmem_free_t **)
 
void vmem_heap_init (void)
 
vmem_tvmem_sbrk_arena (vmem_alloc_t **, vmem_free_t **)
 
vmem_tvmem_mmap_arena (vmem_alloc_t **, vmem_free_t **)
 
vmem_tvmem_stand_arena (vmem_alloc_t **, vmem_free_t **)
 
void vmem_update (void *)
 
void vmem_reap (void)
 
void vmem_lockup (void)
 
void vmem_release (void)
 
void vmem_sbrk_lockup (void)
 
void vmem_sbrk_release (void)
 
void vmem_no_debug (void)
 

Variables

size_t pagesize
 
size_t vmem_sbrk_pagesize
 
uint_t vmem_backend
 
vmem_tvmem_heap
 
vmem_alloc_tvmem_heap_alloc
 
vmem_free_tvmem_heap_free
 

Macro Definition Documentation

◆ VMEM_BACKEND_MMAP

#define VMEM_BACKEND_MMAP   0x0000002

Referenced by vmem_heap_init().

◆ VMEM_BACKEND_SBRK

#define VMEM_BACKEND_SBRK   0x0000001

Referenced by vmem_heap_init().

◆ VMEM_BACKEND_STAND

#define VMEM_BACKEND_STAND   0x0000003

Function Documentation

◆ _vmem_extend_alloc()

void* _vmem_extend_alloc ( vmem_t vmp,
void *  vaddr,
size_t  size,
size_t  alloc,
int  vmflag 
)

◆ vmem_heap_arena()

vmem_t* vmem_heap_arena ( vmem_alloc_t **  ,
vmem_free_t **   
)

◆ vmem_heap_init()

void vmem_heap_init ( void  )

◆ vmem_init()

vmem_t* vmem_init ( const char *  parent_name,
size_t  parent_quantum,
vmem_alloc_t parent_alloc,
vmem_free_t parent_free,
const char *  heap_name,
void *  heap_start,
size_t  heap_size,
size_t  heap_quantum,
vmem_alloc_t heap_alloc,
vmem_free_t heap_free 
)

◆ vmem_lockup()

void vmem_lockup ( void  )

References mutex_lock.

◆ vmem_mmap_arena()

vmem_t* vmem_mmap_arena ( vmem_alloc_t **  ,
vmem_free_t **   
)

References _sysconf, and pagesize.

Referenced by vmem_heap_init().

◆ vmem_no_debug()

void vmem_no_debug ( void  )

References offsetof, P2ROUNDUP, and vmem_seg_size.

Referenced by umem_init().

◆ vmem_reap()

void vmem_reap ( void  )

References IN_POPULATE, and umem_reap().

◆ vmem_release()

void vmem_release ( void  )

References mutex_unlock.

◆ vmem_sbrk_arena()

vmem_t* vmem_sbrk_arena ( vmem_alloc_t **  ,
vmem_free_t **   
)

Referenced by vmem_heap_init().

◆ vmem_sbrk_lockup()

void vmem_sbrk_lockup ( void  )

References mutex_lock.

◆ vmem_sbrk_release()

void vmem_sbrk_release ( void  )

References mutex_unlock.

◆ vmem_stand_arena()

vmem_t* vmem_stand_arena ( vmem_alloc_t **  ,
vmem_free_t **   
)

◆ vmem_startup()

void vmem_startup ( void  )

◆ vmem_update()

void vmem_update ( void *  )

References mutex_lock.

Variable Documentation

◆ pagesize

size_t pagesize

◆ vmem_backend

uint_t vmem_backend

Referenced by vmem_heap_init().

◆ vmem_heap

vmem_t* vmem_heap

Referenced by vmem_heap_arena().

◆ vmem_heap_alloc

vmem_alloc_t* vmem_heap_alloc

Referenced by vmem_heap_arena().

◆ vmem_heap_free

vmem_free_t* vmem_heap_free

Referenced by vmem_heap_arena().

◆ vmem_sbrk_pagesize

size_t vmem_sbrk_pagesize