mirror of
https://github.com/reactos/reactos.git
synced 2025-01-05 22:12:46 +00:00
[FAST486]
opgroups.c: We shouldn't restore SP in the opcode handler as that might interfere with triple faults. Also, in this case it's also wrong because the exception procedure already restores the stack pointer. common.c: Fix a comment, no code changes. svn path=/trunk/; revision=68027
This commit is contained in:
parent
c3834b6428
commit
44d853be5b
2 changed files with 2 additions and 5 deletions
|
@ -579,7 +579,7 @@ Fast486ExceptionWithErrorCode(PFAST486_STATE State,
|
||||||
/* Restore the IP to the saved IP */
|
/* Restore the IP to the saved IP */
|
||||||
State->InstPtr = State->SavedInstPtr;
|
State->InstPtr = State->SavedInstPtr;
|
||||||
|
|
||||||
/* Restore the SP to the saved SP */
|
/* Restore the SP to the saved SP */
|
||||||
State->GeneralRegs[FAST486_REG_ESP] = State->SavedStackPtr;
|
State->GeneralRegs[FAST486_REG_ESP] = State->SavedStackPtr;
|
||||||
|
|
||||||
/* Get the interrupt vector */
|
/* Get the interrupt vector */
|
||||||
|
|
|
@ -494,10 +494,7 @@ FAST486_OPCODE_HANDLER(Fast486OpcodeGroup8F)
|
||||||
|
|
||||||
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
|
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm))
|
||||||
{
|
{
|
||||||
/* Exception occurred - restore SP */
|
/* Exception occurred */
|
||||||
if (OperandSize) State->GeneralRegs[FAST486_REG_ESP].Long -= sizeof(ULONG);
|
|
||||||
else State->GeneralRegs[FAST486_REG_ESP].LowWord -= sizeof(USHORT);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue