Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 9830 → Rev 9831

/kernel/trunk/const.inc
363,15 → 363,15
BLIT_CLIENT_RELATIVE = 0x20000000
 
struct SYSCALL_STACK
_eip dd ?
_edi dd ? ; +4
_esi dd ? ; +8
_ebp dd ? ; +12
_esp dd ? ; +16
_ebx dd ? ; +20
_edx dd ? ; +24
_ecx dd ? ; +28
_eax dd ? ; +32
eip dd ? ; +0
edi dd ? ; +4
esi dd ? ; +8
ebp dd ? ; +12
esp dd ? ; +16
ebx dd ? ; +20
edx dd ? ; +24
ecx dd ? ; +28
eax dd ? ; +32
ends
 
struct LHEAD
/kernel/trunk/core/memory.inc
1109,15 → 1109,15
jmp dword [f68call + ebx*4-11*4]
.11:
call init_heap
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.12:
stdcall user_alloc, ecx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.13:
stdcall user_free, ecx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.14:
cmp ecx, OS_BASE
1124,7 → 1124,7
jae .fail
mov edi, ecx
call get_event_ex
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.16:
test ecx, ecx
1132,11 → 1132,11
cmp ecx, OS_BASE
jae .fail
stdcall get_service, ecx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.17:
call srv_handlerEx ;ecx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.18:
mov eax, edx
1144,13 → 1144,13
stdcall is_string_userspace, ecx
jnz .fail
stdcall load_library, ecx, eax
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.20:
mov eax, edx
mov ebx, ecx
call user_realloc ;in: eax = pointer, ebx = new size
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.21:
cmp ecx, OS_BASE
1158,27 → 1158,27
cmp edx, OS_BASE
jae .fail
stdcall load_pe_driver, ecx, edx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.22:
cmp ecx, OS_BASE
jae .fail
stdcall shmem_open, ecx, edx, esi
mov [esp + SYSCALL_STACK._edx], edx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.edx], edx
mov [esp + SYSCALL_STACK.eax], eax
ret
.23:
cmp ecx, OS_BASE
jae .fail
stdcall shmem_close, ecx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.24:
mov eax, [current_slot]
xchg ecx, [eax + APPDATA.exc_handler]
xchg edx, [eax + APPDATA.except_mask]
mov [esp + SYSCALL_STACK._ebx], edx
mov [esp + SYSCALL_STACK._eax], ecx
mov [esp + SYSCALL_STACK.ebx], edx
mov [esp + SYSCALL_STACK.eax], ecx
ret
.25:
cmp ecx, 32
1185,7 → 1185,7
jae .fail
mov eax, [current_slot]
btr [eax + APPDATA.except_mask], ecx
setc byte[esp + SYSCALL_STACK._eax]
setc byte[esp + SYSCALL_STACK.eax]
jecxz @f
bts [eax + APPDATA.except_mask], ecx
@@:
1192,14 → 1192,14
ret
.26:
stdcall user_unmap, ecx, edx, esi
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.27:
cmp ecx, OS_BASE
jae .fail
stdcall load_file_umode, ecx
mov [esp + SYSCALL_STACK._edx], edx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.edx], edx
mov [esp + SYSCALL_STACK.eax], eax
ret
.28:
cmp ecx, OS_BASE
1214,15 → 1214,15
test eax, eax
jz @f
stdcall load_file_umode, ebp
mov [esp + SYSCALL_STACK._edx], edx
mov [esp + SYSCALL_STACK.edx], edx
@@:
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
stdcall kernel_free, ebp
ret
 
.29:
stdcall user_ring, ecx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
; unload driver
1261,7 → 1261,7
stdcall free, ecx
;dec [count_services]
 
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.31: ; get list service
test ecx, ecx
1271,9 → 1271,9
 
