Subversion Repositories Kolibri OS

Rev

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