aboutsummaryrefslogtreecommitdiff
path: root/kernel_stage2.ld
diff options
context:
space:
mode:
authorWojtek Kosior <kwojtus@protonmail.com>2019-12-31 13:50:14 +0100
committerWojtek Kosior <kwojtus@protonmail.com>2019-12-31 13:50:14 +0100
commit7dcea5fdafe66d8bcf1eeacbaf3f3f3b1c258dfc (patch)
treeb56d111955ab45215caf11bd3b2ba6560d14c171 /kernel_stage2.ld
parent3387b288a53422131f22f1fc96168a128edc9902 (diff)
downloadrpi-MMU-example-7dcea5fdafe66d8bcf1eeacbaf3f3f3b1c258dfc.tar.gz
rpi-MMU-example-7dcea5fdafe66d8bcf1eeacbaf3f3f3b1c258dfc.zip
implement basic memory section allocation for processes
Diffstat (limited to 'kernel_stage2.ld')
-rw-r--r--kernel_stage2.ld12
1 files changed, 11 insertions, 1 deletions
diff --git a/kernel_stage2.ld b/kernel_stage2.ld
index dce2d1f..a30105e 100644
--- a/kernel_stage2.ld
+++ b/kernel_stage2.ld
@@ -1,6 +1,7 @@
/* This sesond stage of the kernel is run from address 0x0 */
TRANSLATION_TABLE_SIZE = 4096 * 4;
+SECTIONS_LIST_SIZE = 4096 * 8;
MMU_SECTION_SIZE = 1 << 20;
SECTIONS
@@ -39,9 +40,18 @@ SECTIONS
_translation_table_end = .;
}
+ .sections_list (NOLOAD) :
+ {
+ _sections_list_start = .;
+
+ . = . + SECTIONS_LIST_SIZE;
+
+ _sections_list_end = .;
+ }
+
. = ALIGN(1 << 20);
. = . + MMU_SECTION_SIZE;
-
+
.stack (NOLOAD) :
{
_stack_start = .;