mov ebx, [srv.fd]
mov ecx, [srv.bk]
mov [esp + SYSCALL_STACK._ebx], ebx ;fd
mov [esp + SYSCALL_STACK._ecx], ecx ;bk
mov [esp + SYSCALL_STACK._eax], 0
mov [esp + SYSCALL_STACK.ebx], ebx ;fd
mov [esp + SYSCALL_STACK.ecx], ecx ;bk
mov [esp + SYSCALL_STACK.eax], 0
ret
@@:
dec ecx
1304,7 → 1304,7
 
xor eax, eax
.fail:
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
align 4
/kernel/trunk/core/sys32.inc
388,7 → 388,7
@@:
stdcall new_mem_resize, ecx
.store_result:
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
.no_application_mem_resize:
ret
 
/kernel/trunk/gui/mouse.inc
718,7 → 718,7
mov eax, [MOUSE_X]
shl eax, 16
mov ax, [MOUSE_Y]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
@@:
ret
 
737,17 → 737,17
rol eax, 16
sub ax, word[edi + APPDATA.wnd_clientbox.left]
rol eax, 16
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.msbutton:
movzx eax, byte [BTN_DOWN]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.msbuttonExt:
mov eax, [BTN_DOWN]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.app_load_cursor:
754,7 → 754,7
cmp ecx, OS_BASE
jae @f
stdcall load_cursor, ecx, edx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
@@:
ret
 
771,7 → 771,7
test eax, eax
jz @f
stdcall load_cursor, ebp, LOAD_FROM_FILE
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
@@:
stdcall kernel_free, ebp
ret
778,12 → 778,12
 
.app_set_cursor:
stdcall set_cursor, ecx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.app_delete_cursor:
stdcall delete_cursor, ecx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.msz:
794,10 → 794,10
mov ax, [MOUSE_SCROLL_H]
shl eax, 16
mov ax, [MOUSE_SCROLL_V]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
and [MOUSE_SCROLL_H], word 0
and [MOUSE_SCROLL_V], word 0
ret
@@:
and [esp + SYSCALL_STACK._eax], dword 0
ret
and [esp + SYSCALL_STACK.eax], dword 0
ret
/kernel/trunk/kernel.asm
1584,7 → 1584,7
; 11 = enable lba read
; 12 = enable pci access
;-----------------------------------------------------------------------------
and [esp + SYSCALL_STACK._eax], dword 0
and [esp + SYSCALL_STACK.eax], dword 0
; F.21.1 - set MPU MIDI base port
dec ebx
jnz @f
1671,7 → 1671,7
ret
;--------------------------------------
.error:
or [esp + SYSCALL_STACK._eax], dword -1
or [esp + SYSCALL_STACK.eax], dword -1
ret
;-----------------------------------------------------------------------------
align 4
1694,7 → 1694,7
jnz @f
 
movzx eax, [midi_base]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;--------------------------------------
@@:
1741,11 → 1741,11
jnz .error
 
movzx eax, word [keyboard]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.addr_error: ; if given memory address is illegal
or dword [esp + SYSCALL_STACK._eax], -1
or dword [esp + SYSCALL_STACK.eax], -1
ret
;--------------------------------------
@@:
1754,7 → 1754,7
jnz @f
 
mov eax, [syslang]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;--------------------------------------
@@:
1763,7 → 1763,7
jnz @f
 
mov eax, [timer_ticks]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;--------------------------------------
@@:
1772,8 → 1772,8
jnz @f
 
call get_clock_ns
mov [esp + SYSCALL_STACK._edx], edx
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.edx], edx
mov [esp + SYSCALL_STACK.eax], eax
ret
;--------------------------------------
@@:
1782,7 → 1782,7
jnz @f
 
mov eax, [lba_read_enabled]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;--------------------------------------
@@:
1791,11 → 1791,11
jnz .error
 
