3 * - Virtual Memory Manager (Header)
10 #define MM_USER_MIN 0x00200000
11 #define USER_STACK_SZ 0x00020000 // 128 KiB
12 #define USER_STACK_TOP 0x00800000
13 #define USER_LIB_MAX 0xBC000000
14 #define MM_USER_MAX 0xBC000000 // Top load address for user libraries
15 #define MM_PPD_MIN 0xBC000000 // Per-Process Data
16 #define MM_PPD_VFS 0xBC000000 //
17 #define MM_PPD_CFG 0xBFFFF000 //
18 #define MM_PPD_MAX 0xC0000000 //
20 #define MM_KHEAP_BASE 0xC0400000 // C+4MiB
21 #define MM_KHEAP_MAX 0xCF000000 //
22 #define MM_KERNEL_VFS 0xCF000000 //
23 #define MM_KUSER_CODE 0xCFFF0000 // 16 Pages
24 #define MM_MODULE_MIN 0xD0000000 // Lowest Module Address
25 #define MM_MODULE_MAX 0xF0000000 // 512 MiB
28 extern void MM_FinishVirtualInit(void);
29 extern void MM_SetCR3(Uint CR3);
30 extern tPAddr MM_Allocate(tVAddr VAddr);
31 extern void MM_Deallocate(tVAddr VAddr);
32 extern int MM_Map(tVAddr VAddr, tPAddr PAddr);
33 extern tPAddr MM_Clone(void);
34 extern tVAddr MM_NewKStack(void);
35 extern tVAddr MM_NewWorkerStack(void);