diff options
Diffstat (limited to 'src/kernel.ld')
-rw-r--r-- | src/kernel.ld | 47 |
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) + } +} + + |