forked from KolibriOS/kolibrios
kernel: use undefined_syscall for undefined fn's in f68 family
git-svn-id: svn://kolibrios.org@6599 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
67be24f81c
commit
18d0ffcc1c
@ -1103,30 +1103,30 @@ f68:
|
|||||||
jbe sys_sheduler
|
jbe sys_sheduler
|
||||||
|
|
||||||
cmp ebx, 11
|
cmp ebx, 11
|
||||||
jb .fail
|
jb undefined_syscall
|
||||||
|
|
||||||
cmp ebx, 27
|
cmp ebx, 27
|
||||||
ja .fail
|
ja undefined_syscall
|
||||||
|
|
||||||
jmp dword [f68call+ebx*4-11*4]
|
jmp dword [f68call+ebx*4-11*4]
|
||||||
.11:
|
.11:
|
||||||
call init_heap
|
call init_heap
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.12:
|
.12:
|
||||||
stdcall user_alloc, ecx
|
stdcall user_alloc, ecx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.13:
|
.13:
|
||||||
stdcall user_free, ecx
|
stdcall user_free, ecx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.14:
|
.14:
|
||||||
cmp ecx, OS_BASE
|
cmp ecx, OS_BASE
|
||||||
jae .fail
|
jae .fail
|
||||||
mov edi, ecx
|
mov edi, ecx
|
||||||
call get_event_ex
|
call get_event_ex
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.16:
|
.16:
|
||||||
test ecx, ecx
|
test ecx, ecx
|
||||||
@ -1134,23 +1134,23 @@ f68:
|
|||||||
cmp ecx, OS_BASE
|
cmp ecx, OS_BASE
|
||||||
jae .fail
|
jae .fail
|
||||||
stdcall get_service, ecx
|
stdcall get_service, ecx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.17:
|
.17:
|
||||||
call srv_handlerEx ;ecx
|
call srv_handlerEx ;ecx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.19:
|
.19:
|
||||||
cmp ecx, OS_BASE
|
cmp ecx, OS_BASE
|
||||||
jae .fail
|
jae .fail
|
||||||
stdcall load_library, ecx
|
stdcall load_library, ecx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.20:
|
.20:
|
||||||
mov eax, edx
|
mov eax, edx
|
||||||
mov ebx, ecx
|
mov ebx, ecx
|
||||||
call user_realloc ;in: eax = pointer, ebx = new size
|
call user_realloc ;in: eax = pointer, ebx = new size
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.21:
|
.21:
|
||||||
cmp ecx, OS_BASE
|
cmp ecx, OS_BASE
|
||||||
@ -1160,15 +1160,15 @@ f68:
|
|||||||
jae .fail
|
jae .fail
|
||||||
|
|
||||||
stdcall load_pe_driver, ecx, edx
|
stdcall load_pe_driver, ecx, edx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.22:
|
.22:
|
||||||
cmp ecx, OS_BASE
|
cmp ecx, OS_BASE
|
||||||
jae .fail
|
jae .fail
|
||||||
|
|
||||||
stdcall shmem_open, ecx, edx, esi
|
stdcall shmem_open, ecx, edx, esi
|
||||||
mov [esp+24], edx
|
mov [esp+SYSCALL_STACK._edx], edx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.23:
|
.23:
|
||||||
@ -1176,21 +1176,21 @@ f68:
|
|||||||
jae .fail
|
jae .fail
|
||||||
|
|
||||||
stdcall shmem_close, ecx
|
stdcall shmem_close, ecx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
.24:
|
.24:
|
||||||
mov eax, [current_slot]
|
mov eax, [current_slot]
|
||||||
xchg ecx, [eax+APPDATA.exc_handler]
|
xchg ecx, [eax+APPDATA.exc_handler]
|
||||||
xchg edx, [eax+APPDATA.except_mask]
|
xchg edx, [eax+APPDATA.except_mask]
|
||||||
mov [esp+32], ecx ; reg_eax+8
|
mov [esp+SYSCALL_STACK._ebx], edx
|
||||||
mov [esp+20], edx ; reg_ebx+8
|
mov [esp+SYSCALL_STACK._eax], ecx
|
||||||
ret
|
ret
|
||||||
.25:
|
.25:
|
||||||
cmp ecx, 32
|
cmp ecx, 32
|
||||||
jae .fail
|
jae .fail
|
||||||
mov eax, [current_slot]
|
mov eax, [current_slot]
|
||||||
btr [eax+APPDATA.except_mask], ecx
|
btr [eax+APPDATA.except_mask], ecx
|
||||||
setc byte[esp+32]
|
setc byte[esp+SYSCALL_STACK._eax]
|
||||||
jecxz @f
|
jecxz @f
|
||||||
bts [eax+APPDATA.except_mask], ecx
|
bts [eax+APPDATA.except_mask], ecx
|
||||||
@@:
|
@@:
|
||||||
@ -1198,7 +1198,7 @@ f68:
|
|||||||
|
|
||||||
.26:
|
.26:
|
||||||
stdcall user_unmap, ecx, edx, esi
|
stdcall user_unmap, ecx, edx, esi
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.27:
|
.27:
|
||||||
@ -1206,13 +1206,13 @@ f68:
|
|||||||
jae .fail
|
jae .fail
|
||||||
|
|
||||||
stdcall load_file_umode, ecx
|
stdcall load_file_umode, ecx
|
||||||
mov [esp+24], edx
|
mov [esp+SYSCALL_STACK._edx], edx
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
.fail:
|
.fail:
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
mov [esp+32], eax
|
mov [esp+SYSCALL_STACK._eax], eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user