Commit 404eadc7 authored by Petr Tesarik's avatar Petr Tesarik Committed by Alexandre Julliard

winedos: Clear TF bit before passing control to a VM86 interrupt handler.

parent fa68994a
...@@ -98,6 +98,7 @@ extern struct DPMI_segments *DOSVM_dpmi_segments; ...@@ -98,6 +98,7 @@ extern struct DPMI_segments *DOSVM_dpmi_segments;
* IF_MASK is only pushed into real mode stack. * IF_MASK is only pushed into real mode stack.
*/ */
#define V86_FLAG 0x00020000 #define V86_FLAG 0x00020000
#define TF_MASK 0x00000100
#define IF_MASK 0x00000200 #define IF_MASK 0x00000200
#define VIF_MASK 0x00080000 #define VIF_MASK 0x00080000
#define VIP_MASK 0x00100000 #define VIP_MASK 0x00100000
......
...@@ -514,8 +514,8 @@ void DOSVM_HardwareInterruptRM( CONTEXT86 *context, BYTE intnum ) ...@@ -514,8 +514,8 @@ void DOSVM_HardwareInterruptRM( CONTEXT86 *context, BYTE intnum )
context->SegCs = SELECTOROF( handler ); context->SegCs = SELECTOROF( handler );
context->Eip = OFFSETOF( handler ); context->Eip = OFFSETOF( handler );
/* Clear virtual interrupt flag. */ /* Clear virtual interrupt flag and trap flag. */
context->EFlags &= ~VIF_MASK; context->EFlags &= ~(VIF_MASK | TF_MASK);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment