#include <sys/vmem.h>
#include <umem.h>
#include "misc.h"
Go to the source code of this file.
Defines | |
#define | VMEM_BACKEND_SBRK 0x0000001 |
#define | VMEM_BACKEND_MMAP 0x0000002 |
#define | VMEM_BACKEND_STAND 0x0000003 |
Functions | |
void | vmem_startup (void) |
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) |
void * | _vmem_extend_alloc (vmem_t *vmp, void *vaddr, size_t size, size_t alloc, int vmflag) |
vmem_t * | vmem_heap_arena (vmem_alloc_t **, vmem_free_t **) |
void | vmem_heap_init (void) |
vmem_t * | vmem_sbrk_arena (vmem_alloc_t **, vmem_free_t **) |
vmem_t * | vmem_mmap_arena (vmem_alloc_t **, vmem_free_t **) |
vmem_t * | vmem_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_t * | vmem_heap |
vmem_alloc_t * | vmem_heap_alloc |
vmem_free_t * | vmem_heap_free |
#define VMEM_BACKEND_MMAP 0x0000002 |
Referenced by vmem_heap_init().
#define VMEM_BACKEND_SBRK 0x0000001 |
Referenced by vmem_heap_init().
#define VMEM_BACKEND_STAND 0x0000003 |
void* _vmem_extend_alloc | ( | vmem_t * | vmp, | |
void * | vaddr, | |||
size_t | size, | |||
size_t | alloc, | |||
int | vmflag | |||
) |
References ASSERT, cond_broadcast, mutex_lock, mutex_unlock, vmem::vm_cv, vmem::vm_lock, vmem::vm_quantum, vmem::vm_source_alloc, vmem_contains(), VS_SIZE, and vmem_seg::vs_start.
vmem_t* vmem_heap_arena | ( | vmem_alloc_t ** | , | |
vmem_free_t ** | ||||
) |
References DEFAULTMUTEX, mutex_lock, mutex_unlock, thr_self, umem_init(), umem_init_thr, UMEM_READY, umem_ready, vmem_heap, vmem_heap_alloc, vmem_heap_free, and vmem_heap_init().
Referenced by umem_init().
void vmem_heap_init | ( | void | ) |
References log_message(), vmem_backend, VMEM_BACKEND_MMAP, VMEM_BACKEND_SBRK, vmem_mmap_arena(), and vmem_sbrk_arena().
Referenced by vmem_heap_arena().
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 | |||
) |
References ASSERT, VM_BESTFIT, VM_PANIC, VM_SLEEP, VMC_POPULATOR, vmem_alloc(), vmem_create(), vmem_free(), vmem_heap_alloc, vmem_heap_free, VMEM_SEG_INITIAL, and vmem_xalloc().
Referenced by vmem_mmap_arena(), and vmem_sbrk_arena().
void vmem_lockup | ( | void | ) |
References cond_broadcast, mutex_lock, vmem::vm_cv, vmem::vm_lock, vmem::vm_next, and vmem_populate_lock::vmpl_mutex.
vmem_t* vmem_mmap_arena | ( | vmem_alloc_t ** | , | |
vmem_free_t ** | ||||
) |
void vmem_no_debug | ( | void | ) |
void vmem_reap | ( | void | ) |
void vmem_release | ( | void | ) |
References mutex_unlock, vmem::vm_lock, vmem::vm_next, and vmem_populate_lock::vmpl_mutex.
vmem_t* vmem_sbrk_arena | ( | vmem_alloc_t ** | , | |
vmem_free_t ** | ||||
) |
References ISP2, issetugid, log_message(), vmem_alloc(), vmem_free(), vmem_init(), and vmem_sbrk_pagesize.
Referenced by vmem_heap_init().
void vmem_sbrk_lockup | ( | void | ) |
References mutex_lock.
void vmem_sbrk_release | ( | void | ) |
References mutex_unlock.
vmem_t* vmem_stand_arena | ( | vmem_alloc_t ** | , | |
vmem_free_t ** | ||||
) |
void vmem_startup | ( | void | ) |
void vmem_update | ( | void * | ) |
References cond_broadcast, mutex_lock, mutex_unlock, vmem::vm_cv, and vmem::vm_next.
size_t pagesize |
Referenced by umem_init(), umem_type_init(), valloc(), and vmem_mmap_arena().
Referenced by vmem_heap_init().
Referenced by vmem_heap_arena().
Referenced by vmem_heap_arena(), vmem_init(), and vmem_startup().
Referenced by vmem_heap_arena(), vmem_init(), and vmem_startup().
size_t vmem_sbrk_pagesize |
Referenced by vmem_sbrk_arena().