From fe456c2014c8d1d88b7fd5b24ebda7f7b4c53460 Mon Sep 17 00:00:00 2001 From: Matthew Wozniak Date: Fri, 29 May 2026 21:59:53 -0400 Subject: basic physical memory page allocator Signed-off-by: Matthew Wozniak --- src/ld/virt.ld | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/ld/virt.ld (limited to 'src/ld') diff --git a/src/ld/virt.ld b/src/ld/virt.ld new file mode 100644 index 0000000..33532c4 --- /dev/null +++ b/src/ld/virt.ld @@ -0,0 +1,46 @@ +OUTPUT_ARCH( "riscv" ) +ENTRY( _start ) + +MEMORY +{ + ram : org = 0x80000000, len = 128M +} + +SECTIONS +{ + .text : { + _text_start = .; + *(.text.init) + *(.text .text.*) + _text_end = .; + } >ram + + .rodata : { + _rodata_start = .; + *(.rodata .rodata.*) + _rodata_end = .; + } >ram + + .data : { + . = ALIGN(4096); + _data_start = .; + *(.sdata .sdata.*) + *(.data .data.*) + _data_end = .; + } >ram + + .bss : { + _bss_start = .; + *(.sbss .sbss.*) + *(.bss .bss.*) + _bss_end = .; + } >ram + + . = ALIGN(4096); + _stack_start = .; + _stack_end = . + 0x80000; + _heap_start = _stack_end; + _memory_end = ORIGIN(ram) + LENGTH(ram); + _heap_size = _memory_end - _heap_start; +} + -- cgit v1.2.3-54-g00ecf