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
|
; interrupts remain disabled
|
||||||
mov ebp, eax
|
mov ebp, eax
|
||||||
shl eax, 8
|
shl eax, 8
|
||||||
|
mov edi, [timer_ticks]
|
||||||
|
add edi, 500 ; 5 sec timeout
|
||||||
.1:
|
.1:
|
||||||
mov edx, [0x80000+eax+0xBC]
|
mov edx, [0x80000+eax+0xBC]
|
||||||
test edx, edx
|
test edx, edx
|
||||||
@ -313,6 +315,8 @@ debugger_notify:
|
|||||||
pop ecx
|
pop ecx
|
||||||
pop ecx
|
pop ecx
|
||||||
pop ecx
|
pop ecx
|
||||||
|
cmp [timer_ticks], edi
|
||||||
|
jae .ret
|
||||||
sti
|
sti
|
||||||
call change_task
|
call change_task
|
||||||
cli
|
cli
|
||||||
|
@ -1671,6 +1671,7 @@ file_read:
|
|||||||
jnz fat_ok_for_reading
|
jnz fat_ok_for_reading
|
||||||
xor ebx,ebx
|
xor ebx,ebx
|
||||||
mov eax,ERROR_UNKNOWN_FS
|
mov eax,ERROR_UNKNOWN_FS
|
||||||
|
mov [hd1_status], ebx
|
||||||
ret
|
ret
|
||||||
|
|
||||||
fat_ok_for_reading:
|
fat_ok_for_reading:
|
||||||
|
@ -523,8 +523,6 @@ choice_necessity_partition_1:
|
|||||||
jne fs_noharddisk
|
jne fs_noharddisk
|
||||||
|
|
||||||
fs_yesharddisk:
|
fs_yesharddisk:
|
||||||
call reserve_hd1
|
|
||||||
|
|
||||||
cmp dword [esp+20],8 ; LBA read
|
cmp dword [esp+20],8 ; LBA read
|
||||||
jne fs_no_LBA_read
|
jne fs_no_LBA_read
|
||||||
mov eax,[esp+16] ; LBA block to 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
|
cmp byte [edi+1+11],0 ; directory read
|
||||||
je fs_give_dir1
|
je fs_give_dir1
|
||||||
|
call reserve_hd1
|
||||||
fs_for_new_semantic:
|
fs_for_new_semantic:
|
||||||
call choice_necessity_partition
|
call choice_necessity_partition
|
||||||
|
|
||||||
@ -547,9 +546,13 @@ choice_necessity_partition_1:
|
|||||||
neg eax
|
neg eax
|
||||||
@@: mov ebx, [esp+24+24]
|
@@: mov ebx, [esp+24+24]
|
||||||
cmp [hdpos],0 ; is hd base set?
|
cmp [hdpos],0 ; is hd base set?
|
||||||
jz file_system_return ; no
|
jz hd_err_return
|
||||||
cmp [fat32part],0 ; is partition set?
|
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
|
cmp dword [esp+20],0 ; READ
|
||||||
jne fs_noharddisk_read
|
jne fs_noharddisk_read
|
||||||
@ -899,7 +902,7 @@ LBA_read:
|
|||||||
|
|
||||||
lbarl1:
|
lbarl1:
|
||||||
|
|
||||||
; call reserve_hd1
|
call reserve_hd1
|
||||||
|
|
||||||
push eax
|
push eax
|
||||||
push ecx
|
push ecx
|
||||||
|
Loading…
Reference in New Issue
Block a user