+#define MM_USER_MIN 0x00000000##00010000
+#define USER_LIB_MAX 0x00007000##00000000
+#define USER_STACK_PREALLOC 0x00000000##00002000 // 8 KiB
+#define USER_STACK_SZ 0x00000000##00020000 // 64 KiB
+#define USER_STACK_TOP 0x00008000##00000000
+#define MM_KERNEL_RANGE 0xFFFF8000##00000000
+#define MM_KHEAP_BASE (MM_KERNEL_RANGE|(0x8000##00000000))
+#define MM_KHEAP_MAX (MM_KERNEL_RANGE|(0x9000##00000000))
+#define MM_MODULE_MIN (MM_KERNEL_RANGE|(0x9000##00000000))
+#define MM_MODULE_MAX (MM_KERNEL_RANGE|(0x9800##00000000))
+#define MM_KERNEL_VFS (MM_KERNEL_RANGE|(0x9800##00000000))
+#define MM_KSTACK_BASE (MM_KERNEL_RANGE|(0xA000##00000000))
+#define MM_KSTACK_TOP (MM_KERNEL_RANGE|(0xB000##00000000))
+
+#define MM_HWMAP_BASE (MM_KERNEL_RANGE|(0xC000##00000000))
+#define MM_HWMAP_TOP (MM_KERNEL_RANGE|(0xD000##00000000))
+#define MM_PPD_BASE (MM_KERNEL_RANGE|(0xD000##00000000))
+#define MM_PPD_CFG MM_PPD_BASE
+#define MM_PPD_HANDLES (MM_KERNEL_RANGE|(0xD008##00000000))
+#define MM_USER_CODE (MM_KERNEL_RANGE|(0xD080##00000000))
+
+#define MM_PAGE_NODES (MM_KERNEL_RANGE|(0xE000##00000000))
+#define MM_PAGE_COUNTS (MM_KERNEL_RANGE|(0xE800##00000000))
+#define MM_PAGE_BITMAP (MM_KERNEL_RANGE|(0xEC00##00000000))
+#define MM_PAGE_DBLBMP (MM_KERNEL_RANGE|(0xEC00##00000000))
+#define MM_PAGE_SUPBMP (MM_KERNEL_RANGE|(0xED00##00000000))
+
+#define MM_FRACTAL_BASE (MM_KERNEL_RANGE|(0xFE00##00000000))
+#define MM_TMPFRAC_BASE (MM_KERNEL_RANGE|(0xFE80##00000000))
+#define MM_TMPMAP_BASE (MM_KERNEL_RANGE|(0xFF00##00000000))
+#define MM_TMPMAP_END (MM_KERNEL_RANGE|(0xFF80##00000000))
+#define MM_LOCALAPIC (MM_KERNEL_RANGE|(0xFF80##00000000))
+#define MM_KERNEL_CODE (MM_KERNEL_RANGE|(0xFFFF##80000000))
+
+
+// === FUNCTIONS ===
+void MM_FinishVirtualInit(void);
+tVAddr MM_NewKStack(void);
+tVAddr MM_Clone(void);
+tVAddr MM_NewWorkerStack(void *StackData, size_t StackSize);