mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-14 02:17:36 +08:00
SYSENTER/SYSEXIT must use continue, not break, to avoid the SAVEIP that would set the instruction pointer back to just after SYSENTER. I thought it seemed weird that Linux would execute SYSENTER just to then execute INT 80h
This commit is contained in:
@@ -262,13 +262,13 @@
|
||||
if (CPU_ArchitectureType<CPU_ARCHTYPE_PENTIUMII) goto illegal_opcode;
|
||||
if (!CPU_SYSENTER()) goto illegal_opcode;
|
||||
}
|
||||
break;
|
||||
continue;
|
||||
CASE_0F_B(0x35) /* SYSEXIT */
|
||||
{
|
||||
if (CPU_ArchitectureType<CPU_ARCHTYPE_PENTIUMII) goto illegal_opcode;
|
||||
if (!CPU_SYSEXIT()) goto illegal_opcode;
|
||||
}
|
||||
break;
|
||||
continue;
|
||||
|
||||
// Pentium Pro Conditional Moves
|
||||
CASE_0F_W(0x40) /* CMOVO */
|
||||
|
Reference in New Issue
Block a user