Author: aandrejevic Date: Fri Jun 5 20:03:55 2015 New Revision: 68027
URL: http://svn.reactos.org/svn/reactos?rev=68027&view=rev Log: [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.
Modified: trunk/reactos/lib/fast486/common.c trunk/reactos/lib/fast486/opgroups.c
Modified: trunk/reactos/lib/fast486/common.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/fast486/common.c?rev=68... ============================================================================== --- trunk/reactos/lib/fast486/common.c [iso-8859-1] (original) +++ trunk/reactos/lib/fast486/common.c [iso-8859-1] Fri Jun 5 20:03:55 2015 @@ -579,7 +579,7 @@ /* Restore the IP to the saved IP */ 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;
/* Get the interrupt vector */
Modified: trunk/reactos/lib/fast486/opgroups.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/lib/fast486/opgroups.c?rev=... ============================================================================== --- trunk/reactos/lib/fast486/opgroups.c [iso-8859-1] (original) +++ trunk/reactos/lib/fast486/opgroups.c [iso-8859-1] Fri Jun 5 20:03:55 2015 @@ -494,10 +494,7 @@
if (!Fast486ParseModRegRm(State, AddressSize, &ModRegRm)) { - /* Exception occurred - restore SP */ - if (OperandSize) State->GeneralRegs[FAST486_REG_ESP].Long -= sizeof(ULONG); - else State->GeneralRegs[FAST486_REG_ESP].LowWord -= sizeof(USHORT); - + /* Exception occurred */ return; }