summaryrefslogtreecommitdiff
path: root/kernel/syscalls.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/syscalls.c')
-rw-r--r--kernel/syscalls.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/kernel/syscalls.c b/kernel/syscalls.c
index 782ae86..48a2604 100644
--- a/kernel/syscalls.c
+++ b/kernel/syscalls.c
@@ -16,6 +16,7 @@
#include "syscalls.h"
#include "scheduler.h"
+
// TODO: use includes!!!
uint64_t timer_get_ms();
@@ -30,6 +31,60 @@ static uint32_t next_fifo=0;
term_out screen;
terminal_tty tty1;
+char* syscall_get_name(uint32_t num)
+{
+ switch(num)
+ {
+ case 60:
+ return "SYSCALL_EXIT";
+ case 66:
+ return "SYSCALL_CLOSE";
+ case 64:
+ return "SYSCALL_EXECVE";
+ case 72:
+ return "SYSCALL_FORK";
+ case 78:
+ return "SYSCALL_GETPID";
+ case 68:
+ return "SYSCALL_ISATTY";
+ case 82:
+ return "SYSCALL_LINK";
+ case 69:
+ return "SYSCALL_LSEEK";
+ case 65:
+ return "SYSCALL_OPEN";
+ case 62:
+ return "SYSCALL_READ";
+ case 70:
+ return "SYSCALL_SBRK";
+ case 74:
+ return "SYSCALL_STAT";
+ case 67:
+ return "SYSCALL_FSTAT";
+ case 79:
+ return "SYSCALL_LSTAT";
+ case 75:
+ return "SYSCALL_TIMES";
+ case 76:
+ return "SYSCALL_UNLINK";
+ case 77:
+ return "SYSCALL_WAIT";
+ case 61:
+ return "SYSCALL_WRITE";
+ case 71:
+ return "SYSCALL_GETTIMEOFDAY";
+ case 63:
+ return "SYSCALL_READDIR";
+ case 73:
+ return "SYSCALL_KILL";
+ case 80:
+ return "SYSCALL_POLL";
+ case 83:
+ return "SYSCALL_CLONE";
+ }
+ return "UNKNOWN SYSCALL NUM";
+}
+
int syscall_unhandled(int nr)
{
char msg[256];