Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 356 → Rev 357

/kernel/trunk/core/taskman.inc
168,7 → 168,8
mov eax,[app_mem]
mov [ebx+APPDATA.mem_size],eax
 
if not GREEDY_KERNEL
if GREEDY_KERNEL
else
mov ecx, [app_mem]
mov edi, [file_size]
add edi, 4095
301,7 → 302,6
ret
endp
 
 
align 4
proc create_app_space stdcall, app_size:dword,img_base:dword,img_size:dword
locals
449,7 → 449,7
.fail:
dec [pg_data.pg_mutex]
cmp [dir_addr], 0
jz @f
je @f
stdcall destroy_app_space, [dir_addr]
@@:
xor eax, eax
968,35 → 968,27
proc set_app_params stdcall,slot:dword, params:dword,\
cmd_line:dword, app_path:dword, flags:dword
 
mov edi, [slot]
mov esi, [fpu_data]
bt [cpu_caps], CAPS_SSE
jnc .no_SSE
locals
pl0_stack dd ?
endl
 
shl edi, 8
mov eax, edi
lea edi, [esi+edi*2]
stdcall kernel_alloc, 0x2000
mov [pl0_stack], eax
 
lea edi, [eax+0x2000-512]
 
mov eax, [slot]
mov ebx, eax
 
shl eax, 8
mov [eax+PROC_BASE+APPDATA.fpu_state], edi
mov [eax+PROC_BASE+APPDATA.fpu_handler], 0
mov [eax+PROC_BASE+APPDATA.sse_handler], 0
 
mov esi, fpu_data
mov ecx, 512/4
jmp @F
.no_SSE:
mov eax, edi
shl eax, 8
mov ebx, edi
shl edi, 7
shl ebx, 4
sub edi, ebx ;edi*=112
add edi, esi
mov [eax+PROC_BASE+APPDATA.fpu_state], edi
mov [eax+PROC_BASE+APPDATA.fpu_handler], 0
mov [eax+PROC_BASE+APPDATA.sse_handler], 0
mov ecx, 112/4
@@:
rep movsd
 
mov ebx,[slot]
cmp ebx,[TASK_COUNT]
jle .noinc
inc dword [TASK_COUNT] ;update number of processes
1012,6 → 1004,8
 
mov ecx, [def_cursor]
mov [PROC_BASE+APPDATA.cursor+ebx],ecx
mov eax, [pl0_stack]
mov [PROC_BASE+APPDATA.pl0_stack+ebx],eax
 
shr ebx,3
mov eax, new_app_base
1105,9 → 1099,8
mov [edi+TSS._gs],graph_data ;selector of graphic segment
mov [edi+TSS._io],word 128
mov [edi+TSS._ss0], os_data
mov ebx,[slot]
shl ebx,12
add ebx,sysint_stack_data+4096
mov ebx, [pl0_stack]
add ebx, 0x2000-512
mov [edi+TSS._esp0],ebx
 
mov ecx, edi ;ecx - address of application TSS