Merge branch 'interrupt-rework' into prog-loader
[lunaix-os.git] / lunaix-os / kernel / asm / x86 / syscall.S
index eb167836cdf3917455e94720a82c7c802b38a067..62e07212264d300aed2a80d7aaee2c0d0267d635 100644 (file)
@@ -61,6 +61,7 @@
         .long __lxsys_syslog
         .long __lxsys_sys_mmap
         .long __lxsys_munmap
         .long __lxsys_syslog
         .long __lxsys_sys_mmap
         .long __lxsys_munmap
+        .long __lxsys_execve
         2:
         .rept __SYSCALL_MAX - (2b - 1b)/4
             .long 0
         2:
         .rept __SYSCALL_MAX - (2b - 1b)/4
             .long 0
 .section .text
     syscall_hndlr:
         pushl %ebp
 .section .text
     syscall_hndlr:
         pushl %ebp
-        movl 8(%esp), %ebp
+        movl 8(%esp), %ebp          // isr_param*
 
 
-        movl  (%ebp), %eax          /* eax: call code as well as the return value from syscall */
-        cmpl  $__SYSCALL_MAX, %eax
+        addl $4, %ebp
+        movl (%ebp), %eax          /* eax: call code as well as the return value from syscall */
+        cmpl $__SYSCALL_MAX, %eax
         jae 2f
 
         shll $2, %eax
         jae 2f
 
         shll $2, %eax