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/ntd…
==============================================================================
--- 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/dispatc…
==============================================================================
--- 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@12:PROC
+EXTERN _NtTestAlert@0:PROC
+EXTERN _RtlDispatchException@8:PROC
+EXTERN _RtlRaiseException@4:PROC
+EXTERN _RtlRaiseStatus@4:PROC
+EXTERN _ZwCallbackReturn@12:PROC
+EXTERN _ZwContinue@8:PROC
+EXTERN _ZwRaiseException@12:PROC
/* FUNCTIONS ****************************************************************/
-
-.func LdrInitializeThunk@16
-.globl _LdrInitializeThunk@16
+.code
+
+PUBLIC _LdrInitializeThunk@16
_LdrInitializeThunk@16:
/* Get the APC Context */
@@ -28,9 +37,8 @@
/* Jump into the C initialization routine */
jmp _LdrpInit@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@16
-.globl _KiUserApcDispatcher@16
+
+
+PUBLIC _KiUserApcDispatcher@16
_KiUserApcDispatcher@16:
/* Setup SEH stack */
@@ -86,9 +93,8 @@
call _RtlRaiseStatus@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@12
-.globl _KiUserCallbackDispatcher@12
+
+
+PUBLIC _KiUserCallbackDispatcher@12
_KiUserCallbackDispatcher@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@4
jmp StatusRaise
ret 12
-.endfunc
-
-.func KiRaiseUserExceptionDispatcher@0
-.globl _KiRaiseUserExceptionDispatcher@0
+
+
+PUBLIC _KiRaiseUserExceptionDispatcher@0
_KiRaiseUserExceptionDispatcher@0:
/* Setup stack for EXCEPTION_RECORD */
@@ -177,10 +181,9 @@
mov esp, ebp
pop ebp
ret
-.endfunc
-
-.func KiUserExceptionDispatcher@8
-.globl _KiUserExceptionDispatcher@8
+
+
+PUBLIC _KiUserExceptionDispatcher@8
_KiUserExceptionDispatcher@8:
/* Clear direction flag */
@@ -236,39 +239,35 @@
push esp
call _RtlRaiseException@4
ret 8
-.endfunc
-
-.func KiIntSystemCall@0
-.globl _KiIntSystemCall@0
+
+
+PUBLIC _KiIntSystemCall@0
_KiIntSystemCall@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@0
-.globl _KiFastSystemCall@0
+
+
+PUBLIC _KiFastSystemCall@0
_KiFastSystemCall@0:
/* Put ESP in EDX and do the SYSENTER */
mov edx, esp
sysenter
-.endfunc
-
-.func KiFastSystemCallRet@0
-.globl _KiFastSystemCallRet@0
+
+
+PUBLIC _KiFastSystemCallRet@0
_KiFastSystemCallRet@0:
/* Just return to caller */
ret
-.endfunc
-
-.func RtlpGetStackLimits@8
-.globl _RtlpGetStackLimits@8
+
+
+PUBLIC _RtlpGetStackLimits@8
_RtlpGetStackLimits@8:
/* Get the stack limits */
@@ -283,4 +282,5 @@
/* return */
ret 8
-.endfunc
+
+END