allow hooks of IRQ15

git-svn-id: svn://kolibrios.org@1989 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
CleverMouse 2011-06-29 11:57:56 +00:00
parent 41305c608c
commit 3421ffa999
3 changed files with 24 additions and 38 deletions

View File

@ -151,14 +151,14 @@ align 4
; .irq_13: ; .irq_13:
; push 13 ; push 13
; jmp .main ; jmp .main
; align 4 align 4
; .irq_14: .irq_14:
; push 14 push 14
; jmp .main jmp .main
; align 4 align 4
; .irq_15: .irq_15:
; push 15 push 15
; jmp .main jmp .main
align 16 align 16
.main: .main:
@ -171,6 +171,19 @@ align 16
cmp [v86_irqhooks+eax*8], 0 cmp [v86_irqhooks+eax*8], 0
jnz v86_irq jnz v86_irq
cmp al, 14
jnz @f
push eax
call [irq14_func]
pop eax
@@:
cmp al, 15
jnz @f
push eax
call [irq15_func]
pop eax
@@:
mov ebx, [irq_tab+eax*4] mov ebx, [irq_tab+eax*4]
test ebx, ebx test ebx, ebx
jz .exit jz .exit

View File

@ -47,7 +47,7 @@ iglobal
end if end if
dd irq_serv.irq_5, p_irq6, irq_serv.irq_7 dd irq_serv.irq_5, p_irq6, irq_serv.irq_7
dd irq_serv.irq_8, irq_serv.irq_9, irq_serv.irq_10 dd irq_serv.irq_8, irq_serv.irq_9, irq_serv.irq_10
dd irq_serv.irq_11, irq_serv.irq_12, irqD,p_irq14,p_irq15 dd irq_serv.irq_11, irq_serv.irq_12, irqD, irq_serv.irq_14, irq_serv.irq_15
times 16 dd unknown_interrupt ;int_0x30..int_0x3F times 16 dd unknown_interrupt ;int_0x30..int_0x3F
;int_0x40 gate trap (for directly copied) ;int_0x40 gate trap (for directly copied)
@ -259,33 +259,6 @@ p_irq6:
iret iret
p_irq14:
save_ring3_context
mov ax, app_data ;os_data
mov ds, ax
mov es, ax
mov edi, 14
cmp [v86_irqhooks+edi*8], 0
jnz v86_irq2
; mov byte [BOOT_VAR + 0x48E], 0xFF
call [irq14_func]
call ready_for_next_irq_1
restore_ring3_context
iret
p_irq15:
save_ring3_context
mov ax, app_data ;os_data
mov ds, ax
mov es, ax
mov edi, 15
cmp [v86_irqhooks+edi*8], 0
jnz v86_irq2
; mov byte [BOOT_VAR + 0x48E], 0xFF
call [irq15_func]
call ready_for_next_irq_1
restore_ring3_context
iret
ready_for_next_irq: ready_for_next_irq:
mov eax,5 mov eax,5
mov [check_idle_semaphore],eax mov [check_idle_semaphore],eax

View File

@ -3804,8 +3804,8 @@ f_irqs:
dd p_irq11 dd p_irq11
dd 0x0 dd 0x0
dd 0x0 dd 0x0
dd p_irq14 dd 0x0
dd p_irq15 dd 0x0
endg endg