summaryrefslogtreecommitdiff
path: root/documentation/kernel/memory.txt
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/kernel/memory.txt')
-rw-r--r--documentation/kernel/memory.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/documentation/kernel/memory.txt b/documentation/kernel/memory.txt
new file mode 100644
index 0000000..3c0e4f4
--- /dev/null
+++ b/documentation/kernel/memory.txt
@@ -0,0 +1,15 @@
+only the first 32GiB of physical memory are considered. this can be changed
+with pram_pages in paging.cpp. vram layout is as follows:
+
+0x0000.0000.0000 - 0x0000.0000.0fff: always unmapped
+0x0000.0000.1000 - 0x003f.ffff.ffff: available to user process
+0x0040.0000.0000 - 0x007f.ffff.ffff: each 16MB:
+ 0x00.0000 - 0x00.0fff: always unmapped
+ 0x00.1000 - 0xff.ffff: available for user thread stack
+0x0080.0000.0000 - 0xffff.bfff.ffff: always unmapped
+0xffff.c000.0000 - 0xffff.ffdf.ffff: available to kernel
+0xffff.ffe0.0000 - 0xffff.ffe0.0fff: always unmapped
+0xffff.ffe0.1000 - 0xffff.ffef.efff: interrupt stack
+0xffff.ffef.f000 - 0xffff.fff0.0fff: always unmapped
+0xffff.fff0.1000 - 0xffff.ffff.efff: syscall stack / kernel init stack
+0xffff.ffff.f000 - 0xffff.ffff.ffff: always unmapped