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/ntdl... ============================================================================== --- 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... ============================================================================== --- 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