forked from KolibriOS/kolibrios
Kernel now waits only 5 seconds in order to deliver message to debugger. Fixed hd reservation and release. Changes from diamond.
git-svn-id: svn://kolibrios.org@63 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
e9e0059192
commit
5db3c3adc1
@ -290,6 +290,8 @@ debugger_notify:
|
||||
; interrupts remain disabled
|
||||
mov ebp, eax
|
||||
shl eax, 8
|
||||
mov edi, [timer_ticks]
|
||||
add edi, 500 ; 5 sec timeout
|
||||
.1:
|
||||
mov edx, [0x80000+eax+0xBC]
|
||||
test edx, edx
|
||||
@ -313,6 +315,8 @@ debugger_notify:
|
||||
pop ecx
|
||||
pop ecx
|
||||
pop ecx
|
||||
cmp [timer_ticks], edi
|
||||
jae .ret
|
||||
sti
|
||||
call change_task
|
||||
cli
|
||||
|
@ -1671,6 +1671,7 @@ file_read:
|
||||
jnz fat_ok_for_reading
|
||||
xor ebx,ebx
|
||||
mov eax,ERROR_UNKNOWN_FS
|
||||
mov [hd1_status], ebx
|
||||
ret
|
||||
|
||||
fat_ok_for_reading:
|
||||
|
@ -523,8 +523,6 @@ choice_necessity_partition_1:
|
||||
jne fs_noharddisk
|
||||
|
||||
fs_yesharddisk:
|
||||
call reserve_hd1
|
||||
|
||||
cmp dword [esp+20],8 ; LBA read
|
||||
jne fs_no_LBA_read
|
||||
mov eax,[esp+16] ; LBA block to read
|
||||
@ -537,6 +535,7 @@ choice_necessity_partition_1:
|
||||
|
||||
cmp byte [edi+1+11],0 ; directory read
|
||||
je fs_give_dir1
|
||||
call reserve_hd1
|
||||
fs_for_new_semantic:
|
||||
call choice_necessity_partition
|
||||
|
||||
@ -547,9 +546,13 @@ choice_necessity_partition_1:
|
||||
neg eax
|
||||
@@: mov ebx, [esp+24+24]
|
||||
cmp [hdpos],0 ; is hd base set?
|
||||
jz file_system_return ; no
|
||||
jz hd_err_return
|
||||
cmp [fat32part],0 ; is partition set?
|
||||
jz file_system_return ; no
|
||||
jnz @f
|
||||
hd_err_return:
|
||||
and [hd1_status], 0
|
||||
jmp file_system_return
|
||||
@@:
|
||||
|
||||
cmp dword [esp+20],0 ; READ
|
||||
jne fs_noharddisk_read
|
||||
@ -899,7 +902,7 @@ LBA_read:
|
||||
|
||||
lbarl1:
|
||||
|
||||
; call reserve_hd1
|
||||
call reserve_hd1
|
||||
|
||||
push eax
|
||||
push ecx
|
||||
|
Loading…
Reference in New Issue
Block a user