mov eax, [pci_access_enabled]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;--------------------------------------
.error:
or [esp + SYSCALL_STACK._eax], dword -1
or [esp + SYSCALL_STACK.eax], dword -1
ret
;-----------------------------------------------------------------------------
get_timer_ticks:
2006,7 → 2006,7
mov [SYS_SHUTDOWN], al
mov [shutdown_processes], eax
call wakeup_osloop
and dword [esp + SYSCALL_STACK._eax], 0
and dword [esp + SYSCALL_STACK.eax], 0
exit_for_anyone:
ret
uglobal
2093,11 → 2093,11
call sysfn_terminate
call unlock_application_table
sti
and dword [esp + SYSCALL_STACK._eax], 0
and dword [esp + SYSCALL_STACK.eax], 0
ret
.not_found:
call unlock_application_table
or dword [esp + SYSCALL_STACK._eax], -1
or dword [esp + SYSCALL_STACK.eax], -1
ret
;------------------------------------------------------------------------------
sysfn_deactivate: ; 18.1 = DEACTIVATE WINDOW
2216,7 → 2216,7
.fail:
xor eax, eax
.exit:
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
;------------------------------------------------------------------------------
2223,12 → 2223,12
sysfn_getidletime: ; 18.4 = GET IDLETIME
;mov eax, [TASK_TABLE+32+TASKDATA.cpu_usage]
mov eax, [SLOT_BASE + APPDATA.cpu_usage]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;------------------------------------------------------------------------------
sysfn_getcpuclock: ; 18.5 = GET TSC/SEC
mov eax, dword [cpu_freq]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;------------------------------------------------------------------------------
get_cpu_freq:
2244,7 → 2244,7
sysfn_getactive: ; 18.7 = get active window
mov eax, [thread_count]
movzx eax, word [WIN_POS + eax*2]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;------------------------------------------------------------------------------
sysfn_sound_flag: ; 18.8 = get/set sound_flag
2252,7 → 2252,7
dec ecx
jnz nogetsoundflag
movzx eax, byte [sound_flag]; get sound_flag
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
nogetsoundflag:
; cmp ecx,2
2293,7 → 2293,7
rep movsb
ret
.addr_error: ; if given memory address is illegal
mov dword [esp + SYSCALL_STACK._eax], -1
mov dword [esp + SYSCALL_STACK.eax], -1
ret
;------------------------------------------------------------------------------
sysfn_waitretrace: ; 18.14 = sys wait retrace
2304,7 → 2304,7
in al, dx
test al, 1000b
jz WaitRetrace_loop
and [esp + SYSCALL_STACK._eax], dword 0
and [esp + SYSCALL_STACK.eax], dword 0
ret
;------------------------------------------------------------------------------
align 4
2317,7 → 2317,7
mov [MOUSE_Y], ax
call wakeup_osloop
xor eax, eax
and [esp + SYSCALL_STACK._eax], eax
and [esp + SYSCALL_STACK.eax], eax
ret
;------------------------------------------------------------------------------
sysfn_mouse_acceleration: ; 18.19 = set/get mouse features
2327,7 → 2327,7
.get_mouse_acceleration:
xor eax, eax
mov ax, [mouse_speed_factor]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.set_mouse_acceleration:
mov [mouse_speed_factor], dx
2335,7 → 2335,7
.get_mouse_delay:
xor eax, eax
mov al, [mouse_delay]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.set_mouse_delay:
mov [mouse_delay], dl
2357,7 → 2357,7
.get_doubleclick_delay:
xor eax, eax
mov al, [mouse_doubleclick_delay]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.set_doubleclick_delay:
mov [mouse_doubleclick_delay], dl
2376,19 → 2376,19
sysfn_getfreemem:
mov eax, [pg_data.pages_free]
shl eax, 2
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;------------------------------------------------------------------------------
sysfn_getallmem:
mov eax, [MEM_AMOUNT]
shr eax, 10
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;------------------------------------------------------------------------------
sysfn_pid_to_slot:
mov eax, ecx
call pid_to_slot
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;------------------------------------------------------------------------------
sysfn_min_rest_window:
2413,18 → 2413,18
.exit:
popad
xor eax, eax
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.error:
popad
xor eax, eax
dec eax
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;------------------------------------------------------------------------------
sysfn_min_windows:
call minimize_all_window
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
call change_task
ret
;------------------------------------------------------------------------------
2487,10 → 2487,10
cmp ebx, 2
ja .no_floppy_save
call save_image
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.no_floppy_save:
mov [esp + SYSCALL_STACK._eax], dword 1
mov [esp + SYSCALL_STACK.eax], dword 1
ret
;------------------------------------------------------------------------------
 
