kern
diff src/syscall.c @ 52:fa65b4f45366
picking this up again, let's fix it
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Sun, 07 Aug 2011 06:42:00 +0300 |
parents | b1e8c8251884 |
children | 4eaecb14fe31 |
line diff
1.1 --- a/src/syscall.c Mon Aug 01 06:45:29 2011 +0300 1.2 +++ b/src/syscall.c Sun Aug 07 06:42:00 2011 +0300 1.3 @@ -7,7 +7,7 @@ 1.4 1.5 static int (*sys_func[NUM_SYSCALLS])(); 1.6 1.7 -static void syscall(int inum, struct intr_frame *frm); 1.8 +static void syscall(int inum); 1.9 1.10 static int sys_exit(int status); 1.11 static int sys_hello(void); 1.12 @@ -22,9 +22,13 @@ 1.13 interrupt(SYSCALL_INT, syscall); 1.14 } 1.15 1.16 -static void syscall(int inum, struct intr_frame *frm) 1.17 +static void syscall(int inum) 1.18 { 1.19 - int idx = frm->regs.eax; 1.20 + struct intr_frame *frm; 1.21 + int idx; 1.22 + 1.23 + frm = get_intr_frame(); 1.24 + idx = frm->regs.eax; 1.25 1.26 if(idx < 0 || idx >= NUM_SYSCALLS) { 1.27 printf("invalid syscall: %d\n", idx);