diff --git a/src/sys/kernel/sys_call.S b/src/sys/kernel/sys_call.S index bfe27a1..1f38773 100644 --- a/src/sys/kernel/sys_call.S +++ b/src/sys/kernel/sys_call.S @@ -27,7 +27,7 @@ *****************************************************************************************/ -.globl _sysCall +.globl _sysCall,invalidCall .text .code32 _sysCall: @@ -36,7 +36,7 @@ pushl %edx pushl %ecx pushl %ebx - call *systemCalls(,%eax,4) + call *systemCalls(,%eax,4) jmp done invalidSysCall: call invalidCall @@ -44,10 +44,20 @@ popl %ebx popl %ecx popl %edx - iret + iret + +invalidCall: + mov $drive,%eax + push %eax + call kpanic +drive: + .ascii "Invalid System Call\n\0" /*** $Log$ + Revision 1.1 2004/07/21 20:36:55 reddawg + New syscall interface + END ***/ diff --git a/src/sys/kernel/syscall.c b/src/sys/kernel/syscall.c index 11ed88c..a0e0869 100644 --- a/src/sys/kernel/syscall.c +++ b/src/sys/kernel/syscall.c @@ -64,10 +64,6 @@ " iret \n" ); -void invalidCall() { - kprintf("Invalid Sys Call!\n"); - } - void sysGetpid(int *pid) { *pid = _current->id; return; @@ -192,6 +188,9 @@ /*** $Log$ + Revision 1.20 2004/07/21 20:36:55 reddawg + New syscall interface + Revision 1.18 2004/07/21 20:22:55 reddawg fixed check pid status