Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 417 → Rev 418

/kernel/branches/flat_kernel/core/memory.inc
448,8 → 448,13
and eax, 0xFFFFF000
ret
 
 
align 4
proc page_fault_handler
 
.err_code equ ebp+32
.err_addr equ ebp-4
 
pushad
 
push eax
472,7 → 477,7
 
inc [pg_data.pages_faults]
 
mov ebx, [ebp-4]
mov ebx, [.err_addr]
 
cmp ebx, 0x80000000
jae .kernel_space
/kernel/branches/flat_kernel/core/taskman.inc
147,9 → 147,6
cmp eax, 0
jne .wait_lock
 
; pushfd
; cli
 
call set_application_table_status
 
call get_new_process_place
389,20 → 386,20
stdcall map_page,[tmp_task_pdir],eax,dword PG_SW
 
mov edi, [tmp_task_pdir]
mov ecx, (page_tabs shr 20)/4
mov ecx, (OS_BASE shr 20)/4
xor eax, eax
cld
rep stosd
 
mov eax, [dir_addr]
or eax, PG_SW
stosd
 
mov ecx, (OS_BASE shr 20)/4
mov esi, sys_pgdir+(OS_BASE shr 20)
mov ecx, (OS_BASE shr 20)/4
cld
rep movsd
 
mov eax, [dir_addr]
or eax, PG_SW
mov [edi-4096+(page_tabs shr 20)], eax
 
and eax, -4096
call set_cr3
 
mov edx, [app_tabs]
551,7 → 548,7
and eax, not 0xFFF
stdcall map_page,[tmp_task_pdir],eax,dword PG_SW
mov esi, [tmp_task_pdir]
mov edi, (page_tabs shr 20)/4
mov edi, (OS_BASE shr 20)/4
.destroy:
mov eax, [esi]
test eax, 1
942,10 → 939,10
pl0_stack dd ?
endl
 
stdcall kernel_alloc, 0x2000
stdcall kernel_alloc, RING0_STACK_SIZE+512
mov [pl0_stack], eax
 
lea edi, [eax+0x2000-512]
lea edi, [eax+RING0_STACK_SIZE]
 
mov eax, [slot]
mov ebx, eax
1070,7 → 1067,7
mov [edi+TSS._io],word 128
mov [edi+TSS._ss0], os_data
mov ebx, [pl0_stack]
add ebx, 0x2000-512
add ebx, RING0_STACK_SIZE
mov [edi+TSS._esp0],ebx
 
mov ecx, edi ;ecx - address of application TSS