* 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:
Evgeny Grechnikov (Diamond) 2008-04-05 11:15:03 +00:00
parent c4be8acc8c
commit 890388b50c
2 changed files with 3 additions and 19 deletions

View File

@ -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

View File

@ -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]