mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
[ASM]
- Make syscalls ARM compatible svn path=/trunk/; revision=67640
This commit is contained in:
parent
89ee675f59
commit
9fbce543e9
6 changed files with 1075 additions and 995 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue