Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 8138 → Rev 8139

/kernel/trunk/kernel.asm
556,7 → 556,6
mov eax, [hpet_base]
test eax, eax
jz @F
mov eax, [hpet_base]
stdcall map_io_mem, [hpet_base], 1024, PG_GLOBAL+PAT_UC+PG_SWR
mov [hpet_base], eax
mov eax, [eax+HPET_ID]
3931,9 → 3930,33
;-----------------------------------------------------------------------------
align 4
delay_ms: ; delay in 1/1000 sec
push eax
pushad
 
cmp [hpet_base], 0
jz .no_hpet
mov eax, esi
mov edx, 10_000_000 ; cs to ns
mul edx
mov ebx, edx
mov ecx, eax
 
push ecx
call get_clock_ns
pop ecx
mov edi, edx
mov esi, eax
.wait:
push ecx
call get_clock_ns
pop ecx
sub eax, esi
sbb edx, edi
sub eax, ecx
sbb edx, ebx
jc .wait
jmp .done
 
.no_hpet:
mov ecx, esi
; <CPU clock fix by Sergey Kuzmin aka Wildwest>
imul ecx, 33941
3944,19 → 3967,18
and al, 0x10
mov ah, al
cld
;--------------------------------------
align 4
cnt1:
 
.cnt1:
in al, 0x61
and al, 0x10
cmp al, ah
jz cnt1
jz .cnt1
 
mov ah, al
loop cnt1
loop .cnt1
 
pop ecx
pop eax
.done:
popad
ret
;-----------------------------------------------------------------------------
align 4