2524,7 → 2524,7
;--------------------------------------
align 4
.ret_eax:
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;--------------------------------------
align 4
2554,7 → 2554,7
align 4
sys_getbutton:
mov ebx, [current_slot_idx] ; TOP OF WINDOW STACK
mov [esp + SYSCALL_STACK._eax], dword 1
mov [esp + SYSCALL_STACK.eax], dword 1
movzx ecx, word [WIN_STACK + ebx * 2]
mov edx, [thread_count] ; less than 256 processes
cmp ecx, edx
2565,7 → 2565,7
mov eax, [BTN_BUFF]
and al, 0xFE ; delete left button bit
mov [BTN_COUNT], byte 0
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
;--------------------------------------
align 4
.exit:
2676,11 → 2676,11
; return number of processes
 
mov eax, [thread_count]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.addr_error: ; if given memory address is illegal
mov dword [esp + SYSCALL_STACK._eax], -1
mov dword [esp + SYSCALL_STACK.eax], -1
ret
 
 
2774,7 → 2774,7
;.shed_counter:
.00:
mov eax, [context_counter]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.02:
2804,8 → 2804,8
mov eax, esi
mov ecx, edx
rdmsr
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK._ebx], edx ;ret in ebx?
mov [esp + SYSCALL_STACK.eax], eax
mov [esp + SYSCALL_STACK.ebx], edx ;ret in ebx?
ret
 
.04:
2834,7 → 2834,7
 
cache_disable:
mov eax, cr0
or eax, 01100000000000000000000000000000b
or eax, 01100000_00000000_00000000_00000000b
mov cr0, eax
wbinvd ;set MESI
ret
2841,7 → 2841,7
 
cache_enable:
mov eax, cr0
and eax, 10011111111111111111111111111111b
and eax, 10011111_11111111_11111111_11111111b
mov cr0, eax
ret
 
2848,11 → 2848,11
is_cache_enabled:
mov eax, cr0
mov ebx, eax
and eax, 01100000000000000000000000000000b
and eax, 01100000_00000000_00000000_00000000b
jz cache_disabled
mov [esp + SYSCALL_STACK._eax], ebx
mov [esp + SYSCALL_STACK.eax], ebx
cache_disabled:
mov dword [esp + SYSCALL_STACK._eax], eax;0
mov dword [esp + SYSCALL_STACK.eax], eax;0
ret
 
modify_pce:
2862,7 → 2862,7
; xor eax,ebx ;invert pce
bts eax, 8;pce=cr4[8]
mov cr4, eax
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;---------------------------------------------------------------------------------------------
 
3377,7 → 3377,7
set_app_param:
mov edi, [current_slot]
xchg ebx, [edi + APPDATA.event_mask] ; set new event mask
mov [esp + SYSCALL_STACK._eax], ebx ; return old mask value
mov [esp + SYSCALL_STACK.eax], ebx ; return old mask value
ret
;-----------------------------------------------------------------------------
 
3511,7 → 3511,7
syscall_reserveportarea: ; ReservePortArea and FreePortArea
 
call r_f_port_area
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
;reserve/free group of ports
4227,7 → 4227,7
ret
 
