- Make syscalls ARM compatible

svn path=/trunk/; revision=67640
This commit is contained in:
Timo Kreuzer 2015-05-10 21:03:53 +00:00
parent 89ee675f59
commit 9fbce543e9
6 changed files with 1075 additions and 995 deletions

View file

@ -1,4 +1,57 @@
#ifdef _M_ARM
#include <ksarm.h>
GBLA SyscallId
SyscallId SETA 0
MACRO
STUB_K $Name
LCLS ZwFuncName
LCLS ZwFuncEndName
ZwFuncName SETS "Zw$Name"
ZwFuncEndName SETS "$ZwFuncName":CC:"_end"
ALIGN 2
EXPORT $ZwFuncName [FUNC]
$ZwFuncName
ROUT
mov r12, #SyscallId
svc #1
bx lr
$ZwFuncEndName
MEND
MACRO
STUB_U $Name
LCLS NtFuncName
LCLS NtFuncEndName
LCLS ZwFuncName
LCLS ZwFuncEndName
NtFuncName SETS "Nt$Name"
NtFuncEndName SETS "$NtFuncName":CC:"_end"
ZwFuncName SETS "Zw$Name"
ZwFuncEndName SETS "$ZwFuncName":CC:"_end"
ALIGN 2
EXPORT $NtFuncName [FUNC]
$NtFuncName
EXPORT $ZwFuncName [FUNC]
$ZwFuncName
ROUT
mov r12, #SyscallId
svc #1
bx lr
$NtFuncEndName
$ZwFuncEndName
MEND
#else
#include <asm.inc>
SyscallId = 0
#ifdef _M_IX86
#define KUSER_SHARED_SYSCALL HEX(7ffe0300)
#define KGDT_R0_CODE 8
@ -35,16 +88,6 @@ MACRO(STUBCODE_K, Name, SyscallId, ArgCount)
mov r10, ArgCount * 8
jmp KiZwSystemService
ENDM
#elif defined(_M_ARM)
MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
swi #SyscallId
bx lr
ENDM
MACRO(STUBCODE_K, Name, SyscallId, ArgCount)
mov ip, lr
swi #SyscallId
bx ip
ENDM
#elif defined(_M_PPC)
MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
stwu 1,-16(1)
@ -107,3 +150,5 @@ MACRO(STUB_K, Name, ArgCount)
.ENDP
SyscallId = SyscallId + 1
ENDM
#endif

View file

@ -1,7 +1,16 @@
#include <asm.inc>
#include <syscalls.inc>
#ifdef _M_ARM
TEXTAREA
#define SVC_(name, argcount) STUB_K name
#include <sysfuncs.h>
#else
#ifdef _M_IX86
EXTERN _KiSystemService:PROC
#elif defined(_M_AMD64)
@ -12,9 +21,10 @@ EXTERN KiZwSystemService:PROC
.code
SyscallId = 0
#define SVC_(name, argcount) STUB_K name, argcount
#include <sysfuncs.h>
END
#endif
END

View file

@ -1,296 +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)
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)

View file

@ -1,12 +1,23 @@
#include <asm.inc>
#include <syscalls.inc>
#ifdef _M_ARM
TEXTAREA
#define SVC_(name, argcount) STUB_U name
#include <sysfuncs.h>
END
#else
.code
SyscallId = 0
#define SVC_(name, argcount) STUB_U name, argcount
#include <sysfuncs.h>
END
#endif

View file

@ -1,7 +1,18 @@
#include <asm.inc>
#include <syscalls.inc>
#ifdef _M_ARM
TEXTAREA
#define SVC_(name, argcount) STUB_U name
#include "w32ksvc.h"
END
#else
.code
SyscallId = HEX(1000)
@ -9,4 +20,6 @@ SyscallId = HEX(1000)
#include "w32ksvc.h"
END
END
#endif

File diff suppressed because it is too large Load diff