fixed bug in fs_lfn, enable DMA IDE

git-svn-id: svn://kolibrios.org@421 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge) 2007-03-20 04:33:41 +00:00
parent b1101aa868
commit 139ea3d0ee
3 changed files with 35 additions and 31 deletions

View File

@ -605,20 +605,20 @@ hdd_irq14:
mov dx, [IDEContrRegsBaseAddr]
mov al, 0
out dx, al
call update_counters
mov ebx, [dma_process]
cmp [CURRENT_TASK], ebx
jz .noswitch
mov [dma_task_switched], 1
mov edi, [dma_slot_ptr]
mov eax, [CURRENT_TASK]
mov [dma_process], eax
mov eax, [TASK_BASE]
mov [dma_slot_ptr], eax
mov [CURRENT_TASK], ebx
mov [TASK_BASE], edi
mov byte [DONT_SWITCH], 1
call do_change_task
; call update_counters
; mov ebx, [dma_process]
; cmp [CURRENT_TASK], ebx
; jz .noswitch
; mov [dma_task_switched], 1
; mov edi, [dma_slot_ptr]
; mov eax, [CURRENT_TASK]
; mov [dma_process], eax
; mov eax, [TASK_BASE]
; mov [dma_slot_ptr], eax
; mov [CURRENT_TASK], ebx
; mov [TASK_BASE], edi
; mov byte [DONT_SWITCH], 1
; call do_change_task
.noswitch:
popad
popfd
@ -636,20 +636,20 @@ hdd_irq15:
add dx, 8
mov al, 0
out dx, al
call update_counters
mov ebx, [dma_process]
cmp [CURRENT_TASK], ebx
jz .noswitch
mov [dma_task_switched], 1
mov edi, [dma_slot_ptr]
mov eax, [CURRENT_TASK]
mov [dma_process], eax
mov eax, [TASK_BASE]
mov [dma_slot_ptr], eax
mov [CURRENT_TASK], ebx
mov [TASK_BASE], edi
mov byte [DONT_SWITCH], 1
call do_change_task
; call update_counters
; mov ebx, [dma_process]
; cmp [CURRENT_TASK], ebx
; jz .noswitch
; mov [dma_task_switched], 1
; mov edi, [dma_slot_ptr]
; mov eax, [CURRENT_TASK]
; mov [dma_process], eax
; mov eax, [TASK_BASE]
; mov [dma_slot_ptr], eax
; mov [CURRENT_TASK], ebx
; mov [TASK_BASE], edi
; mov byte [DONT_SWITCH], 1
; call do_change_task
.noswitch:
popad
popfd

View File

@ -64,6 +64,9 @@ change_task:
pushad
call update_counters
if 0
; \begin{Mario79}
cmp [dma_task_switched], 1
jne .find_next_task
@ -77,6 +80,9 @@ change_task:
jmp @f
.find_next_task:
; \end{Mario79}
end if
call find_next_task
test eax, eax ; the same task -> skip switch
jnz .return
@ -214,8 +220,6 @@ do_change_task:
; inc [context_counter] ;noname & halyavin
;ret
align 4
updatecputimes:

View File

@ -747,7 +747,7 @@ first_app_found:
; mov [dma_hdd],1
cmp [IDEContrRegsBaseAddr], 0
; setnz [dma_hdd]
setnz [dma_hdd]
stdcall init_uart_service, DRV_ENTRY