forked from KolibriOS/kolibrios
allow hooks of IRQ15
git-svn-id: svn://kolibrios.org@1989 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
41305c608c
commit
3421ffa999
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user