From ace65b453151845bc361f21f3e5b651c35f9f126 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Wed, 22 May 2024 13:00:41 -0400 Subject: massive refactor for mp and organization --- include/api/errno.h | 9 +++++++++ include/api/syscall.h | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 include/api/errno.h create mode 100644 include/api/syscall.h (limited to 'include/api') diff --git a/include/api/errno.h b/include/api/errno.h new file mode 100644 index 0000000..51921d2 --- /dev/null +++ b/include/api/errno.h @@ -0,0 +1,9 @@ +#ifndef _JOVE_ERRNO_H +#define _JOVE_ERRNO_H 1 + +enum { + EFAIL = 1, + EACCESS +}; + +#endif diff --git a/include/api/syscall.h b/include/api/syscall.h new file mode 100644 index 0000000..eb4235d --- /dev/null +++ b/include/api/syscall.h @@ -0,0 +1,39 @@ +#ifndef _JOVE_API_SYSCALL_H +#define _JOVE_API_SYSCALL_H 1 + +#include +#include + +typedef intmax_t syscall_id_t; + +static int __syscall(void *data) +{ + intmax_t r; + __asm__ volatile(" \ + movq %1, %%rdi; \ + syscall; \ + movq %%rax, %0" + : "=r"(r) + : "r"(data)); + return r; +} + +enum { + SC_DBG_LOGF = 0, + SC_EXIT +}; + +struct sc_dbg_log +{ + syscall_id_t id; + size_t w; + const char *s; +}; + +struct sc_exit +{ + syscall_id_t id; + int exit_code; +}; + +#endif -- cgit v1.2.1