diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/userprog/syscall.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/userprog/syscall.c b/src/userprog/syscall.c index 370c89b..e15555e 100644 --- a/src/userprog/syscall.c +++ b/src/userprog/syscall.c @@ -15,6 +15,15 @@ syscall_init (void) static void syscall_handler (struct intr_frame *f UNUSED) { - printf ("system call!\n"); + int syscall_number = *((int *)f->esp); + switch (syscall_number) { + case 9: + // printf + printf ("printf: %s", *((char **)(f->esp+8))); + break; + default: + printf ("kernel: unknown syscall '%d'\n", syscall_number); + break; + } thread_exit (); } |
