aboutsummaryrefslogtreecommitdiff
path: root/kernel/features/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/features/syscall.c')
-rw-r--r--kernel/features/syscall.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/kernel/features/syscall.c b/kernel/features/syscall.c
index 1e21edd..abd7130 100644
--- a/kernel/features/syscall.c
+++ b/kernel/features/syscall.c
@@ -53,15 +53,10 @@ static void syscall_handler(struct regs *r)
r->eax = vfs_write((char *)r->ebx, (void *)r->ecx, r->edx, r->esi);
break;
}
- case SYS_IOCTL: {
- r->eax = vfs_ioctl((char *)r->ebx, r->ecx, (void *)r->edx, (void *)r->esi,
- (void *)r->edi);
- break;
- }
// I/O operations
case SYS_IOPOLL: {
- r->eax = io_poll((void *)r->ebx);
+ r->eax = io_poll((u32 *)r->ebx);
break;
}
case SYS_IOREAD: {
@@ -72,6 +67,10 @@ static void syscall_handler(struct regs *r)
r->eax = io_write(r->ebx, (void *)r->ecx, r->edx, r->esi);
break;
}
+ case SYS_IOCONTROL: {
+ r->eax = io_control(r->ebx, r->ecx, (void *)r->edx, (void *)r->esi, (void *)r->edi);
+ break;
+ }
// Process operations
case SYS_EXEC: {