Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6338 → Rev 6339

/kernel/branches/Kolibri-acpi/core/taskman.inc
337,11 → 337,11
mov [process], eax
 
mov eax, [app_size]
add eax, 0x3FFFFF
shr eax, 22
add eax, 0x1FFFFF
shr eax, 21
mov [app_tabs], eax
 
stdcall kernel_alloc, 0x2000
stdcall kernel_alloc, 0x3000
test eax, eax
jz .fail
mov [process], eax
371,20 → 371,15
mov eax, edi
call get_pg_addr
mov [edi-4096+PROC.pdt_0_phys], eax
lea eax, [edi+4096]
call get_pg_addr
mov [edi-4096+PROC.pdt_1_phys], eax
 
mov ecx, (OS_BASE shr 20)/4
mov ecx, 2048
xor eax, eax
rep stosd
 
mov ecx, (OS_BASE shr 20)/4
mov esi, sys_proc+PROC.pdt_0+(OS_BASE shr 20)
rep movsd
 
mov eax, [edi-8192+PROC.pdt_0_phys]
or eax, PG_SWR
mov [edi-4096+(page_tabs shr 20)], eax
 
lea edx, [edi-4096]
lea edx, [edi-8192]
mov esi, [app_tabs]
 
.alloc_page_dir:
393,6 → 388,7
jz .fail
or eax, PG_UWR
mov [edx], eax
mov [edx+4], dword 0
 
mov edi, [tmp_task_ptab]
stdcall map_page, edi, eax, PG_SWR
400,7 → 396,7
xor eax, eax
rep stosd
 
add edx, 4
add edx, 8
dec esi
jnz .alloc_page_dir
 
430,7 → 426,7
push esi
 
mov esi, [pg_tab]
mov ecx, 1024
mov ecx, 512
.free:
mov eax, [esi]
test eax, 1
441,7 → 437,7
jnz .next ;skip shared pages
call free_page
.next:
add esi, 4
add esi, 8
dec ecx
jnz .free
pop esi
467,7 → 463,7
 
mov esi, [esp]
add esi, PROC.pdt_0
mov edi, (0x80000000 shr 20)/4
mov edi, 1024
.destroy:
mov eax, [esi]
test eax, 1
478,7 → 474,7
mov eax, [esi]
call free_page
.next:
add esi, 4
add esi, 8
dec edi
jnz .destroy
 
808,7 → 804,7
shr ecx, 12 ; image pages
 
mov edi, page_tabs
shr esi, 10
shr esi, 9
add esi, edi
 
.map_image:
816,6 → 812,7
and eax, -4096
or eax, PG_UWR
stosd
movsd
dec edx
loop .map_image
 
828,6 → 825,8
 
or eax, PG_UWR
stosd
xor eax, eax
stosd
dec edx
jnz .map_bss
 
867,7 → 866,41
add esi, ecx
jmp .check_cmdline
 
.copy_full_path:
mov esi, [current_slot]
mov esi, [esi+APPDATA.cur_dir]
mov ebx, 1023
mov al, '/'
stosb
 
.copy_path:
dec ebx
jz .finish_path
lodsb
stosb
test al, al
jnz .copy_path
mov byte [edi-1], '/'
 
cmp ecx, ebx
jbe @F
mov ecx, ebx
@@:
lea esi, [ebp+sizeof.APP_HDR]
xor eax, eax
rep movsb
stosb
jmp .check_cmdline
 
.finish_path:
xor eax, eax
stosb
jmp .check_cmdline
 
.copy_filename:
cmp byte [esi], '/'
jne .copy_full_path
 
rep movsb
stosb
 
914,8 → 947,8
mov fs, dx
 
.cleanup:
stdcall free_kernel_space, [ebp+APP_HDR.img_base]
stdcall kernel_free, ebp
; stdcall free_kernel_space, [ebp+APP_HDR.img_base]
; stdcall kernel_free, ebp
.exit:
popad
iretd