forth-riscv

My forth
git clone git://git.electrosoup.com/forth-riscv
Log | Files | Refs

commit 5cd67bcd8e97d189c0c5b87b43cdf1cde0fcfef2
parent 9bf77f0cd30845c8d018242ee6ca2dbe3627ba09
Author: Christian Ermann <christianermann@gmail.com>
Date:   Sat, 26 Oct 2024 12:12:29 -0700

Set stack params in linker script

Diffstat:
Mforth.s | 5+----
Mriscv32-virt.ld | 2++
2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/forth.s b/forth.s @@ -1,7 +1,6 @@ .extern uart_put_char .extern uart_get_char .extern uart_put_string -.extern __stack_top #define w a0 #define x a1 @@ -236,14 +235,12 @@ version_string: version_string_len = (. - version_string) word_buffer: .space 255 -return_stack: .space 512 -return_stack_top: latest: .int name_find .section ".text.boot" start: la psp, __stacktop - la rsp, return_stack_top + la rsp, __stacktop_ret la ip, program push_addr version_string diff --git a/riscv32-virt.ld b/riscv32-virt.ld @@ -8,7 +8,9 @@ MEMORY { } SECTIONS { + __stacksize = 256; __stacktop = ORIGIN(RAM) + LENGTH(RAM); + __stacktop_ret = __stacktop - __stacksize; . = ORIGIN(RAM); .text : { *(.text.boot); *(.text); *(.text.*) } >RAM