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 )
extern

◆ vmem_heap_arena()

vmem_t * vmem_heap_arena ( vmem_alloc_t ** allocp,
vmem_free_t ** freep )
extern

◆ vmem_heap_init()

void vmem_heap_init ( void )
extern

◆ 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 )
extern

◆ vmem_lockup()

void vmem_lockup ( void )
extern

◆ vmem_mmap_arena()

vmem_t * vmem_mmap_arena ( vmem_alloc_t ** a_out,
vmem_free_t ** f_out )
extern

References _sysconf, pagesize, vmem_free(), and vmem_init().

Referenced by vmem_heap_init().

◆ vmem_no_debug()

void vmem_no_debug ( void )
extern

References offsetof, P2ROUNDUP, and vmem_seg_size.

Referenced by umem_init().

◆ vmem_reap()

void vmem_reap ( void )
extern

References IN_POPULATE, and umem_reap().

Referenced by vmem_xalloc().

◆ vmem_release()

void vmem_release ( void )
extern

◆ vmem_sbrk_arena()

vmem_t * vmem_sbrk_arena ( vmem_alloc_t ** a_out,
vmem_free_t ** f_out )
extern

◆ vmem_sbrk_lockup()

void vmem_sbrk_lockup ( void )
extern

References mutex_lock.

◆ vmem_sbrk_release()

void vmem_sbrk_release ( void )
extern

References mutex_unlock.

◆ vmem_stand_arena()

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

◆ vmem_startup()

void vmem_startup ( void )
extern

References vmem_heap, vmem_heap_alloc, and vmem_heap_free.

Referenced by umem_startup().

◆ vmem_update()

void vmem_update ( void * dummy)
extern

Variable Documentation

◆ pagesize

size_t pagesize
extern

◆ vmem_backend

uint_t vmem_backend
extern

Referenced by vmem_heap_init().

◆ vmem_heap

vmem_t* vmem_heap
extern

◆ vmem_heap_alloc

vmem_alloc_t* vmem_heap_alloc
extern

◆ vmem_heap_free

vmem_free_t* vmem_heap_free
extern

◆ vmem_sbrk_pagesize

size_t vmem_sbrk_pagesize
extern

Referenced by vmem_sbrk_arena().