Rev 8985 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 8985 | Rev 8986 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 8876 $ |
8 | $Revision: 8986 $ |
9 | 9 | ||
Line 904... | Line 904... | ||
904 | popf |
904 | popf |
905 | stc |
905 | stc |
906 | ret |
906 | ret |
907 | endp |
907 | endp |
Line 908... | Line 908... | ||
908 | 908 | ||
909 | sys_IPC: |
909 | syscall_IPC: |
910 | ;input: |
910 | ;input: |
911 | ; ebx=1 - set ipc buffer area |
911 | ; ebx=1 - set ipc buffer area |
912 | ; ecx=address of buffer |
912 | ; ecx=address of buffer |
913 | ; edx=size of buffer |
913 | ; edx=size of buffer |
Line 1096... | Line 1096... | ||
1096 | .fail: |
1096 | .fail: |
1097 | or dword [esp+32], -1 |
1097 | or dword [esp+32], -1 |
1098 | ret |
1098 | ret |
Line 1099... | Line 1099... | ||
1099 | 1099 | ||
1100 | align 4 |
1100 | align 4 |
1101 | f68: |
1101 | syscall_some_intrenal_services: |
1102 | cmp ebx, 4 |
1102 | cmp ebx, 4 |
1103 | jbe sys_sheduler |
1103 | jbe sys_sheduler |
1104 | cmp ebx, 11 |
1104 | cmp ebx, 11 |
1105 | jb undefined_syscall |
1105 | jb syscall_undefined |
1106 | cmp ebx, 29 |
1106 | cmp ebx, 29 |
1107 | ja undefined_syscall |
1107 | ja syscall_undefined |
1108 | xor eax, eax |
1108 | xor eax, eax |
1109 | jmp dword [f68call+ebx*4-11*4] |
1109 | jmp dword [syscall_some_intrenal_servicescall+ebx*4-11*4] |
1110 | .11: |
1110 | .11: |
1111 | call init_heap |
1111 | call init_heap |
1112 | mov [esp+SYSCALL_STACK._eax], eax |
1112 | mov [esp+SYSCALL_STACK._eax], eax |
1113 | ret |
1113 | ret |
Line 1228... | Line 1228... | ||
1228 | .fail: |
1228 | .fail: |
1229 | mov [esp+SYSCALL_STACK._eax], eax |
1229 | mov [esp+SYSCALL_STACK._eax], eax |
1230 | ret |
1230 | ret |
Line 1231... | Line 1231... | ||
1231 | 1231 | ||
1232 | align 4 |
1232 | align 4 |
Line 1233... | Line 1233... | ||
1233 | f68call: ; keep this table closer to main code |
1233 | syscall_some_intrenal_servicescall: ; keep this table closer to main code |
1234 | 1234 | ||
1235 | dd f68.11 ; init_heap |
1235 | dd syscall_some_intrenal_services.11 ; init_heap |
1236 | dd f68.12 ; user_alloc |
1236 | dd syscall_some_intrenal_services.12 ; user_alloc |
1237 | dd f68.13 ; user_free |
1237 | dd syscall_some_intrenal_services.13 ; user_free |
1238 | dd f68.14 ; get_event_ex |
1238 | dd syscall_some_intrenal_services.14 ; get_event_ex |
1239 | dd f68.fail ; moved to f68.24 |
1239 | dd syscall_some_intrenal_services.fail ; moved to syscall_some_intrenal_services.24 |
1240 | dd f68.16 ; get_service |
1240 | dd syscall_some_intrenal_services.16 ; get_service |
1241 | dd f68.17 ; call_service |
1241 | dd syscall_some_intrenal_services.17 ; call_service |
1242 | dd f68.18 ; loadLibUnicode |
1242 | dd syscall_some_intrenal_services.18 ; loadLibUnicode |
1243 | dd f68.19 ; load_dll |
1243 | dd syscall_some_intrenal_services.19 ; load_dll |
1244 | dd f68.20 ; user_realloc |
1244 | dd syscall_some_intrenal_services.20 ; user_realloc |
1245 | dd f68.21 ; load_driver |
1245 | dd syscall_some_intrenal_services.21 ; load_driver |
1246 | dd f68.22 ; shmem_open |
1246 | dd syscall_some_intrenal_services.22 ; shmem_open |
1247 | dd f68.23 ; shmem_close |
1247 | dd syscall_some_intrenal_services.23 ; shmem_close |
1248 | dd f68.24 ; set exception handler |
1248 | dd syscall_some_intrenal_services.24 ; set exception handler |
1249 | dd f68.25 ; unmask exception |
1249 | dd syscall_some_intrenal_services.25 ; unmask exception |
1250 | dd f68.26 ; user_unmap |
1250 | dd syscall_some_intrenal_services.26 ; user_unmap |
1251 | dd f68.27 ; load_file_umode |
1251 | dd syscall_some_intrenal_services.27 ; load_file_umode |
Line 1252... | Line 1252... | ||
1252 | dd f68.28 ; loadFileUnicode |
1252 | dd syscall_some_intrenal_services.28 ; loadFileUnicode |
1253 | dd f68.29 ; user_ring |
1253 | dd syscall_some_intrenal_services.29 ; user_ring |
1254 | 1254 |