Reset triggered by keyboard controller should now be handled correctly by dynamic recompiler.
This commit is contained in:
parent
2323962168
commit
2efc56e882
3 changed files with 7 additions and 1 deletions
|
|
@ -1423,6 +1423,9 @@ inrecomp=0;
|
|||
|
||||
if (!abrt && !x86_was_reset)
|
||||
codegen_block_end();
|
||||
|
||||
if (x86_was_reset)
|
||||
codegen_reset();
|
||||
// output &= ~2;
|
||||
}
|
||||
// if (output && (SP & 1))
|
||||
|
|
|
|||
|
|
@ -676,6 +676,7 @@ void softresetx86()
|
|||
flags=2;
|
||||
idt.base = 0;
|
||||
x86seg_reset();
|
||||
x86_was_reset = 1;
|
||||
}
|
||||
|
||||
static void setznp8(uint8_t val)
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ static int opOUT_AL_imm(uint32_t fetchdat)
|
|||
check_io_perm(port);
|
||||
outb(port, AL);
|
||||
CLOCK_CYCLES(10);
|
||||
if (port == 0x64)
|
||||
return x86_was_reset;
|
||||
return 0;
|
||||
}
|
||||
static int opOUT_AX_imm(uint32_t fetchdat)
|
||||
|
|
@ -87,7 +89,7 @@ static int opOUT_AL_DX(uint32_t fetchdat)
|
|||
check_io_perm(DX);
|
||||
outb(DX, AL);
|
||||
CLOCK_CYCLES(11);
|
||||
return 0;
|
||||
return x86_was_reset;
|
||||
}
|
||||
static int opOUT_AX_DX(uint32_t fetchdat)
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue