examples: implement _start and syscall for RISC-V

To build the API examples on RISC-V we need to
implement _start and syscall for RISC-V.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Heinrich Schuchardt
2024-11-23 09:47:52 +01:00
parent 6f7f47e8c0
commit 9eb59201ab

View File

@@ -80,6 +80,38 @@ syscall:
return_addr:
.align 8
.long 0
#elif defined(CONFIG_ARCH_RV32I)
.text
.globl _start
_start:
la t0, search_hint
sw sp, 0(t0)
la t0, main
jalr x0, t0
.globl syscall
syscall:
la t0, syscall_ptr
lw t0, 0(t0)
jalr x0, t0
#elif defined(CONFIG_ARCH_RV64I)
.text
.globl _start
_start:
la t0, search_hint
sd sp, 0(t0)
la t0, main
jalr x0, t0
.globl syscall
syscall:
la t0, syscall_ptr
ld t0, 0(t0)
jalr x0, t0
#else
#error No support for this arch!
#endif