Emulating STI instruction now raises an exception if there are pending
events.
This commit is contained in:
parent
70835ebf02
commit
37213d2ba1
|
@ -822,6 +822,11 @@ DWORD INSTR_EmulateInstruction( EXCEPTION_RECORD *rec, CONTEXT86 *context )
|
||||||
case 0xfb: /* sti */
|
case 0xfb: /* sti */
|
||||||
NtCurrentTeb()->dpmi_vif = 1;
|
NtCurrentTeb()->dpmi_vif = 1;
|
||||||
context->Eip += prefixlen + 1;
|
context->Eip += prefixlen + 1;
|
||||||
|
if (NtCurrentTeb()->vm86_pending)
|
||||||
|
{
|
||||||
|
rec->ExceptionCode = EXCEPTION_VM86_STI;
|
||||||
|
break; /* Handle the pending event. */
|
||||||
|
}
|
||||||
return ExceptionContinueExecution;
|
return ExceptionContinueExecution;
|
||||||
}
|
}
|
||||||
return ExceptionContinueSearch; /* Unable to emulate it */
|
return ExceptionContinueSearch; /* Unable to emulate it */
|
||||||
|
|
Loading…
Reference in New Issue