Subversion Repositories Kolibri OS

Rev

Rev 390 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 390 Rev 421
Line 603... Line 603...
603
        pushad
603
        pushad
604
        mov     [irq14_func], hdd_irq_null
604
        mov     [irq14_func], hdd_irq_null
605
        mov     dx, [IDEContrRegsBaseAddr]
605
        mov     dx, [IDEContrRegsBaseAddr]
606
        mov     al, 0
606
        mov     al, 0
607
        out     dx, al
607
        out     dx, al
608
        call    update_counters
608
;        call    update_counters
609
        mov     ebx, [dma_process]
609
;        mov     ebx, [dma_process]
610
        cmp     [CURRENT_TASK], ebx
610
;        cmp     [CURRENT_TASK], ebx
611
        jz      .noswitch
611
;        jz      .noswitch
612
        mov     [dma_task_switched], 1
612
;        mov     [dma_task_switched], 1
613
        mov     edi, [dma_slot_ptr]
613
;        mov     edi, [dma_slot_ptr]
614
        mov     eax, [CURRENT_TASK]
614
;        mov     eax, [CURRENT_TASK]
615
        mov     [dma_process], eax
615
;        mov     [dma_process], eax
616
        mov     eax, [TASK_BASE]
616
;        mov     eax, [TASK_BASE]
617
        mov     [dma_slot_ptr], eax
617
;        mov     [dma_slot_ptr], eax
618
        mov     [CURRENT_TASK], ebx
618
;        mov     [CURRENT_TASK], ebx
619
        mov     [TASK_BASE], edi
619
;        mov     [TASK_BASE], edi
620
        mov     byte [DONT_SWITCH], 1
620
;        mov     byte [DONT_SWITCH], 1
621
        call    do_change_task
621
;        call    do_change_task
622
.noswitch:
622
.noswitch:
623
        popad
623
        popad
624
        popfd
624
        popfd
625
align 4
625
align 4
626
hdd_irq_null:
626
hdd_irq_null:
Line 634... Line 634...
634
        mov     [irq15_func], hdd_irq_null
634
        mov     [irq15_func], hdd_irq_null
635
        mov     dx, [IDEContrRegsBaseAddr]
635
        mov     dx, [IDEContrRegsBaseAddr]
636
        add     dx, 8
636
        add     dx, 8
637
        mov     al, 0
637
        mov     al, 0
638
        out     dx, al
638
        out     dx, al
639
        call    update_counters
639
;        call    update_counters
640
        mov     ebx, [dma_process]
640
;        mov     ebx, [dma_process]
641
        cmp     [CURRENT_TASK], ebx
641
;        cmp     [CURRENT_TASK], ebx
642
        jz      .noswitch
642
;        jz      .noswitch
643
        mov     [dma_task_switched], 1
643
;        mov     [dma_task_switched], 1
644
        mov     edi, [dma_slot_ptr]
644
;        mov     edi, [dma_slot_ptr]
645
        mov     eax, [CURRENT_TASK]
645
;        mov     eax, [CURRENT_TASK]
646
        mov     [dma_process], eax
646
;        mov     [dma_process], eax
647
        mov     eax, [TASK_BASE]
647
;        mov     eax, [TASK_BASE]
648
        mov     [dma_slot_ptr], eax
648
;        mov     [dma_slot_ptr], eax
649
        mov     [CURRENT_TASK], ebx
649
;        mov     [CURRENT_TASK], ebx
650
        mov     [TASK_BASE], edi
650
;        mov     [TASK_BASE], edi
651
        mov     byte [DONT_SWITCH], 1
651
;        mov     byte [DONT_SWITCH], 1
652
        call    do_change_task
652
;        call    do_change_task
653
.noswitch:
653
.noswitch:
654
        popad
654
        popad
655
        popfd
655
        popfd
656
        ret
656
        ret