The instruction following STI is always executed, even if an interrupt

is pending. Fixes Windows 9x boot broken by SYSENTER commit.
This commit is contained in:
SarahW 2020-07-01 21:50:11 +01:00
commit 4fe71bdbed
3 changed files with 32 additions and 4 deletions

View file

@ -85,12 +85,13 @@ static int opSTI(uint32_t fetchdat)
else
cpu_state.flags |= I_FLAG;
/*TODO - should end block after 1 further instruction*/
// CPU_BLOCK_END();
/*First instruction after STI will always execute, regardless of whether
there is a pending interrupt*/
cpu_end_block_after_ins = 2;
CLOCK_CYCLES(2);
PREFETCH_RUN(2, 1, -1, 0,0,0,0, 0);
return 1;
return 0;
}
static int opSAHF(uint32_t fetchdat)