summaryrefslogtreecommitdiff
path: root/src/kernel/arch/i386/sysenter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/arch/i386/sysenter.c')
-rw-r--r--src/kernel/arch/i386/sysenter.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/kernel/arch/i386/sysenter.c b/src/kernel/arch/i386/sysenter.c
index 6419439..a0d4f73 100644
--- a/src/kernel/arch/i386/sysenter.c
+++ b/src/kernel/arch/i386/sysenter.c
@@ -1,5 +1,6 @@
#include <kernel/arch/generic.h>
#include <kernel/proc.h>
+#include <shared/syscalls.h>
struct registers _sysexit_regs; // a hack
@@ -21,8 +22,8 @@ _Noreturn void sysenter_stage2(void) {
regs->esp = (userptr_t) regs->ecx; // fix them up
regs->eip = (userptr_t) regs->edx;
- val = syscall_handler(regs->eax, regs->ebx,
- regs->esi, regs->edi, (uintptr_t)regs->ebp);
+ val = _syscall(regs->eax, regs->ebx,
+ regs->esi, regs->edi, (uintptr_t)regs->ebp);
regs_savereturn(&process_current->regs, val);
process_switch(process_current); // TODO process_resume