summaryrefslogtreecommitdiffstats
path: root/src/kernel.ld
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel.ld')
-rw-r--r--src/kernel.ld47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/kernel.ld b/src/kernel.ld
new file mode 100644
index 000000000..0f44adb34
--- /dev/null
+++ b/src/kernel.ld
@@ -0,0 +1,47 @@
+rom_offset = 0xfff00000;
+base_load_address = 0x00000000;
+text_load_address = 0x00003000;
+hreset_load_address = 0x000ffffc;
+
+SECTIONS
+{
+ . = base_load_address;
+
+ .text.intvects ALIGN(0x1000): AT(base_load_address + rom_offset) {
+ *(.text.intvects)
+ }
+
+ . = text_load_address;
+ .text ALIGN(0x1000): {
+ *(.text)
+ *(.rodata)
+ *(.rodata.*)
+
+ }
+
+ .data ALIGN(0x1000): {
+ data_load_address = .;
+ *(.data)
+ *(.data.*)
+ *(.branch_lt)
+ *(.bss)
+
+ toc_load_address = .;
+ *(.toc)
+ opd_load_address = .;
+ *(.opd)
+ *(.got)
+ }
+
+ . = hreset_load_address;
+ .text.hreset : {
+ *(.text.hreset)
+ }
+
+ /DISCARD/ : {
+ *(.comment)
+ *(.gnu.attributes)
+ }
+}
+
+
OpenPOWER on IntegriCloud