Decoupling Architectural-specific Code (#35)
[lunaix-os.git] / lunaix-os / arch / i386 / includes / sys / mm / mempart.h
index b604265a7c0311191d3894da4f6eaa21e555c4ca..aac7f9c4195e304348011d3769c923e2323e4cb9 100644 (file)
@@ -1,7 +1,5 @@
 #ifndef __LUNAIX_MEMPART_H
 #define __LUNAIX_MEMPART_H
-/* Physical Adress Space Partition */
-/* Generated from mempart.h.j2. Do NOT modify */
 
 #define MEM_PAGE 0x1000UL
 #define MEM_1M 0x100000UL
@@ -9,56 +7,54 @@
 #define MEM_HUGE 0x400000UL
 #define MEM_1G 0x40000000UL
 
+#define END_POINT(name) (name + name##_SIZE - 1)
+
 #define KSTACK_AREA 0x100000UL
 #define KSTACK_AREA_SIZE 0x300000UL
-#define KSTACK_AREA_END 0x3ffff0UL
+#define KSTACK_AREA_END END_POINT(KSTACK_AREA)
 
 #define USR_EXEC 0x400000UL
 #define USR_EXEC_SIZE 0x20000000UL
-#define USR_EXEC_END 0x203fffffUL
+#define USR_EXEC_END END_POINT(USR_EXEC)
 
 #define USR_MMAP 0x20400000UL
 #define USR_MMAP_SIZE 0x9fbc0000UL
-#define USR_MMAP_END 0xbffbffffUL
+#define USR_MMAP_END END_POINT(USR_MMAP)
 
 #define USR_STACK 0xbffc0000UL
 #define USR_STACK_SIZE 0x40000UL
-#define USR_STACK_END 0xbffffff0UL
+#define USR_STACK_END END_POINT(USR_STACK)
 
 #define KERNEL_IMG 0xc0000000UL
 #define KERNEL_IMG_SIZE 0x4000000UL
-#define KERNEL_IMG_END 0xc3ffffffUL
+#define KERNEL_IMG_END END_POINT(KERNEL_IMG)
 
 #define PG_MOUNT_1 0xc4000000UL
 #define PG_MOUNT_1_SIZE 0x1000UL
-#define PG_MOUNT_1_END 0xc4000fffUL
+#define PG_MOUNT_1_END END_POINT(PG_MOUNT_1)
 
 #define PG_MOUNT_2 0xc4001000UL
 #define PG_MOUNT_2_SIZE 0x1000UL
-#define PG_MOUNT_2_END 0xc4001fffUL
+#define PG_MOUNT_2_END END_POINT(PG_MOUNT_2)
 
 #define PG_MOUNT_3 0xc4002000UL
 #define PG_MOUNT_3_SIZE 0x1000UL
-#define PG_MOUNT_3_END 0xc4002fffUL
+#define PG_MOUNT_3_END END_POINT(PG_MOUNT_3)
 
 #define PG_MOUNT_4 0xc4003000UL
 #define PG_MOUNT_4_SIZE 0x1000UL
-#define PG_MOUNT_4_END 0xc4003fffUL
+#define PG_MOUNT_4_END END_POINT(PG_MOUNT_4)
 
 #define PG_MOUNT_VAR 0xc4004000UL
 #define PG_MOUNT_VAR_SIZE 0x3fc000UL
-#define PG_MOUNT_VAR_END 0xc43fffffUL
+#define PG_MOUNT_VAR_END END_POINT(PG_MOUNT_VAR)
 
 #define VMAP 0xc4400000UL
 #define VMAP_SIZE 0x3b400000UL
-#define VMAP_END 0xff7fffffUL
+#define VMAP_END END_POINT(VMAP)
 
 #define VMS_MOUNT_1 0xff800000UL
 #define VMS_MOUNT_1_SIZE 0x400000UL
-#define VMS_MOUNT_1_END 0xffbfffffUL
-
-#define PD_REF 0xffc00000UL
-#define PD_REF_SIZE 0x400000UL
-#define PD_REF_END 0xffffffffUL
+#define VMS_MOUNT_1_END END_POINT(VMS_MOUNT_1)
 
 #endif
\ No newline at end of file