summaryrefslogtreecommitdiff
path: root/doc/memlayout.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/memlayout.txt')
-rw-r--r--doc/memlayout.txt18
1 files changed, 12 insertions, 6 deletions
diff --git a/doc/memlayout.txt b/doc/memlayout.txt
index 6720d00..af760ca 100644
--- a/doc/memlayout.txt
+++ b/doc/memlayout.txt
@@ -1,8 +1,14 @@
-This is the memory layout of a standard service :
+This is the memory layout of a standard process :
+This can be changed by the app :
- 0x00100000 to 0x20000000 Application's code and static data
-- 0x20000000 to 0x6F000000 Application's heap
-- 0x70000000 to 0x80000000 Free space, can be used for mapping device memory
-- 0x80000000 to 0xD0000000 Space for mapping shared memory segments
-- 0xD0000000 to 0xDF000000 Stacks (automatically allocated by kernel, size 0x8000 each)
-- 0xE0000000 to 0xFFFFFFFF Kernel code and heap
+- 0x20000000 to 0xB0000000 Application's heap
+- 0xB0000000 to 0xBF000000 Stacks (automatically allocated by kernel, size 0x8000=32k each)
+This is necessary :
+- 0xC0000000 to 0xFFFFFFFF Kernel code and heap
+
+The beginning of the kernel code at 0xC0000000 corresponds to the linker-defined
+symbol k_highhalf_addr, that is used at as many places as possible.
+If this address was to be changed, it would have to be changed in two places :
+- link.ld, change address of k_highhalf_addr;
+- loader_.asm, update the temporary GDT structure data.