Changed spinlock mechananisim
[tpg/acess2.git] / Kernel / arch / x86 / include / mm_virt.h
index 8b7508c..5e4712f 100644 (file)
@@ -1,16 +1,37 @@
 /*
- * AcessOS Microkernel Version
- * mm_phys.h
+ * Acess2
+ * - Virtual Memory Manager (Header)
  */
-#ifndef _MM_PHYS_H
-#define _MM_PHYS_H
+#ifndef _MM_VIRT_H
+#define _MM_VIRT_H
+
+
+// - Memory Layout
+#define        MM_USER_MIN     0x00200000
+#define        USER_STACK_SZ   0x00020000      // 128 KiB
+#define        USER_STACK_TOP  0x00800000
+#define USER_LIB_MAX   0xBC000000
+#define        MM_USER_MAX     0xBC000000      // Top load address for user libraries
+#define        MM_PPD_MIN      0xBC000000      // Per-Process Data
+#define        MM_PPD_VFS      0xBC000000      // 
+#define MM_PPD_CFG     0xBFFFF000      // 
+#define        MM_PPD_MAX      0xC0000000      // 
+
+#define        MM_KHEAP_BASE   0xC0400000      // C+4MiB
+#define        MM_KHEAP_MAX    0xCF000000      //
+#define MM_KERNEL_VFS  0xCF000000      // 
+#define MM_KUSER_CODE  0xCFFF0000      // 16 Pages
+#define        MM_MODULE_MIN   0xD0000000      // Lowest Module Address
+#define MM_MODULE_MAX  0xF0000000      // 512 MiB
 
 // === FUNCTIONS ===
-extern void    MM_SetCR3(Uint32 CR3);
-extern tPAddr  MM_Allocate(Uint VAddr);
-extern void    MM_Deallocate(Uint VAddr);
-extern int     MM_Map(Uint VAddr, tPAddr PAddr);
-extern Uint    MM_Clone();
-extern Uint    MM_NewKStack();
+extern void    MM_FinishVirtualInit(void);
+extern void    MM_SetCR3(Uint CR3);
+extern tPAddr  MM_Allocate(tVAddr VAddr);
+extern void    MM_Deallocate(tVAddr VAddr);
+extern int     MM_Map(tVAddr VAddr, tPAddr PAddr);
+extern tPAddr  MM_Clone(void);
+extern tVAddr  MM_NewKStack(void);
+extern tVAddr  MM_NewWorkerStack(void);
 
 #endif

UCC git Repository :: git.ucc.asn.au