Author: fireball
Date: Wed Dec 19 13:29:08 2007
New Revision: 31321
URL:
http://svn.reactos.org/svn/reactos?rev=31321&view=rev
Log:
- Fix a problem with parameter passing in DispatchTwoParam (it was always zeroed, which
was not correct). Problem found by Dmitry Philippov.
- Fix a typo KiTrap14 which prevented correct passing of the error code to the exception
dispatcher. (by Dmitry Philippov).
Modified:
trunk/reactos/ntoskrnl/ke/i386/boot.S (props changed)
trunk/reactos/ntoskrnl/ke/i386/ctxswitch.S (props changed)
trunk/reactos/ntoskrnl/ke/i386/trap.s (contents, props changed)
trunk/reactos/ntoskrnl/ke/i386/usercall_asm.S (props changed)
trunk/reactos/ntoskrnl/ke/i386/v86m_sup.S (props changed)
Propchange: trunk/reactos/ntoskrnl/ke/i386/boot.S
------------------------------------------------------------------------------
--- svn:needs-lock (original)
+++ svn:needs-lock (removed)
@@ -1,1 +1,0 @@
-*
Propchange: trunk/reactos/ntoskrnl/ke/i386/ctxswitch.S
------------------------------------------------------------------------------
--- svn:needs-lock (original)
+++ svn:needs-lock (removed)
@@ -1,1 +1,0 @@
-*
Modified: trunk/reactos/ntoskrnl/ke/i386/trap.s
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/ke/i386/trap.s?re…
==============================================================================
--- trunk/reactos/ntoskrnl/ke/i386/trap.s (original)
+++ trunk/reactos/ntoskrnl/ke/i386/trap.s Wed Dec 19 13:29:08 2007
@@ -657,7 +657,6 @@
.func DispatchTwoParam
_DispatchTwoParam:
/* Call the common dispatcher */
- xor edx, edx
mov ecx, 2
call _CommonDispatchException
.endfunc
@@ -1230,6 +1229,7 @@
/* Raise exception */
mov eax, STATUS_FLOAT_STACK_CHECK
+ xor edx, edx
jmp _DispatchTwoParam
ValidNpxOpcode:
@@ -1449,6 +1449,7 @@
mov ebx, [ebp+KTRAP_FRAME_EIP]
mov esi, -1
mov eax, STATUS_ACCESS_VIOLATION
+ xor edx, edx
jmp _DispatchTwoParam
RaiseIrql:
@@ -1593,6 +1594,7 @@
mov esi, [ebp+KTRAP_FRAME_ERROR_CODE]
and esi, 0xFFFF
mov eax, STATUS_ACCESS_VIOLATION
+ xor edx, edx
jmp _DispatchTwoParam
MsrCheck:
@@ -1802,6 +1804,7 @@
mov ebx, [ebp+KTRAP_FRAME_EIP]
mov esi, -1
mov eax, STATUS_ACCESS_VIOLATION
+ xor edx, edx
jmp _DispatchTwoParam
DispatchV86Gpf:
@@ -1900,8 +1903,8 @@
/* Check if the fault occured in a V86 mode */
CheckVdmPf:
mov ecx, [ebp+KTRAP_FRAME_ERROR_CODE]
+ shr ecx, 1
and ecx, 1
- shr ecx, 1
test dword ptr [ebp+KTRAP_FRAME_EFLAGS], EFLAGS_V86_MASK
jnz VdmPF
Propchange: trunk/reactos/ntoskrnl/ke/i386/trap.s
------------------------------------------------------------------------------
--- svn:needs-lock (original)
+++ svn:needs-lock (removed)
@@ -1,1 +1,0 @@
-*
Propchange: trunk/reactos/ntoskrnl/ke/i386/usercall_asm.S
------------------------------------------------------------------------------
--- svn:needs-lock (original)
+++ svn:needs-lock (removed)
@@ -1,1 +1,0 @@
-*
Propchange: trunk/reactos/ntoskrnl/ke/i386/v86m_sup.S
------------------------------------------------------------------------------
--- svn:needs-lock (original)
+++ svn:needs-lock (removed)
@@ -1,1 +1,0 @@
-*