summaryrefslogtreecommitdiff
path: root/documentation/kernel/memory.txt
diff options
context:
space:
mode:
authorBenji Dial <benji@benjidial.net>2024-05-20 17:40:47 -0400
committerBenji Dial <benji@benjidial.net>2024-05-20 17:40:47 -0400
commit9af5588c30c4126a2800aae1afcb0de2c373dc6c (patch)
treed2a48a97b1664f958b5f88a8b0c03ef8366b0f49 /documentation/kernel/memory.txt
parent5a54df93c4e9368c36e69d1e9c88cd2904e92308 (diff)
downloadhilbert-os-9af5588c30c4126a2800aae1afcb0de2c373dc6c.tar.gz
rewrite application stuff in the kernel to support multitasking
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