1 #ifndef _VIRT_MEM_MAN_H_
2 #define _VIRT_MEM_MAN_H_
6 #define PAGE_DIR_STORAGE_POOL_SIZE MB(18)
7 #define MEMIO_TOP_BASE 0xF0000000
8 #define VIRTUALIZE_HIGHER_MEM_OFFSET(a) (((uint32_t)a - 0xF0000000) + 0x10000000)
58 uint64_t phys_address,
86 uint64_t phys_address,
Definition: virt_mem_manager.h:22
MEM_SECURITY_PERMS
Definition: virt_mem_manager.h:25
Definition: virt_mem_manager.h:14
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)
Definition: virt_mem_manager.c:202
Definition: virt_mem_manager.h:27
VirtMemMan_Instance virtMemMan_CreateInstance(void)
Definition: virt_mem_manager.c:97
Definition: virt_mem_manager.h:15
void virtMemMan_Setup(void)
Definition: virt_mem_manager.c:23
void virtMemMan_UnMap(void *v_address, size_t size)
Definition: virt_mem_manager.c:566
Definition: virt_mem_manager.h:28
MEM_TYPES
Definition: virt_mem_manager.h:10
void virtMemMan_UnMapInst(VirtMemMan_Instance curInstance_virt, void *v_address, size_t size)
Definition: virt_mem_manager.c:332
void virtMemMan_ForkCurrent(VirtMemMan_Instance dst)
Definition: virt_mem_manager.c:134
void * virtMemMan_FindEmptyAddressInst(VirtMemMan_Instance curInstance_virt, size_t size, MEM_SECURITY_PERMS privLevel)
Definition: virt_mem_manager.c:140
VirtMemMan_Instance virtMemMan_GetCurrent(void)
Definition: virt_mem_manager.c:92
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)
Definition: virt_mem_manager.c:549
uint64_t virtMemMan_GetPhysAddressInst(VirtMemMan_Instance curInstance_virt, void *virt_addr)
Definition: virt_mem_manager.c:393
Definition: virt_mem_manager.h:13
void virtMemMan_FreeInstance(VirtMemMan_Instance inst)
Definition: virt_mem_manager.c:443
void virtMemMan_Fork(VirtMemMan_Instance dst, VirtMemMan_Instance src)
Definition: virt_mem_manager.c:124
MEM_ACCESS_PERMS
Definition: virt_mem_manager.h:18
uint64_t * VirtMemMan_Instance
Definition: virt_mem_manager.h:31
void * virtMemMan_FindEmptyAddress(size_t size, MEM_SECURITY_PERMS privLevel)
Definition: virt_mem_manager.c:542
uint64_t virtMemMan_GetPhysAddress(void *virt_addr)
Definition: virt_mem_manager.c:536
VirtMemMan_Instance curInstance_virt
Definition: virt_mem_manager.c:13
Definition: virt_mem_manager.h:12
Definition: virt_mem_manager.h:20
Definition: virt_mem_manager.h:21
VirtMemMan_Instance virtMemMan_SetCurrent(VirtMemMan_Instance instance)
Definition: virt_mem_manager.c:84