mirror of
https://github.com/reactos/reactos.git
synced 2025-05-01 03:29:37 +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
|
#ifdef _M_IX86
|
||||||
#define KUSER_SHARED_SYSCALL HEX(7ffe0300)
|
#define KUSER_SHARED_SYSCALL HEX(7ffe0300)
|
||||||
#define KGDT_R0_CODE 8
|
#define KGDT_R0_CODE 8
|
||||||
|
@ -35,16 +88,6 @@ MACRO(STUBCODE_K, Name, SyscallId, ArgCount)
|
||||||
mov r10, ArgCount * 8
|
mov r10, ArgCount * 8
|
||||||
jmp KiZwSystemService
|
jmp KiZwSystemService
|
||||||
ENDM
|
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)
|
#elif defined(_M_PPC)
|
||||||
MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
|
MACRO(STUBCODE_U, Name, SyscallId, ArgCount)
|
||||||
stwu 1,-16(1)
|
stwu 1,-16(1)
|
||||||
|
@ -107,3 +150,5 @@ MACRO(STUB_K, Name, ArgCount)
|
||||||
.ENDP
|
.ENDP
|
||||||
SyscallId = SyscallId + 1
|
SyscallId = SyscallId + 1
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
|
|
||||||
#include <asm.inc>
|
|
||||||
#include <syscalls.inc>
|
#include <syscalls.inc>
|
||||||
|
|
||||||
|
#ifdef _M_ARM
|
||||||
|
|
||||||
|
TEXTAREA
|
||||||
|
|
||||||
|
#define SVC_(name, argcount) STUB_K name
|
||||||
|
|
||||||
|
#include <sysfuncs.h>
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
#ifdef _M_IX86
|
#ifdef _M_IX86
|
||||||
EXTERN _KiSystemService:PROC
|
EXTERN _KiSystemService:PROC
|
||||||
#elif defined(_M_AMD64)
|
#elif defined(_M_AMD64)
|
||||||
|
@ -12,9 +21,10 @@ EXTERN KiZwSystemService:PROC
|
||||||
|
|
||||||
.code
|
.code
|
||||||
|
|
||||||
SyscallId = 0
|
|
||||||
#define SVC_(name, argcount) STUB_K name, argcount
|
#define SVC_(name, argcount) STUB_K name, argcount
|
||||||
|
|
||||||
#include <sysfuncs.h>
|
#include <sysfuncs.h>
|
||||||
|
|
||||||
END
|
#endif
|
||||||
|
|
||||||
|
END
|
||||||
|
|
|
@ -1,296 +1,296 @@
|
||||||
SVC_(AcceptConnectPort, 6)
|
SVC_(AcceptConnectPort, 6)
|
||||||
SVC_(AccessCheck, 8)
|
SVC_(AccessCheck, 8)
|
||||||
SVC_(AccessCheckAndAuditAlarm, 11)
|
SVC_(AccessCheckAndAuditAlarm, 11)
|
||||||
SVC_(AccessCheckByType, 11)
|
SVC_(AccessCheckByType, 11)
|
||||||
SVC_(AccessCheckByTypeAndAuditAlarm, 16)
|
SVC_(AccessCheckByTypeAndAuditAlarm, 16)
|
||||||
SVC_(AccessCheckByTypeResultList, 11)
|
SVC_(AccessCheckByTypeResultList, 11)
|
||||||
SVC_(AccessCheckByTypeResultListAndAuditAlarm, 16)
|
SVC_(AccessCheckByTypeResultListAndAuditAlarm, 16)
|
||||||
SVC_(AccessCheckByTypeResultListAndAuditAlarmByHandle, 17)
|
SVC_(AccessCheckByTypeResultListAndAuditAlarmByHandle, 17)
|
||||||
SVC_(AddAtom, 3)
|
SVC_(AddAtom, 3)
|
||||||
SVC_(AddBootEntry, 2)
|
SVC_(AddBootEntry, 2)
|
||||||
SVC_(AddDriverEntry, 2)
|
SVC_(AddDriverEntry, 2)
|
||||||
SVC_(AdjustGroupsToken, 6)
|
SVC_(AdjustGroupsToken, 6)
|
||||||
SVC_(AdjustPrivilegesToken, 6)
|
SVC_(AdjustPrivilegesToken, 6)
|
||||||
SVC_(AlertResumeThread, 2)
|
SVC_(AlertResumeThread, 2)
|
||||||
SVC_(AlertThread, 1)
|
SVC_(AlertThread, 1)
|
||||||
SVC_(AllocateLocallyUniqueId, 1)
|
SVC_(AllocateLocallyUniqueId, 1)
|
||||||
SVC_(AllocateUserPhysicalPages, 3)
|
SVC_(AllocateUserPhysicalPages, 3)
|
||||||
SVC_(AllocateUuids, 4)
|
SVC_(AllocateUuids, 4)
|
||||||
SVC_(AllocateVirtualMemory, 6)
|
SVC_(AllocateVirtualMemory, 6)
|
||||||
SVC_(ApphelpCacheControl, 2)
|
SVC_(ApphelpCacheControl, 2)
|
||||||
SVC_(AreMappedFilesTheSame, 2)
|
SVC_(AreMappedFilesTheSame, 2)
|
||||||
SVC_(AssignProcessToJobObject, 2)
|
SVC_(AssignProcessToJobObject, 2)
|
||||||
SVC_(CallbackReturn, 3)
|
SVC_(CallbackReturn, 3)
|
||||||
SVC_(CancelDeviceWakeupRequest, 1)
|
SVC_(CancelDeviceWakeupRequest, 1)
|
||||||
SVC_(CancelIoFile, 2)
|
SVC_(CancelIoFile, 2)
|
||||||
SVC_(CancelTimer, 2)
|
SVC_(CancelTimer, 2)
|
||||||
SVC_(ClearEvent, 1)
|
SVC_(ClearEvent, 1)
|
||||||
SVC_(Close, 1)
|
SVC_(Close, 1)
|
||||||
SVC_(CloseObjectAuditAlarm, 3)
|
SVC_(CloseObjectAuditAlarm, 3)
|
||||||
SVC_(CompactKeys, 2)
|
SVC_(CompactKeys, 2)
|
||||||
SVC_(CompareTokens, 3)
|
SVC_(CompareTokens, 3)
|
||||||
SVC_(CompleteConnectPort, 1)
|
SVC_(CompleteConnectPort, 1)
|
||||||
SVC_(CompressKey, 1)
|
SVC_(CompressKey, 1)
|
||||||
SVC_(ConnectPort, 8)
|
SVC_(ConnectPort, 8)
|
||||||
SVC_(Continue, 2)
|
SVC_(Continue, 2)
|
||||||
SVC_(CreateDebugObject, 4)
|
SVC_(CreateDebugObject, 4)
|
||||||
SVC_(CreateDirectoryObject, 3)
|
SVC_(CreateDirectoryObject, 3)
|
||||||
SVC_(CreateEvent, 5)
|
SVC_(CreateEvent, 5)
|
||||||
SVC_(CreateEventPair, 3)
|
SVC_(CreateEventPair, 3)
|
||||||
SVC_(CreateFile, 11)
|
SVC_(CreateFile, 11)
|
||||||
SVC_(CreateIoCompletion, 4)
|
SVC_(CreateIoCompletion, 4)
|
||||||
SVC_(CreateJobObject, 3)
|
SVC_(CreateJobObject, 3)
|
||||||
SVC_(CreateJobSet, 3)
|
SVC_(CreateJobSet, 3)
|
||||||
SVC_(CreateKey, 7)
|
SVC_(CreateKey, 7)
|
||||||
SVC_(CreateMailslotFile, 8)
|
SVC_(CreateMailslotFile, 8)
|
||||||
SVC_(CreateMutant, 4)
|
SVC_(CreateMutant, 4)
|
||||||
SVC_(CreateNamedPipeFile, 14)
|
SVC_(CreateNamedPipeFile, 14)
|
||||||
SVC_(CreatePagingFile, 4)
|
SVC_(CreatePagingFile, 4)
|
||||||
SVC_(CreatePort, 5)
|
SVC_(CreatePort, 5)
|
||||||
SVC_(CreateProcess, 8)
|
SVC_(CreateProcess, 8)
|
||||||
SVC_(CreateProcessEx, 9)
|
SVC_(CreateProcessEx, 9)
|
||||||
SVC_(CreateProfile, 9)
|
SVC_(CreateProfile, 9)
|
||||||
SVC_(CreateSection, 7)
|
SVC_(CreateSection, 7)
|
||||||
SVC_(CreateSemaphore, 5)
|
SVC_(CreateSemaphore, 5)
|
||||||
SVC_(CreateSymbolicLinkObject, 4)
|
SVC_(CreateSymbolicLinkObject, 4)
|
||||||
SVC_(CreateThread, 8)
|
SVC_(CreateThread, 8)
|
||||||
SVC_(CreateTimer, 4)
|
SVC_(CreateTimer, 4)
|
||||||
SVC_(CreateToken, 13)
|
SVC_(CreateToken, 13)
|
||||||
SVC_(CreateWaitablePort, 5)
|
SVC_(CreateWaitablePort, 5)
|
||||||
SVC_(DebugActiveProcess, 2)
|
SVC_(DebugActiveProcess, 2)
|
||||||
SVC_(DebugContinue, 3)
|
SVC_(DebugContinue, 3)
|
||||||
SVC_(DelayExecution, 2)
|
SVC_(DelayExecution, 2)
|
||||||
SVC_(DeleteAtom, 1)
|
SVC_(DeleteAtom, 1)
|
||||||
SVC_(DeleteBootEntry, 1)
|
SVC_(DeleteBootEntry, 1)
|
||||||
SVC_(DeleteDriverEntry, 1)
|
SVC_(DeleteDriverEntry, 1)
|
||||||
SVC_(DeleteFile, 1)
|
SVC_(DeleteFile, 1)
|
||||||
SVC_(DeleteKey, 1)
|
SVC_(DeleteKey, 1)
|
||||||
SVC_(DeleteObjectAuditAlarm, 3)
|
SVC_(DeleteObjectAuditAlarm, 3)
|
||||||
SVC_(DeleteValueKey, 2)
|
SVC_(DeleteValueKey, 2)
|
||||||
SVC_(DeviceIoControlFile, 10)
|
SVC_(DeviceIoControlFile, 10)
|
||||||
SVC_(DisplayString, 1)
|
SVC_(DisplayString, 1)
|
||||||
SVC_(DuplicateObject, 7)
|
SVC_(DuplicateObject, 7)
|
||||||
SVC_(DuplicateToken, 6)
|
SVC_(DuplicateToken, 6)
|
||||||
SVC_(EnumerateBootEntries, 2)
|
SVC_(EnumerateBootEntries, 2)
|
||||||
SVC_(EnumerateDriverEntries, 2)
|
SVC_(EnumerateDriverEntries, 2)
|
||||||
SVC_(EnumerateKey, 6)
|
SVC_(EnumerateKey, 6)
|
||||||
SVC_(EnumerateSystemEnvironmentValuesEx, 3)
|
SVC_(EnumerateSystemEnvironmentValuesEx, 3)
|
||||||
SVC_(EnumerateValueKey, 6)
|
SVC_(EnumerateValueKey, 6)
|
||||||
SVC_(ExtendSection, 2)
|
SVC_(ExtendSection, 2)
|
||||||
SVC_(FilterToken, 6)
|
SVC_(FilterToken, 6)
|
||||||
SVC_(FindAtom, 3)
|
SVC_(FindAtom, 3)
|
||||||
SVC_(FlushBuffersFile, 2)
|
SVC_(FlushBuffersFile, 2)
|
||||||
SVC_(FlushInstructionCache, 3)
|
SVC_(FlushInstructionCache, 3)
|
||||||
SVC_(FlushKey, 1)
|
SVC_(FlushKey, 1)
|
||||||
SVC_(FlushVirtualMemory, 4)
|
SVC_(FlushVirtualMemory, 4)
|
||||||
SVC_(FlushWriteBuffer, 0)
|
SVC_(FlushWriteBuffer, 0)
|
||||||
SVC_(FreeUserPhysicalPages, 3)
|
SVC_(FreeUserPhysicalPages, 3)
|
||||||
SVC_(FreeVirtualMemory, 4)
|
SVC_(FreeVirtualMemory, 4)
|
||||||
SVC_(FsControlFile, 10)
|
SVC_(FsControlFile, 10)
|
||||||
SVC_(GetContextThread, 2)
|
SVC_(GetContextThread, 2)
|
||||||
SVC_(GetDevicePowerState, 2)
|
SVC_(GetDevicePowerState, 2)
|
||||||
SVC_(GetPlugPlayEvent, 4)
|
SVC_(GetPlugPlayEvent, 4)
|
||||||
SVC_(GetWriteWatch, 7)
|
SVC_(GetWriteWatch, 7)
|
||||||
SVC_(ImpersonateAnonymousToken, 1)
|
SVC_(ImpersonateAnonymousToken, 1)
|
||||||
SVC_(ImpersonateClientOfPort, 2)
|
SVC_(ImpersonateClientOfPort, 2)
|
||||||
SVC_(ImpersonateThread, 3)
|
SVC_(ImpersonateThread, 3)
|
||||||
SVC_(InitializeRegistry, 1)
|
SVC_(InitializeRegistry, 1)
|
||||||
SVC_(InitiatePowerAction, 4)
|
SVC_(InitiatePowerAction, 4)
|
||||||
SVC_(IsProcessInJob, 2)
|
SVC_(IsProcessInJob, 2)
|
||||||
SVC_(IsSystemResumeAutomatic, 0)
|
SVC_(IsSystemResumeAutomatic, 0)
|
||||||
SVC_(ListenPort, 2)
|
SVC_(ListenPort, 2)
|
||||||
SVC_(LoadDriver, 1)
|
SVC_(LoadDriver, 1)
|
||||||
SVC_(LoadKey, 2)
|
SVC_(LoadKey, 2)
|
||||||
SVC_(LoadKey2, 3)
|
SVC_(LoadKey2, 3)
|
||||||
SVC_(LoadKeyEx, 4)
|
SVC_(LoadKeyEx, 4)
|
||||||
SVC_(LockFile, 10)
|
SVC_(LockFile, 10)
|
||||||
SVC_(LockProductActivationKeys, 2)
|
SVC_(LockProductActivationKeys, 2)
|
||||||
SVC_(LockRegistryKey, 1)
|
SVC_(LockRegistryKey, 1)
|
||||||
SVC_(LockVirtualMemory, 4)
|
SVC_(LockVirtualMemory, 4)
|
||||||
SVC_(MakePermanentObject, 1)
|
SVC_(MakePermanentObject, 1)
|
||||||
SVC_(MakeTemporaryObject, 1)
|
SVC_(MakeTemporaryObject, 1)
|
||||||
SVC_(MapUserPhysicalPages, 3)
|
SVC_(MapUserPhysicalPages, 3)
|
||||||
SVC_(MapUserPhysicalPagesScatter, 3)
|
SVC_(MapUserPhysicalPagesScatter, 3)
|
||||||
SVC_(MapViewOfSection, 10)
|
SVC_(MapViewOfSection, 10)
|
||||||
SVC_(ModifyBootEntry, 1)
|
SVC_(ModifyBootEntry, 1)
|
||||||
SVC_(ModifyDriverEntry, 1)
|
SVC_(ModifyDriverEntry, 1)
|
||||||
SVC_(NotifyChangeDirectoryFile, 9)
|
SVC_(NotifyChangeDirectoryFile, 9)
|
||||||
SVC_(NotifyChangeKey, 10)
|
SVC_(NotifyChangeKey, 10)
|
||||||
SVC_(NotifyChangeMultipleKeys, 12)
|
SVC_(NotifyChangeMultipleKeys, 12)
|
||||||
SVC_(OpenDirectoryObject, 3)
|
SVC_(OpenDirectoryObject, 3)
|
||||||
SVC_(OpenEvent, 3)
|
SVC_(OpenEvent, 3)
|
||||||
SVC_(OpenEventPair, 3)
|
SVC_(OpenEventPair, 3)
|
||||||
SVC_(OpenFile, 6)
|
SVC_(OpenFile, 6)
|
||||||
SVC_(OpenIoCompletion, 3)
|
SVC_(OpenIoCompletion, 3)
|
||||||
SVC_(OpenJobObject, 3)
|
SVC_(OpenJobObject, 3)
|
||||||
SVC_(OpenKey, 3)
|
SVC_(OpenKey, 3)
|
||||||
SVC_(OpenMutant, 3)
|
SVC_(OpenMutant, 3)
|
||||||
SVC_(OpenObjectAuditAlarm, 12)
|
SVC_(OpenObjectAuditAlarm, 12)
|
||||||
SVC_(OpenProcess, 4)
|
SVC_(OpenProcess, 4)
|
||||||
SVC_(OpenProcessToken, 3)
|
SVC_(OpenProcessToken, 3)
|
||||||
SVC_(OpenProcessTokenEx, 4)
|
SVC_(OpenProcessTokenEx, 4)
|
||||||
SVC_(OpenSection, 3)
|
SVC_(OpenSection, 3)
|
||||||
SVC_(OpenSemaphore, 3)
|
SVC_(OpenSemaphore, 3)
|
||||||
SVC_(OpenSymbolicLinkObject, 3)
|
SVC_(OpenSymbolicLinkObject, 3)
|
||||||
SVC_(OpenThread, 4)
|
SVC_(OpenThread, 4)
|
||||||
SVC_(OpenThreadToken, 4)
|
SVC_(OpenThreadToken, 4)
|
||||||
SVC_(OpenThreadTokenEx, 5)
|
SVC_(OpenThreadTokenEx, 5)
|
||||||
SVC_(OpenTimer, 3)
|
SVC_(OpenTimer, 3)
|
||||||
SVC_(PlugPlayControl, 3)
|
SVC_(PlugPlayControl, 3)
|
||||||
SVC_(PowerInformation, 5)
|
SVC_(PowerInformation, 5)
|
||||||
SVC_(PrivilegeCheck, 3)
|
SVC_(PrivilegeCheck, 3)
|
||||||
SVC_(PrivilegeObjectAuditAlarm, 6)
|
SVC_(PrivilegeObjectAuditAlarm, 6)
|
||||||
SVC_(PrivilegedServiceAuditAlarm, 5)
|
SVC_(PrivilegedServiceAuditAlarm, 5)
|
||||||
SVC_(ProtectVirtualMemory, 5)
|
SVC_(ProtectVirtualMemory, 5)
|
||||||
SVC_(PulseEvent, 2)
|
SVC_(PulseEvent, 2)
|
||||||
SVC_(QueryAttributesFile, 2)
|
SVC_(QueryAttributesFile, 2)
|
||||||
SVC_(QueryBootEntryOrder, 2)
|
SVC_(QueryBootEntryOrder, 2)
|
||||||
SVC_(QueryBootOptions, 2)
|
SVC_(QueryBootOptions, 2)
|
||||||
SVC_(QueryDebugFilterState, 2)
|
SVC_(QueryDebugFilterState, 2)
|
||||||
SVC_(QueryDefaultLocale, 2)
|
SVC_(QueryDefaultLocale, 2)
|
||||||
SVC_(QueryDefaultUILanguage, 1)
|
SVC_(QueryDefaultUILanguage, 1)
|
||||||
SVC_(QueryDirectoryFile, 11)
|
SVC_(QueryDirectoryFile, 11)
|
||||||
SVC_(QueryDirectoryObject, 7)
|
SVC_(QueryDirectoryObject, 7)
|
||||||
SVC_(QueryDriverEntryOrder, 2)
|
SVC_(QueryDriverEntryOrder, 2)
|
||||||
SVC_(QueryEaFile, 9)
|
SVC_(QueryEaFile, 9)
|
||||||
SVC_(QueryEvent, 5)
|
SVC_(QueryEvent, 5)
|
||||||
SVC_(QueryFullAttributesFile, 2)
|
SVC_(QueryFullAttributesFile, 2)
|
||||||
SVC_(QueryInformationAtom, 5)
|
SVC_(QueryInformationAtom, 5)
|
||||||
SVC_(QueryInformationFile, 5)
|
SVC_(QueryInformationFile, 5)
|
||||||
SVC_(QueryInformationJobObject, 5)
|
SVC_(QueryInformationJobObject, 5)
|
||||||
SVC_(QueryInformationPort, 5)
|
SVC_(QueryInformationPort, 5)
|
||||||
SVC_(QueryInformationProcess, 5)
|
SVC_(QueryInformationProcess, 5)
|
||||||
SVC_(QueryInformationThread, 5)
|
SVC_(QueryInformationThread, 5)
|
||||||
SVC_(QueryInformationToken, 5)
|
SVC_(QueryInformationToken, 5)
|
||||||
SVC_(QueryInstallUILanguage, 1)
|
SVC_(QueryInstallUILanguage, 1)
|
||||||
SVC_(QueryIntervalProfile, 2)
|
SVC_(QueryIntervalProfile, 2)
|
||||||
SVC_(QueryIoCompletion, 5)
|
SVC_(QueryIoCompletion, 5)
|
||||||
SVC_(QueryKey, 5)
|
SVC_(QueryKey, 5)
|
||||||
SVC_(QueryMultipleValueKey, 6)
|
SVC_(QueryMultipleValueKey, 6)
|
||||||
SVC_(QueryMutant, 5)
|
SVC_(QueryMutant, 5)
|
||||||
SVC_(QueryObject, 5)
|
SVC_(QueryObject, 5)
|
||||||
SVC_(QueryOpenSubKeys, 2)
|
SVC_(QueryOpenSubKeys, 2)
|
||||||
SVC_(QueryOpenSubKeysEx, 4)
|
SVC_(QueryOpenSubKeysEx, 4)
|
||||||
SVC_(QueryPerformanceCounter, 2)
|
SVC_(QueryPerformanceCounter, 2)
|
||||||
SVC_(QueryQuotaInformationFile, 9)
|
SVC_(QueryQuotaInformationFile, 9)
|
||||||
SVC_(QuerySection, 5)
|
SVC_(QuerySection, 5)
|
||||||
SVC_(QuerySecurityObject, 5)
|
SVC_(QuerySecurityObject, 5)
|
||||||
SVC_(QuerySemaphore, 5)
|
SVC_(QuerySemaphore, 5)
|
||||||
SVC_(QuerySymbolicLinkObject, 3)
|
SVC_(QuerySymbolicLinkObject, 3)
|
||||||
SVC_(QuerySystemEnvironmentValue, 4)
|
SVC_(QuerySystemEnvironmentValue, 4)
|
||||||
SVC_(QuerySystemEnvironmentValueEx, 5)
|
SVC_(QuerySystemEnvironmentValueEx, 5)
|
||||||
SVC_(QuerySystemInformation, 4)
|
SVC_(QuerySystemInformation, 4)
|
||||||
SVC_(QuerySystemTime, 1)
|
SVC_(QuerySystemTime, 1)
|
||||||
SVC_(QueryTimer, 5)
|
SVC_(QueryTimer, 5)
|
||||||
SVC_(QueryTimerResolution, 3)
|
SVC_(QueryTimerResolution, 3)
|
||||||
SVC_(QueryValueKey, 6)
|
SVC_(QueryValueKey, 6)
|
||||||
SVC_(QueryVirtualMemory, 6)
|
SVC_(QueryVirtualMemory, 6)
|
||||||
SVC_(QueryVolumeInformationFile, 5)
|
SVC_(QueryVolumeInformationFile, 5)
|
||||||
SVC_(QueueApcThread, 5)
|
SVC_(QueueApcThread, 5)
|
||||||
SVC_(RaiseException, 3)
|
SVC_(RaiseException, 3)
|
||||||
SVC_(RaiseHardError, 6)
|
SVC_(RaiseHardError, 6)
|
||||||
SVC_(ReadFile, 9)
|
SVC_(ReadFile, 9)
|
||||||
SVC_(ReadFileScatter, 9)
|
SVC_(ReadFileScatter, 9)
|
||||||
SVC_(ReadRequestData, 6)
|
SVC_(ReadRequestData, 6)
|
||||||
SVC_(ReadVirtualMemory, 5)
|
SVC_(ReadVirtualMemory, 5)
|
||||||
SVC_(RegisterThreadTerminatePort, 1)
|
SVC_(RegisterThreadTerminatePort, 1)
|
||||||
SVC_(ReleaseMutant, 2)
|
SVC_(ReleaseMutant, 2)
|
||||||
SVC_(ReleaseSemaphore, 3)
|
SVC_(ReleaseSemaphore, 3)
|
||||||
SVC_(RemoveIoCompletion, 5)
|
SVC_(RemoveIoCompletion, 5)
|
||||||
SVC_(RemoveProcessDebug, 2)
|
SVC_(RemoveProcessDebug, 2)
|
||||||
SVC_(RenameKey, 2)
|
SVC_(RenameKey, 2)
|
||||||
SVC_(ReplaceKey, 3)
|
SVC_(ReplaceKey, 3)
|
||||||
SVC_(ReplyPort, 2)
|
SVC_(ReplyPort, 2)
|
||||||
SVC_(ReplyWaitReceivePort, 4)
|
SVC_(ReplyWaitReceivePort, 4)
|
||||||
SVC_(ReplyWaitReceivePortEx, 5)
|
SVC_(ReplyWaitReceivePortEx, 5)
|
||||||
SVC_(ReplyWaitReplyPort, 2)
|
SVC_(ReplyWaitReplyPort, 2)
|
||||||
SVC_(RequestDeviceWakeup, 1)
|
SVC_(RequestDeviceWakeup, 1)
|
||||||
SVC_(RequestPort, 2)
|
SVC_(RequestPort, 2)
|
||||||
SVC_(RequestWaitReplyPort, 3)
|
SVC_(RequestWaitReplyPort, 3)
|
||||||
SVC_(RequestWakeupLatency, 1)
|
SVC_(RequestWakeupLatency, 1)
|
||||||
SVC_(ResetEvent, 2)
|
SVC_(ResetEvent, 2)
|
||||||
SVC_(ResetWriteWatch, 3)
|
SVC_(ResetWriteWatch, 3)
|
||||||
SVC_(RestoreKey, 3)
|
SVC_(RestoreKey, 3)
|
||||||
SVC_(ResumeProcess, 1)
|
SVC_(ResumeProcess, 1)
|
||||||
SVC_(ResumeThread, 2)
|
SVC_(ResumeThread, 2)
|
||||||
SVC_(SaveKey, 2)
|
SVC_(SaveKey, 2)
|
||||||
SVC_(SaveKeyEx, 3)
|
SVC_(SaveKeyEx, 3)
|
||||||
SVC_(SaveMergedKeys, 3)
|
SVC_(SaveMergedKeys, 3)
|
||||||
SVC_(SecureConnectPort, 9)
|
SVC_(SecureConnectPort, 9)
|
||||||
SVC_(SetBootEntryOrder, 2)
|
SVC_(SetBootEntryOrder, 2)
|
||||||
SVC_(SetBootOptions, 2)
|
SVC_(SetBootOptions, 2)
|
||||||
SVC_(SetContextThread, 2)
|
SVC_(SetContextThread, 2)
|
||||||
SVC_(SetDebugFilterState, 3)
|
SVC_(SetDebugFilterState, 3)
|
||||||
SVC_(SetDefaultHardErrorPort, 1)
|
SVC_(SetDefaultHardErrorPort, 1)
|
||||||
SVC_(SetDefaultLocale, 2)
|
SVC_(SetDefaultLocale, 2)
|
||||||
SVC_(SetDefaultUILanguage, 1)
|
SVC_(SetDefaultUILanguage, 1)
|
||||||
SVC_(SetDriverEntryOrder, 2)
|
SVC_(SetDriverEntryOrder, 2)
|
||||||
SVC_(SetEaFile, 4)
|
SVC_(SetEaFile, 4)
|
||||||
SVC_(SetEvent, 2)
|
SVC_(SetEvent, 2)
|
||||||
SVC_(SetEventBoostPriority, 1)
|
SVC_(SetEventBoostPriority, 1)
|
||||||
SVC_(SetHighEventPair, 1)
|
SVC_(SetHighEventPair, 1)
|
||||||
SVC_(SetHighWaitLowEventPair, 1)
|
SVC_(SetHighWaitLowEventPair, 1)
|
||||||
SVC_(SetInformationDebugObject, 5)
|
SVC_(SetInformationDebugObject, 5)
|
||||||
SVC_(SetInformationFile, 5)
|
SVC_(SetInformationFile, 5)
|
||||||
SVC_(SetInformationJobObject, 4)
|
SVC_(SetInformationJobObject, 4)
|
||||||
SVC_(SetInformationKey, 4)
|
SVC_(SetInformationKey, 4)
|
||||||
SVC_(SetInformationObject, 4)
|
SVC_(SetInformationObject, 4)
|
||||||
SVC_(SetInformationProcess, 4)
|
SVC_(SetInformationProcess, 4)
|
||||||
SVC_(SetInformationThread, 4)
|
SVC_(SetInformationThread, 4)
|
||||||
SVC_(SetInformationToken, 4)
|
SVC_(SetInformationToken, 4)
|
||||||
SVC_(SetIntervalProfile, 2)
|
SVC_(SetIntervalProfile, 2)
|
||||||
SVC_(SetIoCompletion, 5)
|
SVC_(SetIoCompletion, 5)
|
||||||
SVC_(SetLdtEntries, 6)
|
SVC_(SetLdtEntries, 6)
|
||||||
SVC_(SetLowEventPair, 1)
|
SVC_(SetLowEventPair, 1)
|
||||||
SVC_(SetLowWaitHighEventPair, 1)
|
SVC_(SetLowWaitHighEventPair, 1)
|
||||||
SVC_(SetQuotaInformationFile, 4)
|
SVC_(SetQuotaInformationFile, 4)
|
||||||
SVC_(SetSecurityObject, 3)
|
SVC_(SetSecurityObject, 3)
|
||||||
SVC_(SetSystemEnvironmentValue, 2)
|
SVC_(SetSystemEnvironmentValue, 2)
|
||||||
SVC_(SetSystemEnvironmentValueEx, 2)
|
SVC_(SetSystemEnvironmentValueEx, 2)
|
||||||
SVC_(SetSystemInformation, 3)
|
SVC_(SetSystemInformation, 3)
|
||||||
SVC_(SetSystemPowerState, 3)
|
SVC_(SetSystemPowerState, 3)
|
||||||
SVC_(SetSystemTime, 2)
|
SVC_(SetSystemTime, 2)
|
||||||
SVC_(SetThreadExecutionState, 2)
|
SVC_(SetThreadExecutionState, 2)
|
||||||
SVC_(SetTimer, 7)
|
SVC_(SetTimer, 7)
|
||||||
SVC_(SetTimerResolution, 3)
|
SVC_(SetTimerResolution, 3)
|
||||||
SVC_(SetUuidSeed, 1)
|
SVC_(SetUuidSeed, 1)
|
||||||
SVC_(SetValueKey, 6)
|
SVC_(SetValueKey, 6)
|
||||||
SVC_(SetVolumeInformationFile, 5)
|
SVC_(SetVolumeInformationFile, 5)
|
||||||
SVC_(ShutdownSystem, 1)
|
SVC_(ShutdownSystem, 1)
|
||||||
SVC_(SignalAndWaitForSingleObject, 4)
|
SVC_(SignalAndWaitForSingleObject, 4)
|
||||||
SVC_(StartProfile, 1)
|
SVC_(StartProfile, 1)
|
||||||
SVC_(StopProfile, 1)
|
SVC_(StopProfile, 1)
|
||||||
SVC_(SuspendProcess, 1)
|
SVC_(SuspendProcess, 1)
|
||||||
SVC_(SuspendThread, 2)
|
SVC_(SuspendThread, 2)
|
||||||
SVC_(SystemDebugControl, 6)
|
SVC_(SystemDebugControl, 6)
|
||||||
SVC_(TerminateJobObject, 2)
|
SVC_(TerminateJobObject, 2)
|
||||||
SVC_(TerminateProcess, 2)
|
SVC_(TerminateProcess, 2)
|
||||||
SVC_(TerminateThread, 2)
|
SVC_(TerminateThread, 2)
|
||||||
SVC_(TestAlert, 0)
|
SVC_(TestAlert, 0)
|
||||||
SVC_(TraceEvent, 4)
|
SVC_(TraceEvent, 4)
|
||||||
SVC_(TranslateFilePath, 4)
|
SVC_(TranslateFilePath, 4)
|
||||||
SVC_(UnloadDriver, 1)
|
SVC_(UnloadDriver, 1)
|
||||||
SVC_(UnloadKey, 1)
|
SVC_(UnloadKey, 1)
|
||||||
SVC_(UnloadKey2, 2)
|
SVC_(UnloadKey2, 2)
|
||||||
SVC_(UnloadKeyEx, 2)
|
SVC_(UnloadKeyEx, 2)
|
||||||
SVC_(UnlockFile, 5)
|
SVC_(UnlockFile, 5)
|
||||||
SVC_(UnlockVirtualMemory, 4)
|
SVC_(UnlockVirtualMemory, 4)
|
||||||
SVC_(UnmapViewOfSection, 2)
|
SVC_(UnmapViewOfSection, 2)
|
||||||
SVC_(VdmControl, 2)
|
SVC_(VdmControl, 2)
|
||||||
SVC_(WaitForDebugEvent, 4)
|
SVC_(WaitForDebugEvent, 4)
|
||||||
SVC_(WaitForMultipleObjects, 5)
|
SVC_(WaitForMultipleObjects, 5)
|
||||||
SVC_(WaitForSingleObject, 3)
|
SVC_(WaitForSingleObject, 3)
|
||||||
SVC_(WaitHighEventPair, 1)
|
SVC_(WaitHighEventPair, 1)
|
||||||
SVC_(WaitLowEventPair, 1)
|
SVC_(WaitLowEventPair, 1)
|
||||||
SVC_(WriteFile, 9)
|
SVC_(WriteFile, 9)
|
||||||
SVC_(WriteFileGather, 9)
|
SVC_(WriteFileGather, 9)
|
||||||
SVC_(WriteRequestData, 6)
|
SVC_(WriteRequestData, 6)
|
||||||
SVC_(WriteVirtualMemory, 5)
|
SVC_(WriteVirtualMemory, 5)
|
||||||
SVC_(YieldExecution, 0)
|
SVC_(YieldExecution, 0)
|
||||||
SVC_(CreateKeyedEvent, 4)
|
SVC_(CreateKeyedEvent, 4)
|
||||||
SVC_(OpenKeyedEvent, 3)
|
SVC_(OpenKeyedEvent, 3)
|
||||||
SVC_(ReleaseKeyedEvent, 4)
|
SVC_(ReleaseKeyedEvent, 4)
|
||||||
SVC_(WaitForKeyedEvent, 4)
|
SVC_(WaitForKeyedEvent, 4)
|
||||||
SVC_(QueryPortInformationProcess, 0)
|
SVC_(QueryPortInformationProcess, 0)
|
||||||
SVC_(GetCurrentProcessorNumber, 0)
|
SVC_(GetCurrentProcessorNumber, 0)
|
||||||
SVC_(WaitForMultipleObjects32, 5)
|
SVC_(WaitForMultipleObjects32, 5)
|
||||||
|
|
|
@ -1,12 +1,23 @@
|
||||||
|
|
||||||
#include <asm.inc>
|
|
||||||
#include <syscalls.inc>
|
#include <syscalls.inc>
|
||||||
|
|
||||||
|
#ifdef _M_ARM
|
||||||
|
|
||||||
|
TEXTAREA
|
||||||
|
|
||||||
|
#define SVC_(name, argcount) STUB_U name
|
||||||
|
|
||||||
|
#include <sysfuncs.h>
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
.code
|
.code
|
||||||
|
|
||||||
SyscallId = 0
|
|
||||||
#define SVC_(name, argcount) STUB_U name, argcount
|
#define SVC_(name, argcount) STUB_U name, argcount
|
||||||
|
|
||||||
#include <sysfuncs.h>
|
#include <sysfuncs.h>
|
||||||
|
|
||||||
END
|
END
|
||||||
|
#endif
|
||||||
|
|
|
@ -1,7 +1,18 @@
|
||||||
|
|
||||||
#include <asm.inc>
|
|
||||||
#include <syscalls.inc>
|
#include <syscalls.inc>
|
||||||
|
|
||||||
|
#ifdef _M_ARM
|
||||||
|
|
||||||
|
TEXTAREA
|
||||||
|
|
||||||
|
#define SVC_(name, argcount) STUB_U name
|
||||||
|
|
||||||
|
#include "w32ksvc.h"
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
.code
|
.code
|
||||||
|
|
||||||
SyscallId = HEX(1000)
|
SyscallId = HEX(1000)
|
||||||
|
@ -9,4 +20,6 @@ SyscallId = HEX(1000)
|
||||||
|
|
||||||
#include "w32ksvc.h"
|
#include "w32ksvc.h"
|
||||||
|
|
||||||
END
|
END
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue