[ros-diffs] [tkreuzer] 49651: [NTDLL] - Convert dispatch.S to new asm syntax - Add exports for RtlAddVectoredContinueHandler and RtlRemoveVectoredContinueHandler

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Sat Nov 20 00:46:32 UTC 2010


Author: tkreuzer
Date: Sat Nov 20 00:46:31 2010
New Revision: 49651

URL: http://svn.reactos.org/svn/reactos?rev=49651&view=rev
Log:
[NTDLL]
- Convert dispatch.S to new asm syntax
- Add exports for RtlAddVectoredContinueHandler and RtlRemoveVectoredContinueHandler

Modified:
    branches/cmake-bringup/dll/ntdll/def/ntdll.spec
    branches/cmake-bringup/dll/ntdll/dispatch/i386/dispatch.S

Modified: branches/cmake-bringup/dll/ntdll/def/ntdll.spec
URL: http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/ntdll/def/ntdll.spec?rev=49651&r1=49650&r2=49651&view=diff
==============================================================================
--- branches/cmake-bringup/dll/ntdll/def/ntdll.spec [iso-8859-1] (original)
+++ branches/cmake-bringup/dll/ntdll/def/ntdll.spec [iso-8859-1] Sat Nov 20 00:46:31 2010
@@ -437,7 +437,7 @@
 @ stdcall RtlAddMandatoryAce(ptr long long long long ptr)
 @ stdcall RtlAddRefActivationContext(ptr)
 ;@ stdcall RtlAddRefMemoryStream
-;@ stdcall RtlAddVectoredContinueHandler
+@ stdcall RtlAddVectoredContinueHandler(long ptr)
 @ stdcall RtlAddVectoredExceptionHandler(long ptr)
 ;@ stdcall RtlAddressInSectionTable
 @ stdcall RtlAdjustPrivilege(long long long ptr)
@@ -723,6 +723,7 @@
 @ stdcall RtlInt64ToUnicodeString(double long ptr)
 @ stdcall RtlIntegerToChar(long long long ptr)
 @ stdcall RtlIntegerToUnicodeString(long long ptr)
+;@ stdcall RtlInterlockedCompareExchange64
 @ stdcall -arch=i386,x86_64 RtlInterlockedFlushSList(ptr)
 @ stdcall -arch=i386,x86_64 RtlInterlockedPopEntrySList(ptr)
 @ stdcall -arch=i386,x86_64 RtlInterlockedPushEntrySList(ptr ptr)
@@ -849,7 +850,7 @@
 @ stdcall RtlReleaseSRWLockExclusive(ptr)
 @ stdcall RtlReleaseSRWLockShared(ptr)
 @ stdcall RtlRemoteCall(ptr ptr ptr long ptr long long)
-;@ stdcall RtlRemoveVectoredContinueHandler
+@ stdcall RtlRemoveVectoredContinueHandler(ptr)
 @ stdcall RtlRemoveVectoredExceptionHandler(ptr)
 @ stdcall RtlResetRtlTranslations(ptr)
 @ stdcall RtlRestoreLastWin32Error(long) RtlSetLastWin32Error

Modified: branches/cmake-bringup/dll/ntdll/dispatch/i386/dispatch.S
URL: http://svn.reactos.org/svn/reactos/branches/cmake-bringup/dll/ntdll/dispatch/i386/dispatch.S?rev=49651&r1=49650&r2=49651&view=diff
==============================================================================
--- branches/cmake-bringup/dll/ntdll/dispatch/i386/dispatch.S [iso-8859-1] (original)
+++ branches/cmake-bringup/dll/ntdll/dispatch/i386/dispatch.S [iso-8859-1] Sat Nov 20 00:46:31 2010
@@ -8,13 +8,22 @@
 
 /* INCLUDES ******************************************************************/
 
-#include <ndk/asm.h>
-.intel_syntax noprefix
+#include <asm.inc>
+#include <ks386.inc>
+
+EXTERN _LdrpInit at 12:PROC
+EXTERN _NtTestAlert at 0:PROC
+EXTERN _RtlDispatchException at 8:PROC
+EXTERN _RtlRaiseException at 4:PROC
+EXTERN _RtlRaiseStatus at 4:PROC
+EXTERN _ZwCallbackReturn at 12:PROC
+EXTERN _ZwContinue at 8:PROC
+EXTERN _ZwRaiseException at 12:PROC
 
 /* FUNCTIONS ****************************************************************/
-
-.func LdrInitializeThunk at 16
-.globl _LdrInitializeThunk at 16
+.code
+
+PUBLIC _LdrInitializeThunk at 16
 _LdrInitializeThunk at 16:
 
     /* Get the APC Context */
@@ -28,9 +37,8 @@
 
     /* Jump into the C initialization routine */
     jmp _LdrpInit at 12
-.endfunc
-
-.func KiUserApcExceptionHandler
+
+
 _KiUserApcExceptionHandler:
 
     /* Put the exception record in ECX and check the Flags */
@@ -45,10 +53,9 @@
     /* We'll execute handler */
     mov eax, EXCEPTION_EXECUTE_HANDLER
     ret 16
-.endfunc
-
-.func KiUserApcDispatcher at 16
-.globl _KiUserApcDispatcher at 16
+
+
+PUBLIC _KiUserApcDispatcher at 16
 _KiUserApcDispatcher at 16:
 
     /* Setup SEH stack */
@@ -86,9 +93,8 @@
     call _RtlRaiseStatus at 4
     jmp StatusRaiseApc
     ret 16
-.endfunc
-
-.func KiUserCallbackExceptionHandler
+
+
 _KiUserCallbackExceptionHandler:
 
     /* Put the exception record in ECX and check the Flags */
@@ -106,10 +112,9 @@
     /* We'll execute the handler */
     mov eax, EXCEPTION_EXECUTE_HANDLER
     ret 16
-.endfunc
-
-.func KiUserCallbackDispatcher at 12
-.globl _KiUserCallbackDispatcher at 12
+
+
+PUBLIC _KiUserCallbackDispatcher at 12
 _KiUserCallbackDispatcher at 12:
 
     /* Setup SEH stack */
@@ -131,7 +136,7 @@
     mov eax, [eax+PEB_KERNEL_CALLBACK_TABLE]
 
     /* Call the routine */
-    call [eax+edx*4]
+    call dword ptr [eax+edx*4]
 
     /* Return from callback */
     push eax
@@ -148,10 +153,9 @@
     call _RtlRaiseStatus at 4
     jmp StatusRaise
     ret 12
-.endfunc
-
-.func KiRaiseUserExceptionDispatcher at 0
-.globl _KiRaiseUserExceptionDispatcher at 0
+
+
+PUBLIC _KiRaiseUserExceptionDispatcher at 0
 _KiRaiseUserExceptionDispatcher at 0:
 
     /* Setup stack for EXCEPTION_RECORD */
@@ -177,10 +181,9 @@
     mov esp, ebp
     pop ebp
     ret
-.endfunc
-
-.func KiUserExceptionDispatcher at 8
-.globl _KiUserExceptionDispatcher at 8
+
+
+PUBLIC _KiUserExceptionDispatcher at 8
 _KiUserExceptionDispatcher at 8:
 
     /* Clear direction flag */
@@ -236,39 +239,35 @@
     push esp
     call _RtlRaiseException at 4
     ret 8
-.endfunc
-
-.func KiIntSystemCall at 0
-.globl _KiIntSystemCall at 0
+
+
+PUBLIC _KiIntSystemCall at 0
 _KiIntSystemCall at 0:
 
     /* Set stack in EDX and do the interrupt */
     lea edx, [esp+8]
-    int 0x2E
+    int HEX(2E)
 
     /* Return to caller */
     ret
-.endfunc
-
-.func KiFastSystemCall at 0
-.globl _KiFastSystemCall at 0
+
+
+PUBLIC _KiFastSystemCall at 0
 _KiFastSystemCall at 0:
 
     /* Put ESP in EDX and do the SYSENTER */
     mov edx, esp
     sysenter
-.endfunc
-
-.func KiFastSystemCallRet at 0
-.globl _KiFastSystemCallRet at 0
+
+
+PUBLIC _KiFastSystemCallRet at 0
 _KiFastSystemCallRet at 0:
 
     /* Just return to caller */
     ret
-.endfunc
-
-.func RtlpGetStackLimits at 8
-.globl _RtlpGetStackLimits at 8
+
+
+PUBLIC _RtlpGetStackLimits at 8
 _RtlpGetStackLimits at 8:
 
     /* Get the stack limits */
@@ -283,4 +282,5 @@
 
     /* return */
     ret 8
-.endfunc
+
+END




More information about the Ros-diffs mailing list