ApertureOS
Functions | Variables
virt_mem_manager.c File Reference
#include "virt_mem_manager.h"
#include "priv_virt_mem_manager.h"
#include "managers.h"
#include "globals.h"
#include "utils/common.h"
#include "utils/native.h"
Include dependency graph for virt_mem_manager.c:

Functions

uint32_t virtMemMan_Initialize ()
 
void virtMemMan_callback (uint32_t res)
 
uint8_t virtMemMan_messageHandler (Message *msg)
 
void virtMemMan_Setup ()
 
VirtMemMan_Instance virtMemMan_SetCurrent (VirtMemMan_Instance instance)
 
VirtMemMan_Instance virtMemMan_GetCurrent ()
 
VirtMemMan_Instance virtMemMan_CreateInstance ()
 
void virtMemMan_Fork (VirtMemMan_Instance dst, VirtMemMan_Instance src)
 
void virtMemMan_ForkCurrent (VirtMemMan_Instance dst)
 
void * virtMemMan_FindEmptyAddressInst (VirtMemMan_Instance curInstance, size_t size, MEM_SECURITY_PERMS privLevel)
 
uint32_t virtMemMan_MapInst (VirtMemMan_Instance curInstance_virt, uint32_t v_address, uint64_t phys_address, size_t size, MEM_TYPES type, MEM_ACCESS_PERMS perms, MEM_SECURITY_PERMS privLevel)
 
void virtMemMan_UnMapInst (VirtMemMan_Instance curInstance_virt, void *v_address, size_t size)
 
uint64_t virtMemMan_GetPhysAddressInst (VirtMemMan_Instance curInstance_virt, void *virt_addr)
 
uint64_t * virtMemMan_GetFreePDPTEntry ()
 
PD_Entry_PSEvirtMemMan_GetFreePageDirEntry ()
 
void virtMemMan_FreeInstance (VirtMemMan_Instance inst)
 
uint32_t virtMemMan_PageFaultHandler (Registers *regs)
 
uint64_t virtMemMan_GetPhysAddress (void *virt_addr)
 
void * virtMemMan_FindEmptyAddress (size_t size, MEM_SECURITY_PERMS privLevel)
 
uint32_t virtMemMan_Map (uint32_t v_address, uint64_t phys_address, size_t size, MEM_TYPES type, MEM_ACCESS_PERMS perms, MEM_SECURITY_PERMS privLevel)
 
void virtMemMan_UnMap (void *v_address, size_t size)
 

Variables

SystemDatavmem_sys = NULL
 
VirtMemMan_Instance curInstance_virt
 
uint8_t page_dir_storage [PAGE_DIR_STORAGE_POOL_SIZE]
 
uint64_t pdpt_storage [PDPT_STORAGE_SIZE_U64]
 
PD_Entry_PSEkernel_main_entry
 

Function Documentation

void virtMemMan_callback ( uint32_t  res)
VirtMemMan_Instance virtMemMan_CreateInstance ( void  )
void* virtMemMan_FindEmptyAddress ( size_t  size,
MEM_SECURITY_PERMS  privLevel 
)
void* virtMemMan_FindEmptyAddressInst ( VirtMemMan_Instance  curInstance,
size_t  size,
MEM_SECURITY_PERMS  privLevel 
)
void virtMemMan_Fork ( VirtMemMan_Instance  dst,
VirtMemMan_Instance  src 
)
void virtMemMan_ForkCurrent ( VirtMemMan_Instance  dst)
void virtMemMan_FreeInstance ( VirtMemMan_Instance  inst)
VirtMemMan_Instance virtMemMan_GetCurrent ( void  )
PD_Entry_PSE* virtMemMan_GetFreePageDirEntry ( )
uint64_t* virtMemMan_GetFreePDPTEntry ( )
uint64_t virtMemMan_GetPhysAddress ( void *  virt_addr)
uint64_t virtMemMan_GetPhysAddressInst ( VirtMemMan_Instance  curInstance_virt,
void *  virt_addr 
)
uint32_t virtMemMan_Initialize ( )
uint32_t virtMemMan_Map ( uint32_t  v_address,
uint64_t  phys_address,
size_t  size,
MEM_TYPES  type,
MEM_ACCESS_PERMS  perms,
MEM_SECURITY_PERMS  privLevel 
)
uint32_t virtMemMan_MapInst ( VirtMemMan_Instance  curInstance_virt,
uint32_t  v_address,
uint64_t  phys_address,
size_t  size,
MEM_TYPES  type,
MEM_ACCESS_PERMS  perms,
MEM_SECURITY_PERMS  privLevel 
)
uint8_t virtMemMan_messageHandler ( Message msg)
uint32_t virtMemMan_PageFaultHandler ( Registers regs)
VirtMemMan_Instance virtMemMan_SetCurrent ( VirtMemMan_Instance  instance)
void virtMemMan_Setup ( void  )
void virtMemMan_UnMap ( void *  v_address,
size_t  size 
)
void virtMemMan_UnMapInst ( VirtMemMan_Instance  curInstance_virt,
void *  v_address,
size_t  size 
)

Variable Documentation

VirtMemMan_Instance curInstance_virt
PD_Entry_PSE* kernel_main_entry
uint8_t page_dir_storage[PAGE_DIR_STORAGE_POOL_SIZE]
uint64_t pdpt_storage[PDPT_STORAGE_SIZE_U64]
SystemData* vmem_sys = NULL