From 1ab3bdff71d130fca382d2aa181cd93c03195065 Mon Sep 17 00:00:00 2001 From: Mark Date: Mon, 20 Jul 2020 17:08:08 +0300 Subject: [PATCH] Add ygg_debug_trace(2) --- include/sys/debug.h | 3 +++ src/sys/debug.c | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 include/sys/debug.h create mode 100644 src/sys/debug.c diff --git a/include/sys/debug.h b/include/sys/debug.h new file mode 100644 index 0000000..f1246ed --- /dev/null +++ b/include/sys/debug.h @@ -0,0 +1,3 @@ +#pragma once + +void ygg_debug_trace(const char *msg, ...); diff --git a/src/sys/debug.c b/src/sys/debug.c new file mode 100644 index 0000000..5c55303 --- /dev/null +++ b/src/sys/debug.c @@ -0,0 +1,19 @@ +#include <_libc/syscalls.h> +#include +#include +#include +#include +#include + +void ygg_debug_trace(const char *fmt, ...) { + uintptr_t a0, a1, a2, a3, a4; + va_list args; + va_start(args, fmt); + a0 = va_arg(args, uintptr_t); + a1 = va_arg(args, uintptr_t); + a2 = va_arg(args, uintptr_t); + a3 = va_arg(args, uintptr_t); + a4 = va_arg(args, uintptr_t); + va_end(args); + __syscall6(SYSCALL_NRX_TRACE, (long) fmt, a0, a1, a2, a3, a4); +}