Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 6338 → Rev 6339

/kernel/branches/Kolibri-acpi/core/dll.inc
594,7 → 594,7
jz .err_2
 
mov edx, [file_size] ;preallocate page memory
shr eax, 10
shr eax, 9
lea edi, [page_tabs+eax]
add edx, 4095
shr edx, 12
605,6 → 605,8
 
or eax, PG_UWR
stosd
xor eax, eax
stosd
dec edx
jnz @B
 
649,7 → 651,7
test eax, eax
jz .err_2
 
shr eax, 10 ; and remap pages.
shr eax, 9 ; and remap pages.
 
mov ecx, [file_size]
add ecx, 4095
656,7 → 658,7
shr ecx, 12
 
mov esi, [km_file]
shr esi, 10
shr esi, 9
add esi, page_tabs
 
lea edi, [page_tabs+eax]
667,6 → 669,8
and eax, 0xFFFFF000
or eax, PG_UWR
stosd
xor eax, eax
stosd
loop @B
 
stdcall free_kernel_space, [km_file] ; release allocated kernel space
1222,7 → 1226,7
mov [eax+HDLL.parent], esi
mov edx, ebx
shr edx, 12
or dword [page_tabs+(edx-1)*4], DONT_FREE_BLOCK
or dword [page_tabs+(edx-1)*8], DONT_FREE_BLOCK
; copy entries of page table from kernel-side image to usermode
; use copy-on-write for user-mode image, so map as readonly
xor edi, edi
1229,10 → 1233,10
mov ecx, [esi+DLLDESCR.data]
shr ecx, 12
.map_pages_loop:
mov eax, [page_tabs+ecx*4]
mov eax, [page_tabs+ecx*8]
and eax, not 0xFFF
or al, PG_UR
xchg eax, [page_tabs+edx*4]
xchg eax, [page_tabs+edx*8]
test al, 1
jz @f
call free_page