diff options
Diffstat (limited to 'lib/arch/x86_64/thread_create.s')
-rw-r--r-- | lib/arch/x86_64/thread_create.s | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/arch/x86_64/thread_create.s b/lib/arch/x86_64/thread_create.s new file mode 100644 index 0000000..37c368c --- /dev/null +++ b/lib/arch/x86_64/thread_create.s @@ -0,0 +1,20 @@ +# Copyright (c) 2020 Johannes Stoelp + + .intel_syntax noprefix + .section .text, "ax", @progbits + + # extern "C" void thread_create(); + .global thread_create + .type thread_create, @function +thread_create: + .cfi_startproc + mov rdi, qword ptr [rsp+0x8] + mov rsi, qword ptr [rsp] + + call rsi + + # FIXME: no return from thread after user fn finished. +1: + jmp 1b + .cfi_endproc + .size thread_create, .-thread_create |