@@:
mov [esp + SYSCALL_STACK._eax], ecx
mov [esp + SYSCALL_STACK.eax], ecx
mov [esp+20], ecx
jmp .ret
 
4242,7 → 4242,7
movzx edx, byte [ebx]
call memmove
dec [msg_board_count]
mov [esp + SYSCALL_STACK._eax], edx ;eax
mov [esp + SYSCALL_STACK.eax], edx ;eax
mov [esp + 20], dword 1
ret
 
4273,7 → 4273,7
jmp dword [f66call + ebx*4]
 
.not_support:
or [esp + SYSCALL_STACK._eax], -1
or [esp + SYSCALL_STACK.eax], -1
ret
;-----------------------------------------------------------------------------
align 4
4284,13 → 4284,13
align 4
.2: ; 2 = get keyboard mode
movzx eax, byte [edi + APPDATA.keyboard_mode]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;-----------------------------------------------------------------------------
align 4
.3: ;3 = get keyboard ctrl, alt, shift
mov eax, [kb_state]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;-----------------------------------------------------------------------------
align 4
4303,7 → 4303,7
add eax, 16
cmp eax, hotkey_list+16*256
jb @b
mov dword [esp + SYSCALL_STACK._eax], 1
mov dword [esp + SYSCALL_STACK.eax], 1
ret
.found_free:
mov [eax + 8], edi
4318,7 → 4318,7
jz @f
mov [edx + 12], eax
@@:
and dword [esp + SYSCALL_STACK._eax], 0
and dword [esp + SYSCALL_STACK.eax], 0
ret
;-----------------------------------------------------------------------------
align 4
4338,7 → 4338,7
mov eax, [eax]
jmp .scan
.notfound:
mov dword [esp + SYSCALL_STACK._eax], 1
mov dword [esp + SYSCALL_STACK.eax], 1
ret
.found:
mov ecx, [eax]
4354,7 → 4354,7
mov [eax + 8], edx
mov [eax + 12], edx
mov [eax], edx
mov [esp + SYSCALL_STACK._eax], edx
mov [esp + SYSCALL_STACK.eax], edx
ret
;-----------------------------------------------------------------------------
align 4
4415,7 → 4415,7
ja .not_support
jmp dword [f61call + ebx*4]
.not_support:
or [esp + SYSCALL_STACK._eax], dword -1
or [esp + SYSCALL_STACK.eax], dword -1
ret
 
 
4423,15 → 4423,15
mov eax, [_display.width]
shl eax, 16
mov ax, word [_display.height]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.2: ; bits per pixel
mov eax, [_display.bits_per_pixel]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.3: ; bytes per scanline
mov eax, [_display.lfb_pitch]
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
align 4
4441,7 → 4441,7
shl eax, 16
mov ax, word [_display.height]
dec ax
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;-----------------------------------------------------------------------------
align 4
4531,7 → 4531,7
;--------------------------------------
align 4
.store:
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
;-----------------------------------------------------------------------------
align 4
4544,7 → 4544,7
xchg eax, ebx
and ecx, 0xFBFFFFFF ;negate 0x04000000 use mouseunder area
call dword [GETPIXEL]; eax - x, ebx - y
mov [esp + SYSCALL_STACK._eax], ecx
mov [esp + SYSCALL_STACK.eax], ecx
ret
;-----------------------------------------------------------------------------
align 4
4630,7 → 4630,7
xor ebx, ebx
call new_sys_threads
 
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
;------------------------------------------------------------------------------
4788,7 → 4788,7
 
align 4
undefined_syscall: ; Undefined system call
mov [esp + SYSCALL_STACK._eax], dword -1
mov [esp + SYSCALL_STACK.eax], dword -1
ret
 
align 4
/kernel/trunk/posix/futex.inc
81,7 → 81,7
.cmp_requeue:
.wait_bitset:
.wake_bitset:
mov [esp + SYSCALL_STACK._eax], -1
mov [esp + SYSCALL_STACK.eax], -1
ret
 
