forked from KolibriOS/kolibrios
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:
parent
b1101aa868
commit
139ea3d0ee
@ -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
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user