mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[ASM]
- Change the macros to prefix the labels with Nt or Zw depending on whether we build usermode or kernel mode stubs - Create zw.S using the macros svn path=/trunk/; revision=50622
This commit is contained in:
parent
e37056f9ec
commit
7fd2b87f3b
5 changed files with 999 additions and 690 deletions
|
@ -80,14 +80,15 @@ ENDM
|
|||
|
||||
MACRO(STUB_U, Name, ArgCount)
|
||||
Stackbytes = 4 * &ArgCount
|
||||
MAKE_LABEL &Name, %Stackbytes
|
||||
MAKE_LABEL Zw&Name, %Stackbytes
|
||||
MAKE_LABEL Nt&Name, %Stackbytes
|
||||
STUBCODE_U SyscallId, %Stackbytes
|
||||
SyscallId = SyscallId + 1
|
||||
ENDM
|
||||
|
||||
MACRO(STUB_K, Name, ArgCount)
|
||||
Stackbytes = 4 * &ArgCount
|
||||
MAKE_LABEL &Name, %Stackbytes
|
||||
MAKE_LABEL Zw&Name, %Stackbytes
|
||||
STUBCODE_K SyscallId, %Stackbytes
|
||||
SyscallId = SyscallId + 1
|
||||
ENDM
|
||||
|
|
296
reactos/ntoskrnl/ex/sysfuncs.h
Normal file
296
reactos/ntoskrnl/ex/sysfuncs.h
Normal file
|
@ -0,0 +1,296 @@
|
|||
SVC_(AcceptConnectPort, 6)
|
||||
SVC_(AccessCheck, 8)
|
||||
SVC_(AccessCheckAndAuditAlarm, 11)
|
||||
SVC_(AccessCheckByType, 11)
|
||||
SVC_(AccessCheckByTypeAndAuditAlarm, 16)
|
||||
SVC_(AccessCheckByTypeResultList, 11)
|
||||
SVC_(AccessCheckByTypeResultListAndAuditAlarm, 16)
|
||||
SVC_(AccessCheckByTypeResultListAndAuditAlarmByHandle, 17)
|
||||
SVC_(AddAtom, 3)
|
||||
SVC_(AddBootEntry, 2)
|
||||
SVC_(AddDriverEntry, 2)
|
||||
SVC_(AdjustGroupsToken, 6)
|
||||
SVC_(AdjustPrivilegesToken, 6)
|
||||
SVC_(AlertResumeThread, 2)
|
||||
SVC_(AlertThread, 1)
|
||||
SVC_(AllocateLocallyUniqueId, 1)
|
||||
SVC_(AllocateUserPhysicalPages, 3)
|
||||
SVC_(AllocateUuids, 4)
|
||||
SVC_(AllocateVirtualMemory, 6)
|
||||
SVC_(ApphelpCacheControl, 2)
|
||||
SVC_(AreMappedFilesTheSame, 2)
|
||||
SVC_(AssignProcessToJobObject, 2)
|
||||
SVC_(CallbackReturn, 3)
|
||||
SVC_(CancelDeviceWakeupRequest, 1)
|
||||
SVC_(CancelIoFile, 2)
|
||||
SVC_(CancelTimer, 2)
|
||||
SVC_(ClearEvent, 1)
|
||||
SVC_(Close, 1)
|
||||
SVC_(CloseObjectAuditAlarm, 3)
|
||||
SVC_(CompactKeys, 2)
|
||||
SVC_(CompareTokens, 3)
|
||||
SVC_(CompleteConnectPort, 1)
|
||||
SVC_(CompressKey, 1)
|
||||
SVC_(ConnectPort, 8)
|
||||
SVC_(Continue, 2)
|
||||
SVC_(CreateDebugObject, 4)
|
||||
SVC_(CreateDirectoryObject, 3)
|
||||
SVC_(CreateEvent, 5)
|
||||
SVC_(CreateEventPair, 3)
|
||||
SVC_(CreateFile, 11)
|
||||
SVC_(CreateIoCompletion, 4)
|
||||
SVC_(CreateJobObject, 3)
|
||||
SVC_(CreateJobSet, 3)
|
||||
SVC_(CreateKey, 7)
|
||||
SVC_(CreateMailslotFile, 8)
|
||||
SVC_(CreateMutant, 4)
|
||||
SVC_(CreateNamedPipeFile, 14)
|
||||
SVC_(CreatePagingFile, 4)
|
||||
SVC_(CreatePort, 5)
|
||||
SVC_(CreateProcess, 8)
|
||||
SVC_(CreateProcessEx, 9)
|
||||
SVC_(CreateProfile, 9)
|
||||
SVC_(CreateSection, 7)
|
||||
SVC_(CreateSemaphore, 5)
|
||||
SVC_(CreateSymbolicLinkObject, 4)
|
||||
SVC_(CreateThread, 8)
|
||||
SVC_(CreateTimer, 4)
|
||||
SVC_(CreateToken, 13)
|
||||
SVC_(CreateWaitablePort, 5)
|
||||
SVC_(DebugActiveProcess, 2)
|
||||
SVC_(DebugContinue, 3)
|
||||
SVC_(DelayExecution, 2)
|
||||
SVC_(DeleteAtom, 1)
|
||||
SVC_(DeleteBootEntry, 1)
|
||||
SVC_(DeleteDriverEntry, 1)
|
||||
SVC_(DeleteFile, 1)
|
||||
SVC_(DeleteKey, 1)
|
||||
SVC_(DeleteObjectAuditAlarm, 3)
|
||||
SVC_(DeleteValueKey, 2)
|
||||
SVC_(DeviceIoControlFile, 10)
|
||||
SVC_(DisplayString, 1)
|
||||
SVC_(DuplicateObject, 7)
|
||||
SVC_(DuplicateToken, 6)
|
||||
SVC_(EnumerateBootEntries, 2)
|
||||
SVC_(EnumerateDriverEntries, 2)
|
||||
SVC_(EnumerateKey, 6)
|
||||
SVC_(EnumerateSystemEnvironmentValuesEx, 3)
|
||||
SVC_(EnumerateValueKey, 6)
|
||||
SVC_(ExtendSection, 2)
|
||||
SVC_(FilterToken, 6)
|
||||
SVC_(FindAtom, 3)
|
||||
SVC_(FlushBuffersFile, 2)
|
||||
SVC_(FlushInstructionCache, 3)
|
||||
SVC_(FlushKey, 1)
|
||||
SVC_(FlushVirtualMemory, 4)
|
||||
SVC_(FlushWriteBuffer, 0)
|
||||
SVC_(FreeUserPhysicalPages, 3)
|
||||
SVC_(FreeVirtualMemory, 4)
|
||||
SVC_(FsControlFile, 10)
|
||||
SVC_(GetContextThread, 2)
|
||||
SVC_(GetDevicePowerState, 2)
|
||||
SVC_(GetPlugPlayEvent, 4)
|
||||
SVC_(GetWriteWatch, 7)
|
||||
SVC_(ImpersonateAnonymousToken, 1)
|
||||
SVC_(ImpersonateClientOfPort, 2)
|
||||
SVC_(ImpersonateThread, 3)
|
||||
SVC_(InitializeRegistry, 1)
|
||||
SVC_(InitiatePowerAction, 4)
|
||||
SVC_(IsProcessInJob, 2)
|
||||
SVC_(IsSystemResumeAutomatic, 0)
|
||||
SVC_(ListenPort, 2)
|
||||
SVC_(LoadDriver, 1)
|
||||
SVC_(LoadKey, 2)
|
||||
SVC_(LoadKey2, 3)
|
||||
SVC_(LoadKeyEx, 4)
|
||||
SVC_(LockFile, 10)
|
||||
SVC_(LockProductActivationKeys, 2)
|
||||
SVC_(LockRegistryKey, 1)
|
||||
SVC_(LockVirtualMemory, 4)
|
||||
SVC_(MakePermanentObject, 1)
|
||||
SVC_(MakeTemporaryObject, 1)
|
||||
SVC_(MapUserPhysicalPages, 3)
|
||||
SVC_(MapUserPhysicalPagesScatter, 3)
|
||||
SVC_(MapViewOfSection, 10)
|
||||
SVC_(ModifyBootEntry, 1)
|
||||
SVC_(ModifyDriverEntry, 1)
|
||||
SVC_(NotifyChangeDirectoryFile, 9)
|
||||
SVC_(NotifyChangeKey, 10)
|
||||
SVC_(NotifyChangeMultipleKeys, 12)
|
||||
SVC_(OpenDirectoryObject, 3)
|
||||
SVC_(OpenEvent, 3)
|
||||
SVC_(OpenEventPair, 3)
|
||||
SVC_(OpenFile, 6)
|
||||
SVC_(OpenIoCompletion, 3)
|
||||
SVC_(OpenJobObject, 3)
|
||||
SVC_(OpenKey, 3)
|
||||
SVC_(OpenMutant, 3)
|
||||
SVC_(OpenObjectAuditAlarm, 12)
|
||||
SVC_(OpenProcess, 4)
|
||||
SVC_(OpenProcessToken, 3)
|
||||
SVC_(OpenProcessTokenEx, 4)
|
||||
SVC_(OpenSection, 3)
|
||||
SVC_(OpenSemaphore, 3)
|
||||
SVC_(OpenSymbolicLinkObject, 3)
|
||||
SVC_(OpenThread, 4)
|
||||
SVC_(OpenThreadToken, 4)
|
||||
SVC_(OpenThreadTokenEx, 5)
|
||||
SVC_(OpenTimer, 3)
|
||||
SVC_(PlugPlayControl, 3)
|
||||
SVC_(PowerInformation, 5)
|
||||
SVC_(PrivilegeCheck, 3)
|
||||
SVC_(PrivilegeObjectAuditAlarm, 6)
|
||||
SVC_(PrivilegedServiceAuditAlarm, 5)
|
||||
SVC_(ProtectVirtualMemory, 5)
|
||||
SVC_(PulseEvent, 2)
|
||||
SVC_(QueryAttributesFile, 2)
|
||||
SVC_(QueryBootEntryOrder, 2)
|
||||
SVC_(QueryBootOptions, 2)
|
||||
SVC_(QueryDebugFilterState, 2)
|
||||
SVC_(QueryDefaultLocale, 2)
|
||||
SVC_(QueryDefaultUILanguage, 1)
|
||||
SVC_(QueryDirectoryFile, 11)
|
||||
SVC_(QueryDirectoryObject, 7)
|
||||
SVC_(QueryDriverEntryOrder, 2)
|
||||
SVC_(QueryEaFile, 9)
|
||||
SVC_(QueryEvent, 5)
|
||||
SVC_(QueryFullAttributesFile, 2)
|
||||
SVC_(QueryInformationAtom, 5)
|
||||
SVC_(QueryInformationFile, 5)
|
||||
SVC_(QueryInformationJobObject, 5)
|
||||
SVC_(QueryInformationPort, 5)
|
||||
SVC_(QueryInformationProcess, 5)
|
||||
SVC_(QueryInformationThread, 5)
|
||||
SVC_(QueryInformationToken, 5)
|
||||
SVC_(QueryInstallUILanguage, 1)
|
||||
SVC_(QueryIntervalProfile, 2)
|
||||
SVC_(QueryIoCompletion, 5)
|
||||
SVC_(QueryKey, 5)
|
||||
SVC_(QueryMultipleValueKey, 6)
|
||||
SVC_(QueryMutant, 5)
|
||||
SVC_(QueryObject, 5)
|
||||
SVC_(QueryOpenSubKeys, 2)
|
||||
SVC_(QueryOpenSubKeysEx, 4)
|
||||
SVC_(QueryPerformanceCounter, 2)
|
||||
SVC_(QueryQuotaInformationFile, 9)
|
||||
SVC_(QuerySection, 5)
|
||||
SVC_(QuerySecurityObject, 5)
|
||||
SVC_(QuerySemaphore, 5)
|
||||
SVC_(QuerySymbolicLinkObject, 3)
|
||||
SVC_(QuerySystemEnvironmentValue, 4)
|
||||
SVC_(QuerySystemEnvironmentValueEx, 5)
|
||||
SVC_(QuerySystemInformation, 4)
|
||||
SVC_(QuerySystemTime, 1)
|
||||
SVC_(QueryTimer, 5)
|
||||
SVC_(QueryTimerResolution, 3)
|
||||
SVC_(QueryValueKey, 6)
|
||||
SVC_(QueryVirtualMemory, 6)
|
||||
SVC_(QueryVolumeInformationFile, 5)
|
||||
SVC_(QueueApcThread, 5)
|
||||
SVC_(RaiseException, 3)
|
||||
SVC_(RaiseHardError, 6)
|
||||
SVC_(ReadFile, 9)
|
||||
SVC_(ReadFileScatter, 9)
|
||||
SVC_(ReadRequestData, 6)
|
||||
SVC_(ReadVirtualMemory, 5)
|
||||
SVC_(RegisterThreadTerminatePort, 1)
|
||||
SVC_(ReleaseMutant, 2)
|
||||
SVC_(ReleaseSemaphore, 3)
|
||||
SVC_(RemoveIoCompletion, 5)
|
||||
SVC_(RemoveProcessDebug, 2)
|
||||
SVC_(RenameKey, 2)
|
||||
SVC_(ReplaceKey, 3)
|
||||
SVC_(ReplyPort, 2)
|
||||
SVC_(ReplyWaitReceivePort, 4)
|
||||
SVC_(ReplyWaitReceivePortEx, 5)
|
||||
SVC_(ReplyWaitReplyPort, 2)
|
||||
SVC_(RequestDeviceWakeup, 1)
|
||||
SVC_(RequestPort, 2)
|
||||
SVC_(RequestWaitReplyPort, 3)
|
||||
SVC_(RequestWakeupLatency, 1)
|
||||
SVC_(ResetEvent, 2)
|
||||
SVC_(ResetWriteWatch, 3)
|
||||
SVC_(RestoreKey, 3)
|
||||
SVC_(ResumeProcess, 1)
|
||||
SVC_(ResumeThread, 2)
|
||||
SVC_(SaveKey, 2)
|
||||
SVC_(SaveKeyEx, 3)
|
||||
SVC_(SaveMergedKeys, 3)
|
||||
SVC_(SecureConnectPort, 9)
|
||||
SVC_(SetBootEntryOrder, 2)
|
||||
SVC_(SetBootOptions, 2)
|
||||
SVC_(SetContextThread, 2)
|
||||
SVC_(SetDebugFilterState, 3)
|
||||
SVC_(SetDefaultHardErrorPort, 1)
|
||||
SVC_(SetDefaultLocale, 2)
|
||||
SVC_(SetDefaultUILanguage, 1)
|
||||
SVC_(SetDriverEntryOrder, 2)
|
||||
SVC_(SetEaFile, 4)
|
||||
SVC_(SetEvent, 2)
|
||||
SVC_(SetEventBoostPriority, 1)
|
||||
SVC_(SetHighEventPair, 1)
|
||||
SVC_(SetHighWaitLowEventPair, 1)
|
||||
SVC_(SetInformationDebugObject, 5)
|
||||
SVC_(SetInformationFile, 5)
|
||||
SVC_(SetInformationJobObject, 4)
|
||||
SVC_(SetInformationKey, 4)
|
||||
SVC_(SetInformationObject, 4)
|
||||
SVC_(SetInformationProcess, 4)
|
||||
SVC_(SetInformationThread, 4)
|
||||
SVC_(SetInformationToken, 4)
|
||||
SVC_(SetIntervalProfile, 2)
|
||||
SVC_(SetIoCompletion, 5)
|
||||
SVC_(SetLdtEntries, 6)
|
||||
SVC_(SetLowEventPair, 1)
|
||||
SVC_(SetLowWaitHighEventPair, 1)
|
||||
SVC_(SetQuotaInformationFile, 4)
|
||||
SVC_(SetSecurityObject, 3)
|
||||
SVC_(SetSystemEnvironmentValue, 2)
|
||||
SVC_(SetSystemEnvironmentValueEx, 2)
|
||||
SVC_(SetSystemInformation, 3)
|
||||
SVC_(SetSystemPowerState, 3)
|
||||
SVC_(SetSystemTime, 2)
|
||||
SVC_(SetThreadExecutionState, 2)
|
||||
SVC_(SetTimer, 7)
|
||||
SVC_(SetTimerResolution, 3)
|
||||
SVC_(SetUuidSeed, 1)
|
||||
SVC_(SetValueKey, 6)
|
||||
SVC_(SetVolumeInformationFile, 5)
|
||||
SVC_(ShutdownSystem, 1)
|
||||
SVC_(SignalAndWaitForSingleObject, 4)
|
||||
SVC_(StartProfile, 1)
|
||||
SVC_(StopProfile, 1)
|
||||
SVC_(SuspendProcess, 1)
|
||||
SVC_(SuspendThread, 2)
|
||||
SVC_(SystemDebugControl, 6)
|
||||
SVC_(TerminateJobObject, 2)
|
||||
SVC_(TerminateProcess, 2)
|
||||
SVC_(TerminateThread, 2)
|
||||
SVC_(TestAlert, 0)
|
||||
SVC_(TraceEvent, 4)
|
||||
SVC_(TranslateFilePath, 4)
|
||||
SVC_(UnloadDriver, 1)
|
||||
SVC_(UnloadKey, 1)
|
||||
SVC_(UnloadKey2, 2)
|
||||
SVC_(UnloadKeyEx, 2)
|
||||
SVC_(UnlockFile, 5)
|
||||
SVC_(UnlockVirtualMemory, 4)
|
||||
SVC_(UnmapViewOfSection, 2)
|
||||
SVC_(VdmControl, 2)
|
||||
SVC_(WaitForDebugEvent, 4)
|
||||
SVC_(WaitForMultipleObjects, 5)
|
||||
SVC_(WaitForSingleObject, 3)
|
||||
SVC_(WaitHighEventPair, 1)
|
||||
SVC_(WaitLowEventPair, 1)
|
||||
SVC_(WriteFile, 9)
|
||||
SVC_(WriteFileGather, 9)
|
||||
SVC_(WriteRequestData, 6)
|
||||
SVC_(WriteVirtualMemory, 5)
|
||||
SVC_(YieldExecution, 0)
|
||||
SVC_(CreateKeyedEvent, 4)
|
||||
SVC_(OpenKeyedEvent, 3)
|
||||
SVC_(ReleaseKeyedEvent, 4)
|
||||
SVC_(WaitForKeyedEvent, 4)
|
||||
SVC_(QueryPortInformationProcess, 0)
|
||||
SVC_(GetCurrentProcessorNumber, 0)
|
||||
SVC_(WaitForMultipleObjects32, 5)
|
12
reactos/ntoskrnl/ex/zw.S
Normal file
12
reactos/ntoskrnl/ex/zw.S
Normal file
|
@ -0,0 +1,12 @@
|
|||
|
||||
#include <asm.inc>
|
||||
#include <syscalls.inc>
|
||||
|
||||
.code
|
||||
|
||||
SyscallId = 0
|
||||
#define SVC_(name, argcount) STUB_K name, argcount
|
||||
|
||||
#include "sysfuncs.h"
|
||||
|
||||
END
|
|
@ -215,7 +215,7 @@
|
|||
<file>dbgkutil.c</file>
|
||||
<file>dbgkobj.c</file>
|
||||
</directory>
|
||||
<directory name="ex" root="intermediate">
|
||||
<directory name="ex">
|
||||
<file>zw.S</file>
|
||||
</directory>
|
||||
<directory name="ex">
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue