add generic kremap for kernel remapping
[lunaix-os.git] / lunaix-os / arch / x86 / includes / asm / variants / mempart32.h
1 #ifndef __LUNAIX_MEMPART32_H
2 #define __LUNAIX_MEMPART32_H
3
4 #define END_POINT(name) (name + name##_SIZE - 1)
5
6 #ifdef __LD__
7 #define __ulong(val) val
8 #else
9 #define __ulong(val) val##UL
10 #endif
11
12 #define KSTACK_AREA                 __ulong(0x100000)
13 #define KSTACK_AREA_SIZE            __ulong(0x300000)
14 #define KSTACK_AREA_END END_POINT(KSTACK_AREA)
15
16 #define USR_EXEC                    __ulong(0x400000)
17 #define USR_EXEC_SIZE               __ulong(0x20000000)
18 #define USR_EXEC_END END_POINT(USR_EXEC)
19
20 #define USR_MMAP                    __ulong(0x20400000)
21 #define USR_MMAP_SIZE               __ulong(0x9fbc0000)
22 #define USR_MMAP_END END_POINT(USR_MMAP)
23
24 #define USR_STACK                   __ulong(0xbffc0000)
25 #define USR_STACK_SIZE              __ulong(0x40000)
26 #define USR_STACK_SIZE_THREAD       __ulong(0x40000)
27 #define USR_STACK_END END_POINT(USR_STACK)
28
29 #define KERNEL_RESIDENT             __ulong(0xc0000000)
30
31 #define KERNEL_IMG                  KERNEL_RESIDENT
32 #define KERNEL_IMG_SIZE             __ulong(0x4000000)
33 #define KERNEL_IMG_END END_POINT(KERNEL_IMG)
34
35 #define KMAP                        __ulong(0xc8000000)
36 #define PG_MOUNT_1                  KMAP
37 #define PG_MOUNT_1_SIZE             __ulong(0x1000)
38 #define PG_MOUNT_1_END END_POINT(PG_MOUNT_1)
39
40 #define PG_MOUNT_2                  __ulong(0xc8001000)
41 #define PG_MOUNT_2_SIZE             __ulong(0x1000)
42 #define PG_MOUNT_2_END END_POINT(PG_MOUNT_2)
43
44 #define PG_MOUNT_3                  __ulong(0xc8002000)
45 #define PG_MOUNT_3_SIZE             __ulong(0x1000)
46 #define PG_MOUNT_3_END END_POINT(PG_MOUNT_3)
47
48 #define PG_MOUNT_4                  __ulong(0xc8003000)
49 #define PG_MOUNT_4_SIZE             __ulong(0x1000)
50 #define PG_MOUNT_4_END END_POINT(PG_MOUNT_4)
51
52 #define PG_MOUNT_VAR                __ulong(0xc8004000)
53 #define PG_MOUNT_VAR_SIZE           __ulong(0x3fc000)
54 #define PG_MOUNT_VAR_END END_POINT(PG_MOUNT_VAR)
55
56 #define VMAP                        __ulong(0xc8400000)
57 #define VMAP_SIZE                   __ulong(0x37400000)
58 #define VMAP_END END_POINT(VMAP)
59
60 #define PMAP                        VMAP
61
62 #define VMS_MOUNT_1                 __ulong(0xff800000)
63 #define VMS_MOUNT_1_SIZE            __ulong(0x400000)
64 #define VMS_MOUNT_1_END END_POINT(VMS_MOUNT_1)
65
66 #define VMS_SELF_MOUNT              __ulong(0xffc00000)
67
68 #endif /* __LUNAIX_MEMPART32_H */