diff options
Diffstat (limited to 'lib/arch/riscv64/thread_create.s')
-rw-r--r-- | lib/arch/riscv64/thread_create.s | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/arch/riscv64/thread_create.s b/lib/arch/riscv64/thread_create.s new file mode 100644 index 0000000..68c09cd --- /dev/null +++ b/lib/arch/riscv64/thread_create.s @@ -0,0 +1,19 @@ +# Copyright (c) 2021 Johannes Stoelp + + .section .text, "ax", @progbits + + # extern "C" void thread_create(); + .global thread_create + .type thread_create, @function +thread_create: + .cfi_startproc + ld a0, 8(sp) + ld x5, 0(sp) + + jalr x5 + + # FIXME: no return from thread after user fn finished. +1: + j 1b + .cfi_endproc + .size thread_create, .-thread_create |