diff --git a/kernel/trunk/core/sys32.inc b/kernel/trunk/core/sys32.inc index 681aeea151..d9c50a300d 100644 --- a/kernel/trunk/core/sys32.inc +++ b/kernel/trunk/core/sys32.inc @@ -238,7 +238,10 @@ p_irq14: mov ax, app_data ;os_data mov ds, ax mov es, ax - mov byte [BOOT_VAR + 0x48E], 0xFF + 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 @@ -248,7 +251,10 @@ p_irq15: mov ax, app_data ;os_data mov ds, ax mov es, ax - mov byte [BOOT_VAR + 0x48E], 0xFF + 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 diff --git a/kernel/trunk/core/v86.inc b/kernel/trunk/core/v86.inc index 003f85e8b4..9b3c9fb409 100644 --- a/kernel/trunk/core/v86.inc +++ b/kernel/trunk/core/v86.inc @@ -866,6 +866,7 @@ v86_irq: cld mov edi, eax pop eax +v86_irq2: mov esi, [v86_irqhooks+edi*8] ; get VM handle mov eax, [esi+V86_machine.pagedir] call get_pg_addr