align 4
91,7 → 91,7
jz @F
mov eax, [eax + FUTEX.handle]
@@:
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
align 4
101,7 → 101,7
.destroy:
mov ecx, ebp
call destroy_futex
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
align 4
118,7 → 118,7
lock cmpxchg [ecx], edx
je .wait_slow
 
mov [esp + SYSCALL_STACK._eax], -2
mov [esp + SYSCALL_STACK.eax], -2
ret
 
.wait_slow:
143,7 → 143,7
add esp, sizeof.MUTEX_WAITER
 
popfd
mov [esp + SYSCALL_STACK._eax], 0
mov [esp + SYSCALL_STACK.eax], 0
ret
 
align 4
159,7 → 159,7
lock cmpxchg [ecx], edx ;wait until old_value == new_value
je .wait_slow_timeout
 
mov [esp + SYSCALL_STACK._eax], -2
mov [esp + SYSCALL_STACK.eax], -2
ret
 
align 4
200,7 → 200,7
add esp, sizeof.MUTEX_WAITER
 
popfd
mov [esp + SYSCALL_STACK._eax], 0
mov [esp + SYSCALL_STACK.eax], 0
ret
 
.timeout:
208,7 → 208,7
add esp, sizeof.MUTEX_WAITER
 
popfd
mov [esp + SYSCALL_STACK._eax], -1
mov [esp + SYSCALL_STACK.eax], -1
ret
 
 
239,6 → 239,6
jb .again_wake
.done:
popfd
mov [esp + SYSCALL_STACK._eax], ecx
mov [esp + SYSCALL_STACK.eax], ecx
ret
 
/kernel/trunk/posix/pipe.inc
115,7 → 115,7
add esp, 5*4
pop ebp
xor eax, eax
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
.err_3:
mov eax, ebp
132,7 → 132,7
.fail:
mov eax, ebp
pop ebp
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
purge .pipeflags
169,7 → 169,7
.read:
mov esi, [ebp + PIPE.buffer]
add esi, [ebp + PIPE.read_end]
mov [esp + SYSCALL_STACK._eax], ecx
mov [esp + SYSCALL_STACK.eax], ecx
sub [ebp + PIPE.count], ecx
cld
rep movsb
223,7 → 223,7
jmp .again
 
.eof:
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
lea ecx, [ebp + PIPE.pipe_lock]
call mutex_unlock
ret
297,7 → 297,7
jnz .again
 
pop eax ; written
mov [esp + SYSCALL_STACK._eax], eax
mov [esp + SYSCALL_STACK.eax], eax
ret
 
.wait:
330,10 → 330,10
call mutex_unlock
 
add esp, 4
mov [esp + SYSCALL_STACK._eax], -EPIPE
mov [esp + SYSCALL_STACK.eax], -EPIPE
ret
 
align 4
pipe_close:
mov [esp + SYSCALL_STACK._eax], -EBADF
mov [esp + SYSCALL_STACK.eax], -EBADF
ret
/kernel/trunk/posix/posix.inc
64,7 → 64,7
jmp dword [sys_posix_call + ebx*4]
 
.fail:
mov [esp + SYSCALL_STACK._eax], -EBADF
mov [esp + SYSCALL_STACK.eax], -EBADF
ret
 
 
95,7 → 95,7
mov eax, [ebp]
jmp dword [eax + FILEOP_READ*4]
.fail:
mov [esp + SYSCALL_STACK._eax], -EBADF
mov [esp + SYSCALL_STACK.eax], -EBADF
ret
 
;ssize_t write(int fd, const void *buf, size_t count);
124,6 → 124,6
mov eax, [ebp]
jmp dword [eax + FILEOP_WRITE*4]
.fail:
mov [esp + SYSCALL_STACK._eax], -EBADF
mov [esp + SYSCALL_STACK.eax], -EBADF
ret