diff options
Diffstat (limited to 'kernel/kernel.ld')
-rw-r--r-- | kernel/kernel.ld | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/kernel/kernel.ld b/kernel/kernel.ld new file mode 100644 index 0000000..53c9b90 --- /dev/null +++ b/kernel/kernel.ld @@ -0,0 +1,31 @@ +OUTPUT_ARCH( "riscv" ) +ENTRY( _entry ) + +SECTIONS +{ + /* + * ensure that entry.S / _entry is at 0x80000000, + * where qemu's -kernel jumps. + */ + . = 0x80000000; + .text : + { + *(.text) + . = ALIGN(0x1000); + *(trampoline) + } + + . = ALIGN(0x1000); + PROVIDE(etext = .); + + /* + * make sure end is after data and bss. + */ + .data : { + *(.data) + } + bss : { + *(.bss) + PROVIDE(end = .); + } +} |