X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Kernel%2Farch%2Fx86_64%2Finclude%2Fmm_virt.h;h=baade6ea037b89936148302c4c93758ed5aee343;hb=95a530ccd8a001ca1488d7265268cf8bee2b650e;hp=86081f3852d4ec875775045919f3f2fcbf53c874;hpb=55b476b828e551a75975468ffe15d08a32b10fb1;p=tpg%2Facess2.git diff --git a/Kernel/arch/x86_64/include/mm_virt.h b/Kernel/arch/x86_64/include/mm_virt.h index 86081f38..baade6ea 100644 --- a/Kernel/arch/x86_64/include/mm_virt.h +++ b/Kernel/arch/x86_64/include/mm_virt.h @@ -17,15 +17,22 @@ * Kernel land - Upper Half * * START ADDRESS END ADDRESS BITS SIZE NAME + * 0x00000000 00000000 - 0x00007FFF FFFFFFFF 47 128 TiB User Space + * 0x00008000 00000000 - 0xFFFF7FFF FFFFFFFF --- SIGN EXTENSION NULL ZONE * 0xFFFF8000 00000000 - 0xFFFFFFFF FFFFFFFF 47 128 TiB Kernel Range * 8000 00000000 - 8000 7FFFFFFF 31 2 GiB Identity Map * 8000 80000000 - 9000 00000000 ~44 16 TiB Kernel Heap * 9000 00000000 - 9800 00000000 43 8 TiB Module Space * 9800 00000000 - 9A00 00000000 41 2 TiB Kernel VFS * A000 00000000 - B000 00000000 44 16 TiB Kernel Stacks - * D000 00000000 - E000 00000000 44 16 TiB Hardware Mappings - * E000 00000000 - E080 00000000 39 512 GiB Per-Process Data - * E080 00000000 - E100 00000000 39 512 GiB Kernel Supplied User Code + * C000 00000000 - D000 00000000 44 16 TiB Hardware Mappings + * D000 00000000 - D080 00000000 39 512 GiB Per-Process Data + * D080 00000000 - D100 00000000 39 512 GiB Kernel Supplied User Code + * E000 00000000 - E400 00000000 42 4 TiB Physical Page Reference Counts (2**40 = 2**52 bytes) + * E400 00000000 - E480 00000000 39 512 GiB Physical Page Bitmap (1 page per bit) + * E480 00000000 - E500 00000000 39 512 GiB Physical Page DblAlloc Bitmap (1 page per bit) + * E500 00000000 - E500 80000000 31 2 GiB Physical Page Super Bitmap (64 pages per bit) + * FD00 00000000 - FD80 00000000 39 512 GiB Local APIC * FE00 00000000 - FE80 00000000 39 512 GiB Fractal Mapping (PML4 510) * FE80 00000000 - FF00 00000000 39 512 GiB Temp Fractal Mapping */ @@ -37,19 +44,24 @@ #define MM_USER_MAX 0x00008FFF##FFFFF000 //#define KERNEL_BASE 0xFFF8000##00000000 #define MM_KHEAP_BASE (KERNEL_BASE|(0x8000##80000000)) -#define MM_KHEAP_MAX (KERNEL_BASE|(0x8001##00000000)) +#define MM_KHEAP_MAX (KERNEL_BASE|(0x9000##00000000)) #define MM_MODULE_MIN (KERNEL_BASE|(0x9000##00000000)) #define MM_MODULE_MAX (KERNEL_BASE|(0x9800##00000000)) #define MM_KERNEL_VFS (KERNEL_BASE|(0x9800##00000000)) #define MM_KSTACK_BASE (KERNEL_BASE|(0xA000##00000000)) -#define MM_KSTACK_TOP (KERNEL_BASE|(0xC000##00000000)) +#define MM_KSTACK_TOP (KERNEL_BASE|(0xB000##00000000)) -#define MM_HWMAP_BASE (KERNEL_BASE|(0xD000##00000000)) -#define MM_HWMAP_TOP (KERNEL_BASE|(0xE000##00000000)) -#define MM_PPD_BASE (KERNEL_BASE|(0xE000##00000000)) +#define MM_HWMAP_BASE (KERNEL_BASE|(0xC000##00000000)) +#define MM_HWMAP_TOP (KERNEL_BASE|(0xD000##00000000)) +#define MM_PPD_BASE (KERNEL_BASE|(0xD000##00000000)) #define MM_PPD_CFG MM_PPD_BASE -#define MM_PPD_VFS (KERNEL_BASE|(0xE008##00000000)) -#define MM_USER_CODE (KERNEL_BASE|(0xE080##00000000)) +#define MM_PPD_VFS (KERNEL_BASE|(0xD008##00000000)) +#define MM_USER_CODE (KERNEL_BASE|(0xD080##00000000)) + +#define MM_PAGE_COUNTS (KERNEL_BASE|(0xE000##00000000)) +#define MM_PAGE_BITMAP (KERNEL_BASE|(0xE400##00000000)) +#define MM_PAGE_DBLBMP (KERNEL_BASE|(0xE480##00000000)) +#define MM_PAGE_SUPBMP (KERNEL_BASE|(0xE500##00000000)) #define MM_LOCALAPIC (KERNEL_BASE|(0xFD00##00000000)) #define MM_FRACTAL_BASE (KERNEL_BASE|(0xFE00##00000000))