feat: basic elf32 loader (only LOAD segment is supported)
[lunaix-os.git] / lunaix-os / kernel / asm / x86 / syscall.S
index b8d021973cbec4eda95d8daf7c78d6c53a86ad36..bde7f36d9d79b6a0f2e59736be6fd5e4ad191fdc 100644 (file)
@@ -30,7 +30,7 @@
         .long __lxsys_close         /* 20 */
         .long __lxsys_read
         .long __lxsys_write
-        .long __lxsys_readdir
+        .long __lxsys_sys_readdir
         .long __lxsys_mkdir
         .long __lxsys_lseek         /* 25 */
         .long __lxsys_geterrno
         .long __lxsys_setxattr      /* 45 */
         .long __lxsys_fgetxattr
         .long __lxsys_fsetxattr
+        .long __lxsys_ioctl
+        .long __lxsys_getpgid
+        .long __lxsys_setpgid       /* 50 */
+        .long __lxsys_syslog
+        .long __lxsys_sys_mmap
+        .long __lxsys_munmap
+        .long __lxsys_execve
         2:
         .rept __SYSCALL_MAX - (2b - 1b)/4
             .long 0
@@ -80,8 +87,7 @@
         popl  %ebp
         ret
     1:
-        pushl 24(%ebp)      /* esi - #6 arg */
-        pushl 20(%ebp)      /* ebp - #5 arg */
+        pushl 24(%ebp)      /* esi - #5 arg */
         pushl 16(%ebp)      /* edi - #4 arg */
         pushl 12(%ebp)      /* edx - #3 arg */
         pushl 8(%ebp)       /* ecx - #2 arg */
@@ -91,7 +97,7 @@
 
         movl %eax, (%ebp)    /* save the return value */
 
-        addl $24, %esp      /* remove the parameters from stack */
+        addl $20, %esp      /* remove the parameters from stack */
 
         popl %ebp