x86_64 support, requiring a slight refactor to the build system.
[tpg/acess2.git] / Kernel / arch / x86_64 / include / mm_virt.h
1 /*
2  * Acess2 x86_64 Architecture Code
3  *
4  * This file is published under the terms of the Acess Licence.
5  * See the file COPYING for more details
6  *
7  * vmem.h - Virtual Memory Functions & Definitions
8  */
9 #ifndef _VMEM_H_
10 #define _VMEM_H_
11
12 #include <arch.h>
13
14 // === Memory Location Definitions ===
15 /*
16  * Userland - Lower Half
17  * Kernel land - Upper Half
18  * 
19  * 0xFFFF8000 00000000 - 0xFFFFFFFF FFFFFFFF    2**47   Kernel Range
20  *       8000 00000000 -       8000 7FFFFFFF    2 GiB   Identity Map
21  *       8000 80000000 -       8001 00000000    2 GiB   Kernel Heap
22  *       9000 00000000 -       9800 00000000    cbf     Module Space
23  *       9800 00000000 -       9900 00000000    cbf     Per-Process Data
24  *       9900 00000000 -       9A00 00000000    cbf     Kernel VFS
25  */
26
27 #define MM_USER_MIN     0x00008FFF##FFFFF000
28 //#define       KERNEL_BASE     0xFFF8000##00000000
29 #define MM_KHEAP_BASE   (KERNEL_BASE|(0x0000##80000000))
30 #define MM_KHEAP_MAX    (KERNEL_BASE|(0x0001##00000000))
31 #define MM_MODULE_MIN   (KERNEL_BASE|(0x1000##00000000))
32 #define MM_MODULE_MAX   (KERNEL_BASE|(0x1800##00000000))
33 #define MM_PPD_BASE     (KERNEL_BASE|(0x1800##00000000))
34 #define MM_PPD_VFS      (KERNEL_BASE|(0x1880##00000000))
35 #define MM_KERNEL_VFS   (KERNEL_BASE|(0x1900##00000000))
36
37 #endif

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