From 277e4af4fa9e80816c809542d792ee6bebb7f202 Mon Sep 17 00:00:00 2001 From: Alex AUVOLAT Date: Fri, 4 May 2012 20:06:37 +0200 Subject: Migration to C++! --- src/kernel/task/syscall.c | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 src/kernel/task/syscall.c (limited to 'src/kernel/task/syscall.c') diff --git a/src/kernel/task/syscall.c b/src/kernel/task/syscall.c deleted file mode 100644 index bd27eba..0000000 --- a/src/kernel/task/syscall.c +++ /dev/null @@ -1,45 +0,0 @@ -#include "syscall.h" -#include "task.h" -#include - -#define CALL0(name, scname) static void scname(struct registers* r) { r->eax = name(); } -#define CALL1(name, scname) static void scname(struct registers* r) { \ - r->eax = name(r->ebx); } -#define CALL2(name, scname) static void scname(struct registers* r) { \ - r->eax = name(r->ebx, r->ecx); } -#define CALL3(name, scname) static void scname(struct registers* r) { \ - r->eax = name(r->ebx, r->ecx, r->edx); } -#define CALL0V(name, scname) static void scname(struct registers* r) { name(); } -#define CALL1V(name, scname) static void scname(struct registers* r) { name(r->ebx); } -#define CALL2V(name, scname) static void scname(struct registers* r) { name(r->ebx, r->ecx); } -#define CALL3V(name, scname) static void scname(struct registers* r) { name(r->ebx, r->ecx, r->edx); } -#define CALL4V(name, scname) static void scname(struct registers* r) { name(r->ebx, r->ecx, r->edx, r->esi); } - -CALL0V(thread_exit, thread_exit_sc); -CALL0V(schedule, schedule_sc); -CALL1V(thread_sleep, thread_sleep_sc); -CALL1V(process_exit, process_exit_sc); -CALL1(monitor_write, printk_sc); -CALL1V(idt_waitIrq, irq_wait_sc); -CALL0(proc_priv, proc_priv_sc); -CALL1(process_sbrk, proc_sbrk_sc); -CALL1V(process_brk, proc_brk_sc); - -static void thread_new_sc(struct registers* r) { - cli(); - thread_new(current_thread->process, (thread_entry)r->ebx, (void*)r->ecx, (void*)r->edx); - sti(); -} - -int_callback syscalls[NUMBER_OF_SYSCALLS] = { - thread_exit_sc, //0 - schedule_sc, - thread_sleep_sc, - process_exit_sc, - printk_sc, - thread_new_sc, //5 - irq_wait_sc, - proc_priv_sc, - proc_sbrk_sc, - proc_brk_sc, - 0 }; -- cgit v1.2.3