aboutsummaryrefslogtreecommitdiff
path: root/loader_stage2.ld
diff options
context:
space:
mode:
authorvetch <vetch97@gmail.com>2019-10-15 15:44:41 +0200
committervetch <vetch97@gmail.com>2019-10-15 15:44:41 +0200
commite20129720adb334f46e329bfbe7090ee7188caac (patch)
tree4a8fab2da509d5e870ddbf64cf6521c110b7e0cf /loader_stage2.ld
parent8de2ff74293a583fbf4cd9a87a8bf29c0c93d5a8 (diff)
parent0921cc609a1b411d2b6769a327fa11a675ac3d3a (diff)
downloadrpi-MMU-example-e20129720adb334f46e329bfbe7090ee7188caac.tar.gz
rpi-MMU-example-e20129720adb334f46e329bfbe7090ee7188caac.zip
Merge branch 'bob' into alice
Diffstat (limited to 'loader_stage2.ld')
-rw-r--r--loader_stage2.ld44
1 files changed, 44 insertions, 0 deletions
diff --git a/loader_stage2.ld b/loader_stage2.ld
new file mode 100644
index 0000000..8f215e9
--- /dev/null
+++ b/loader_stage2.ld
@@ -0,0 +1,44 @@
+ENTRY(_start)
+
+SECTIONS
+{
+ /* stage2 bootloader gets loaded at 0x4000 */
+ . = 0x4000;
+ __start = .;
+ __text_start = .;
+ .text :
+ {
+ /* have entry point at the beginning */
+ KEEP(*(.text.stage2main))
+ *(.text)
+ }
+ . = ALIGN(4096); /* align to page size */
+ __text_end = .;
+
+ __rodata_start = .;
+ .rodata :
+ {
+ *(.rodata)
+ }
+ . = ALIGN(4096); /* align to page size */
+ __rodata_end = .;
+
+ __data_start = .;
+ .data :
+ {
+ *(.data)
+ }
+ . = ALIGN(4096); /* align to page size */
+ __data_end = .;
+
+ __bss_start = .;
+ .bss :
+ {
+ bss = .;
+ *(.bss)
+ }
+ . = ALIGN(4096); /* align to page size */
+ __bss_end = .;
+ __bss_size = __bss_end - __bss_start;
+ __end = .;
+}