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);