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=6…
==============================================================================
--- 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;
}