diff options
Diffstat (limited to 'lib/libjove/syscall/debug_putc.c')
-rw-r--r-- | lib/libjove/syscall/debug_putc.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/libjove/syscall/debug_putc.c b/lib/libjove/syscall/debug_putc.c new file mode 100644 index 0000000..2d68ee1 --- /dev/null +++ b/lib/libjove/syscall/debug_putc.c @@ -0,0 +1,13 @@ +#include "jove/syscall.h" +#include "jove/jove.h" +#include <kernel/syscall.h> + +void +_syscall_debug_putc(char c) +{ + *((char*)_syscall_message_ptr) = c; + register uint64_t box asm ("rdi") = _syscall_message_box; + register uint64_t call asm ("rsi") = SYSCALL_DEBUG_PUTC; + + __asm__ volatile("syscall"::: "memory"); +} |