small update copyright year in kernel

git-svn-id: svn://kolibrios.org@9715 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Doczom
2022-02-12 17:27:41 +00:00
parent 3920d392b0
commit 182f6ade61
61 changed files with 1686 additions and 1734 deletions

View File

@@ -1,6 +1,6 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License. ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -127,8 +127,8 @@ proc fs_execute
jz .err_0
mov [slot], eax
shl eax, 8
lea edi, [SLOT_BASE+eax]
shl eax, BSF sizeof.APPDATA
lea edi, [SLOT_BASE + eax]
mov [slot_base], edi
; clean extended information about process
mov ecx, sizeof.APPDATA/4
@@ -169,26 +169,26 @@ proc fs_execute
jz .err_hdr
; add new process to the list
mov ebx, [sys_proc+LHEAD.prev]
mov ebx, [sys_proc + LHEAD.prev]
__list_add eax, ebx, sys_proc
; fill the structure fields:
mov ebx, [hdr_emem]
mov [eax+PROC.mem_used], ebx
mov [eax + PROC.mem_used], ebx
; write that main thread of app belongs to new process
mov ebx, [slot_base]
mov [ebx+APPDATA.process], eax
mov [ebx + APPDATA.process], eax
; initialize the thread list of process: at this moment it consists only of one main thread
lea edx, [ebx+APPDATA.list]
lea ecx, [eax+PROC.thr_list]
lea edx, [ebx + APPDATA.list]
lea ecx, [eax + PROC.thr_list]
list_add_tail edx, ecx
; allocate space and copy app header data locals and cmdline string there, put pointer to exec_params of new thread
mov eax, [cmdline_size]
add eax, sizeof.APP_HDR
stdcall kernel_alloc, eax
mov [ebx+APPDATA.exec_params], eax
mov [ebx + APPDATA.exec_params], eax
mov edi, eax
lea esi, [hdr_cmdline]
mov ecx, sizeof.APP_HDR/4
@@ -231,17 +231,17 @@ test_app_header:
jne .check_01_header
mov ecx, [APP_HEADER_00.start]
mov [ebx+APP_HDR.eip], ecx
mov [ebx + APP_HDR.eip], ecx
mov edx, [APP_HEADER_00.mem_size]
mov [ebx+APP_HDR._emem], edx
mov [ebx + APP_HDR._emem], edx
shr edx, 1
sub edx, 0x10
mov [ebx+APP_HDR.esp], edx
mov [ebx + APP_HDR.esp], edx
mov ecx, [APP_HEADER_00.i_param]
mov [ebx+APP_HDR.cmdline], ecx
mov [ebx+APP_HDR.path], 0
mov [ebx + APP_HDR.cmdline], ecx
mov [ebx + APP_HDR.path], 0
mov edx, [APP_HEADER_00.i_end]
mov [ebx+APP_HDR._edata], edx
mov [ebx + APP_HDR._edata], edx
ret
.check_01_header:
@@ -252,7 +252,7 @@ test_app_header:
jne .fail
@@:
mov ecx, [APP_HEADER_01.start]
mov [ebx+0x08], ecx
mov [ebx + 0x08], ecx
mov edx, [APP_HEADER_01.mem_size]
; \begin{diamond}[20.08.2006]
@@ -262,15 +262,15 @@ test_app_header:
jb .fail
; \end{diamond}[20.08.2006]
mov [ebx+APP_HDR._emem], edx
mov [ebx + APP_HDR._emem], edx
mov ecx, [APP_HEADER_01.stack_top]
mov [ebx+APP_HDR.esp], ecx
mov [ebx + APP_HDR.esp], ecx
mov edx, [APP_HEADER_01.i_param]
mov [ebx+APP_HDR.cmdline], edx
mov [ebx + APP_HDR.cmdline], edx
mov ecx, [APP_HEADER_01.i_icon]
mov [ebx+APP_HDR.path], ecx
mov [ebx + APP_HDR.path], ecx
mov edx, [APP_HEADER_01.i_end]
mov [ebx+APP_HDR._edata], edx
mov [ebx + APP_HDR._edata], edx
ret
.fail:
xor eax, eax
@@ -294,7 +294,7 @@ alloc_thread_slot:
bsf eax, [edx]
jnz .found
add edx, 4
cmp edx, thr_slot_map+32
cmp edx, thr_slot_map + 32
jb .l1
popfd
@@ -303,7 +303,7 @@ alloc_thread_slot:
.found:
btr [edx], eax
sub edx, thr_slot_map
lea eax, [eax+edx*8]
lea eax, [eax + edx*8]
popfd
ret
@@ -331,8 +331,8 @@ proc create_process stdcall, app_size:dword
jz .fail
mov [process], eax
lea edi, [eax+PROC.heap_lock]
mov ecx, (PROC.ht_free-PROC.heap_lock)/4
lea edi, [eax + PROC.heap_lock]
mov ecx, (PROC.ht_free - PROC.heap_lock)/4
list_init eax
add eax, PROC.thr_list
@@ -355,19 +355,19 @@ proc create_process stdcall, app_size:dword
mov eax, edi
call get_pg_addr
mov [edi-4096+PROC.pdt_0_phys], eax
mov [edi - 4096 + PROC.pdt_0_phys], eax
mov ecx, (OS_BASE shr 20)/4
xor eax, eax
rep stosd
mov ecx, (OS_BASE shr 20)/4
mov esi, sys_proc+PROC.pdt_0+(OS_BASE shr 20)
mov esi, sys_proc + PROC.pdt_0 + (OS_BASE shr 20)
rep movsd
mov eax, [edi-8192+PROC.pdt_0_phys]
mov eax, [edi - 8192 + PROC.pdt_0_phys]
or eax, PG_SWR
mov [edi-4096+(page_tabs shr 20)], eax
mov [edi - 4096 + (page_tabs shr 20)], eax
lea edx, [edi-4096]
mov esi, [app_tabs]
@@ -447,7 +447,7 @@ align 4
mov esi, ecx
list_del esi
mov esi, [esi+PROC.dlls_list_ptr]
mov esi, [esi + PROC.dlls_list_ptr]
call destroy_all_hdlls
mov esi, [esp]
@@ -475,7 +475,7 @@ align 4
align 4
get_pid:
mov eax, [current_slot]
mov eax, [eax+APPDATA.tid]
mov eax, [eax + APPDATA.tid]
ret
pid_to_slot:
@@ -488,10 +488,7 @@ pid_to_slot:
push ecx
mov ebx, [thread_count]
shl ebx, BSF sizeof.APPDATA ; multiply by size
; add 2*32 cause:
; [TASK_TABLE; TASK_TABLE + 32) isnt a task actually
; skip first process in the task table
;mov ecx, 2*32 ;sizeof.TASKDATA
mov ecx, sizeof.APPDATA
.loop:
@@ -499,7 +496,7 @@ pid_to_slot:
;ebx = maximum permitted offset
cmp [SLOT_BASE + ecx + APPDATA.state], TSTATE_FREE
jz .endloop ;skip empty slots
cmp [ecx + SLOT_BASE + APPDATA.tid], eax;check PID
cmp [SLOT_BASE + ecx + APPDATA.tid], eax
jz .pid_found
.endloop:
add ecx, sizeof.APPDATA
@@ -698,7 +695,7 @@ proc new_sys_threads
mov ebx, esi ;ebx=esi - pointer to extended information about current thread
mov edi, eax
shl edi, 8
shl edi, BSF sizeof.APPDATA
add edi, SLOT_BASE
mov edx, edi ;edx=edi - pointer to extended infomation about new thread
mov ecx, sizeof.APPDATA/4
@@ -711,7 +708,7 @@ proc new_sys_threads
rep movsb ;copy process name
mov eax, [ebx+APPDATA.tls_base]
mov eax, [ebx + APPDATA.tls_base]
test eax, eax
jz @F
@@ -721,13 +718,13 @@ proc new_sys_threads
test eax, eax
jz .failed1;eax=0
@@:
mov [edx+APPDATA.tls_base], eax
mov [edx + APPDATA.tls_base], eax
mov eax, [ebx+APPDATA.process]
mov [edx+APPDATA.process], eax
mov eax, [ebx + APPDATA.process]
mov [edx + APPDATA.process], eax
lea ebx, [edx+APPDATA.list]
lea ecx, [eax+PROC.thr_list]
lea ebx, [edx + APPDATA.list]
lea ecx, [eax + PROC.thr_list]
list_add_tail ebx, ecx ;add thread to process child's list
lea eax, [app_cmdline]
@@ -796,16 +793,16 @@ endp
align 4
common_app_entry:
mov ebp, [current_slot]
mov ebp, [ebp+APPDATA.exec_params]
mov ebp, [ebp + APPDATA.exec_params]
test ebp, ebp
jz .exit
; APPDATA.exec_params have first thread only,
; so second and next threads don't get here (they jump to .exit)
stdcall map_process_image, [ebp+APP_HDR._emem],\
[ebp+APP_HDR.img_base], [ebp+APP_HDR.img_size]
mov esi, [ebp+APP_HDR.path_string]
mov edi, [ebp+APP_HDR.path]
mov ecx, [ebp+APP_HDR.filename_size]
stdcall map_process_image, [ebp + APP_HDR._emem],\
[ebp + APP_HDR.img_base], [ebp + APP_HDR.img_size]
mov esi, [ebp + APP_HDR.path_string]
mov edi, [ebp + APP_HDR.path]
mov ecx, [ebp + APP_HDR.filename_size]
cmp ecx, 1023
jc @f
mov ecx, 1022
@@ -813,7 +810,7 @@ common_app_entry:
push esi
test edi, edi
jz @f
stdcall is_region_userspace, edi, [ebp+APP_HDR.filename_size]
stdcall is_region_userspace, edi, [ebp + APP_HDR.filename_size]
jnz @f
mov al, '/'
stosb
@@ -821,14 +818,14 @@ common_app_entry:
mov byte [edi], 0
@@:
call kernel_free
mov edi, [ebp+APP_HDR.cmdline]
mov edi, [ebp + APP_HDR.cmdline]
test edi, edi
jz .check_tls_header
lea esi, [ebp+sizeof.APP_HDR]
mov ecx, [ebp+APP_HDR.cmdline_size]
lea esi, [ebp + sizeof.APP_HDR]
mov ecx, [ebp + APP_HDR.cmdline_size]
cmp ecx, 256
jb .copy_cmdline
mov edi, [ebp+APP_HDR._emem]
mov edi, [ebp + APP_HDR._emem]
add edi, 4095
and edi, -4096
sub edi, ecx
@@ -852,7 +849,7 @@ common_app_entry:
call init_heap
stdcall user_alloc, 4096
mov edx, [current_slot]
mov [edx+APPDATA.tls_base], eax
mov [edx + APPDATA.tls_base], eax
mov [tls_data_l+2], ax
shr eax, 16
mov [tls_data_l+4], al
@@ -862,7 +859,7 @@ common_app_entry:
; { Patch by Coldy, For DLL autoload
.try_load_dll:
; Test app header version
mov ecx, dword[ebp+APP_HDR.img_base]
mov ecx, dword[ebp + APP_HDR.img_base]
cmp dword[ecx+8], 2
jne .cleanup
;if APP_HEADER.version = 2 => load lib/dll.obj & change eip to APP_STARTUP_THUNK
@@ -887,7 +884,7 @@ common_app_entry:
;.change_eip:
mov ecx, [current_slot]
mov ecx, [ecx+APPDATA.pl0_stack]
mov ecx, [ecx + APPDATA.pl0_stack]
mov [ecx+REG_EIP], eax
; } End patch by Coldy, For DLL autoload
@@ -895,9 +892,9 @@ common_app_entry:
stdcall free_kernel_space, [ebp+APP_HDR.img_base]
stdcall kernel_free, ebp
mov ebx, [current_slot]
cmp [ebx+APPDATA.debugger_slot], 0
cmp [ebx + APPDATA.debugger_slot], 0
je .exit
mov [ebx+APPDATA.state], TSTATE_RUN_SUSPENDED
mov [ebx + APPDATA.state], TSTATE_RUN_SUSPENDED
mov [ebx + APPDATA.state], TSTATE_RUN_SUSPENDED
call change_task
.exit:
@@ -927,16 +924,16 @@ proc set_app_params stdcall,slot:dword, params:dword, flags:dword
mov ebx, eax
shl eax, BSF sizeof.APPDATA
mov [eax+SLOT_BASE+APPDATA.fpu_state], edi
mov [eax+SLOT_BASE+APPDATA.exc_handler], 0
mov [eax+SLOT_BASE+APPDATA.except_mask], 0
mov [eax+SLOT_BASE+APPDATA.terminate_protection], 80000001h
mov [SLOT_BASE + eax + APPDATA.fpu_state], edi
mov [SLOT_BASE + eax + APPDATA.exc_handler], 0
mov [SLOT_BASE + eax + APPDATA.except_mask], 0
mov [SLOT_BASE + eax + APPDATA.terminate_protection], 80000001h
;set default io permission map
mov ecx, [SLOT_BASE+sizeof.APPDATA+APPDATA.io_map]
mov [eax+SLOT_BASE+APPDATA.io_map], ecx
mov ecx, [SLOT_BASE+sizeof.APPDATA+APPDATA.io_map+4]
mov [eax+SLOT_BASE+APPDATA.io_map+4], ecx
mov ecx, [SLOT_BASE + sizeof.APPDATA + APPDATA.io_map]
mov [SLOT_BASE + eax + APPDATA.io_map], ecx
mov ecx, [SLOT_BASE + sizeof.APPDATA + APPDATA.io_map + 4]
mov [SLOT_BASE + eax + APPDATA.io_map + 4], ecx
mov esi, fpu_data
mov ecx, [xsave_area_size]
@@ -947,45 +944,45 @@ proc set_app_params stdcall,slot:dword, params:dword, flags:dword
cmp [thread_count], ebx
adc [thread_count], 0 ; update number of processes
shl ebx, BSF sizeof.APPDATA
lea edx, [ebx+SLOT_BASE+APP_EV_OFFSET]
mov [SLOT_BASE+APPDATA.fd_ev+ebx], edx
mov [SLOT_BASE+APPDATA.bk_ev+ebx], edx
lea edx, [SLOT_BASE + ebx + APP_EV_OFFSET]
mov [SLOT_BASE + ebx + APPDATA.fd_ev], edx
mov [SLOT_BASE + ebx + APPDATA.bk_ev], edx
add edx, APP_OBJ_OFFSET-APP_EV_OFFSET
mov [SLOT_BASE+APPDATA.fd_obj+ebx], edx
mov [SLOT_BASE+APPDATA.bk_obj+ebx], edx
add edx, APP_OBJ_OFFSET - APP_EV_OFFSET
mov [SLOT_BASE + ebx + APPDATA.fd_obj], edx
mov [SLOT_BASE + ebx + APPDATA.bk_obj], edx
mov ecx, [def_cursor]
mov [SLOT_BASE+APPDATA.cursor+ebx], ecx
mov [SLOT_BASE + ebx + APPDATA.cursor], ecx
mov eax, [pl0_stack]
mov [SLOT_BASE+APPDATA.pl0_stack+ebx], eax
mov [SLOT_BASE + ebx + APPDATA.pl0_stack], eax
add eax, RING0_STACK_SIZE
mov [SLOT_BASE+APPDATA.saved_esp0+ebx], eax
mov [SLOT_BASE + ebx + APPDATA.saved_esp0], eax
push ebx
stdcall kernel_alloc, maxPathLength
pop ebx
mov esi, [current_slot]
mov esi, [esi+APPDATA.cur_dir]
mov esi, [esi + APPDATA.cur_dir]
mov ecx, maxPathLength/4
mov edi, eax
mov [ebx+SLOT_BASE+APPDATA.cur_dir], eax
mov [SLOT_BASE + ebx + APPDATA.cur_dir], eax
rep movsd
mov [ebx+SLOT_BASE+APPDATA.event_mask], dword 1+2+4;set default event flags (see 40 function)
mov [SLOT_BASE + ebx + APPDATA.event_mask], dword 1+2+4;set default event flags (see 40 function)
inc dword [process_number]
mov eax, [process_number]
mov [ebx+SLOT_BASE+APPDATA.tid], eax ;set TID
mov [SLOT_BASE + ebx + APPDATA.tid], eax ;set TID
mov eax, [slot]
mov [ebx+SLOT_BASE+APPDATA.wnd_number], al
mov [SLOT_BASE + ebx + APPDATA.wnd_number], al
mov ebx, eax
shl ebx, BSF sizeof.WDATA
lea ecx, [draw_data+ebx];ecx - pointer to draw data
lea ecx, [draw_data + ebx];ecx - pointer to draw data
; set window state to 'normal' (non-minimized/maximized/rolled-up) state
mov [ebx+window_data+WDATA.fl_wstate], WSTATE_NORMAL
mov [ebx+window_data+WDATA.fl_redraw], 1
mov [window_data + ebx + WDATA.fl_wstate], WSTATE_NORMAL
mov [window_data + ebx + WDATA.fl_redraw], 1
;set draw data to full screen
xor eax, eax
@@ -998,50 +995,50 @@ proc set_app_params stdcall,slot:dword, params:dword, flags:dword
mov ebx, [pl0_stack]
mov esi, [params]
lea ecx, [ebx+REG_EIP]
lea ecx, [ebx + REG_EIP]
xor eax, eax
mov [ebx+REG_RET], dword common_app_entry
mov [ebx+REG_EDI], eax
mov [ebx+REG_ESI], eax
mov [ebx+REG_EBP], eax
mov [ebx+REG_ESP], ecx;ebx+REG_EIP
mov [ebx+REG_EBX], eax
mov [ebx+REG_EDX], eax
mov [ebx+REG_ECX], eax
mov [ebx+REG_EAX], eax
mov [ebx + REG_RET], dword common_app_entry
mov [ebx + REG_EDI], eax
mov [ebx + REG_ESI], eax
mov [ebx + REG_EBP], eax
mov [ebx + REG_ESP], ecx;ebx+REG_EIP
mov [ebx + REG_EBX], eax
mov [ebx + REG_EDX], eax
mov [ebx + REG_ECX], eax
mov [ebx + REG_EAX], eax
mov eax, [esi+APP_HDR.eip]
mov [ebx+REG_EIP], eax
mov [ebx+REG_CS], dword app_code
mov eax, [esi + APP_HDR.eip]
mov [ebx + REG_EIP], eax
mov [ebx + REG_CS], dword app_code
mov ecx, USER_PRIORITY
test byte [flags], 2
jz @F
mov [ebx+REG_CS], dword os_code ; kernel thread
mov [ebx + REG_CS], dword os_code ; kernel thread
mov ecx, MAX_PRIORITY
@@:
mov [ebx+REG_EFLAGS], dword EFL_IOPL1+EFL_IF
mov [ebx + REG_EFLAGS], dword EFL_IOPL1+EFL_IF
mov eax, [esi+APP_HDR.esp]
mov [ebx+REG_APP_ESP], eax
mov [ebx+REG_SS], dword app_data
mov eax, [esi + APP_HDR.esp]
mov [ebx + REG_APP_ESP], eax
mov [ebx + REG_SS], dword app_data
lea edx, [ebx+REG_RET]
lea edx, [ebx + REG_RET]
mov ebx, [slot]
shl ebx, BSF sizeof.APPDATA
mov [ebx+SLOT_BASE+APPDATA.saved_esp], edx
mov [SLOT_BASE + ebx + APPDATA.saved_esp], edx
xor edx, edx; process state - running
; set if debuggee
test byte [flags], 1
jz .no_debug
mov eax, [current_slot_idx]
mov [SLOT_BASE+ebx+APPDATA.debugger_slot], eax
mov [SLOT_BASE + ebx + APPDATA.debugger_slot], eax
.no_debug:
mov [SLOT_BASE + ebx + APPDATA.state], dl
lea edx, [SLOT_BASE+ebx]
lea edx, [SLOT_BASE + ebx]
call scheduler_add_thread
ret
endp
@@ -1049,7 +1046,7 @@ endp
align 4
get_stack_base:
mov eax, [current_slot]
mov eax, [eax+APPDATA.pl0_stack]
mov eax, [eax + APPDATA.pl0_stack]
ret