diff options
Diffstat (limited to 'lib/libjove/syscall/invoke.c')
-rw-r--r-- | lib/libjove/syscall/invoke.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/libjove/syscall/invoke.c b/lib/libjove/syscall/invoke.c new file mode 100644 index 0000000..e673623 --- /dev/null +++ b/lib/libjove/syscall/invoke.c @@ -0,0 +1,14 @@ +#include <syscall.h> +#include <kernel/syscall.h> +#include <jove.h> + +int +_syscall_invoke(void) +{ + register uint64_t box asm ("rdi") = _syscall_message_box; + register uint64_t call asm ("rsi") = SYSCALL_INVOKE; + + int status = 0; + __asm__ volatile("syscall": "=a"(status) :: "memory"); + return status; +} |