forked from KolibriOS/kolibrios
* Reverted previous revision because it was my mistake
* Fixed V86 IRQ handling broken in rev. 769 git-svn-id: svn://kolibrios.org@788 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
c4be8acc8c
commit
890388b50c
@ -53,7 +53,7 @@ iglobal
|
||||
dd except_16, e17,e18, except_19
|
||||
times 12 dd unknown_interrupt
|
||||
|
||||
dd irq0, irq_serv.irq_1, p_irq2
|
||||
dd irq0, irq_serv.irq_1, irq_serv.irq_2
|
||||
if USE_COM_IRQ
|
||||
dd irq_serv.irq_3, irq_serv.irq_4
|
||||
else
|
||||
@ -183,20 +183,12 @@ macro irqh [num]
|
||||
{
|
||||
forward
|
||||
p_irq#num :
|
||||
save_ring3_context
|
||||
mov edi, num
|
||||
jmp irq_c
|
||||
jmp irqhandler
|
||||
}
|
||||
|
||||
irqh 2,3,4,5,7,8,9,10,11
|
||||
|
||||
irq_c:
|
||||
mov ax, app_data
|
||||
mov ds, ax
|
||||
mov es, ax
|
||||
call irqhandler
|
||||
restore_ring3_context
|
||||
iret
|
||||
|
||||
p_irq6:
|
||||
save_ring3_context
|
||||
@ -265,9 +257,6 @@ irqD:
|
||||
|
||||
|
||||
irqhandler:
|
||||
cmp [v86_irqhooks+edi*8], 0
|
||||
jnz v86_irq2
|
||||
|
||||
|
||||
mov esi,edi ; 1
|
||||
shl esi,6 ; 1
|
||||
|
@ -846,18 +846,13 @@ end if
|
||||
v86_irq:
|
||||
; push irq/pushad/jmp v86_irq
|
||||
; eax = irq
|
||||
mov ebx, eax
|
||||
lea esi, [esp+18h]
|
||||
lea edi, [esi+4]
|
||||
mov ecx, 8
|
||||
std
|
||||
rep movsd
|
||||
cld
|
||||
mov edi, ebx
|
||||
|
||||
v86_irq2:
|
||||
; pushad/call v86_irq2
|
||||
; edi = irq
|
||||
mov edi, eax
|
||||
pop eax
|
||||
mov esi, [v86_irqhooks+edi*8] ; get VM handle
|
||||
mov eax, [esi+V86_machine.pagedir]
|
||||
|
Loading…
Reference in New Issue
Block a user