Clean up svc.s
This commit is contained in:
parent
506d9205f3
commit
c25e04295a
@ -1,9 +1,15 @@
|
|||||||
.arm
|
.arm
|
||||||
.align 4
|
.align 4
|
||||||
|
|
||||||
.global svcControlMemory
|
.macro SVC_BEGIN name
|
||||||
.type svcControlMemory, %function
|
.section .text.\name, "ax", %progbits
|
||||||
svcControlMemory:
|
.global \name
|
||||||
|
.type \name, %function
|
||||||
|
.align 2
|
||||||
|
\name:
|
||||||
|
.endm
|
||||||
|
|
||||||
|
SVC_BEGIN svcControlMemory
|
||||||
push {r0, r4}
|
push {r0, r4}
|
||||||
ldr r0, [sp, #0x8]
|
ldr r0, [sp, #0x8]
|
||||||
ldr r4, [sp, #0x8+0x4]
|
ldr r4, [sp, #0x8+0x4]
|
||||||
@ -13,9 +19,7 @@ svcControlMemory:
|
|||||||
ldr r4, [sp], #4
|
ldr r4, [sp], #4
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcQueryMemory
|
SVC_BEGIN svcQueryMemory
|
||||||
.type svcQueryMemory, %function
|
|
||||||
svcQueryMemory:
|
|
||||||
push {r0, r1, r4-r6}
|
push {r0, r1, r4-r6}
|
||||||
svc 0x02
|
svc 0x02
|
||||||
ldr r6, [sp]
|
ldr r6, [sp]
|
||||||
@ -29,15 +33,11 @@ svcQueryMemory:
|
|||||||
pop {r4-r6}
|
pop {r4-r6}
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcExitProcess
|
SVC_BEGIN svcExitProcess
|
||||||
.type svcExitProcess, %function
|
|
||||||
svcExitProcess:
|
|
||||||
svc 0x03
|
svc 0x03
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCreateThread
|
SVC_BEGIN svcCreateThread
|
||||||
.type svcCreateThread, %function
|
|
||||||
svcCreateThread:
|
|
||||||
push {r0, r4}
|
push {r0, r4}
|
||||||
ldr r0, [sp, #0x8]
|
ldr r0, [sp, #0x8]
|
||||||
ldr r4, [sp, #0x8+0x4]
|
ldr r4, [sp, #0x8+0x4]
|
||||||
@ -47,150 +47,108 @@ svcCreateThread:
|
|||||||
ldr r4, [sp], #4
|
ldr r4, [sp], #4
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcExitThread
|
SVC_BEGIN svcExitThread
|
||||||
.type svcExitThread, %function
|
|
||||||
svcExitThread:
|
|
||||||
svc 0x09
|
svc 0x09
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcSleepThread
|
SVC_BEGIN svcSleepThread
|
||||||
.type svcSleepThread, %function
|
|
||||||
svcSleepThread:
|
|
||||||
svc 0x0A
|
svc 0x0A
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetThreadPriority
|
SVC_BEGIN svcGetThreadPriority
|
||||||
.type svcGetThreadPriority, %function
|
|
||||||
svcGetThreadPriority:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x0B
|
svc 0x0B
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcSetThreadPriority
|
SVC_BEGIN svcSetThreadPriority
|
||||||
.type svcSetThreadPriority, %function
|
|
||||||
svcSetThreadPriority:
|
|
||||||
svc 0x0C
|
svc 0x0C
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetThreadAffinityMask
|
SVC_BEGIN svcGetThreadAffinityMask
|
||||||
.type svcGetThreadAffinityMask, %function
|
|
||||||
svcGetThreadAffinityMask:
|
|
||||||
svc 0x0D
|
svc 0x0D
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcSetThreadAffinityMask
|
SVC_BEGIN svcSetThreadAffinityMask
|
||||||
.type svcSetThreadAffinityMask, %function
|
|
||||||
svcSetThreadAffinityMask:
|
|
||||||
svc 0x0E
|
svc 0x0E
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetThreadIdealProcessor
|
SVC_BEGIN svcGetThreadIdealProcessor
|
||||||
.type svcGetThreadIdealProcessor, %function
|
|
||||||
svcGetThreadIdealProcessor:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x0F
|
svc 0x0F
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcSetThreadIdealProcessor
|
SVC_BEGIN svcSetThreadIdealProcessor
|
||||||
.type svcSetThreadIdealProcessor, %function
|
|
||||||
svcSetThreadIdealProcessor:
|
|
||||||
svc 0x10
|
svc 0x10
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetProcessorID
|
SVC_BEGIN svcGetProcessorID
|
||||||
.type svcGetProcessorID, %function
|
|
||||||
svcGetProcessorID:
|
|
||||||
svc 0x11
|
svc 0x11
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCreateMutex
|
SVC_BEGIN svcCreateMutex
|
||||||
.type svcCreateMutex, %function
|
|
||||||
svcCreateMutex:
|
|
||||||
str r0, [sp, #-4]!
|
str r0, [sp, #-4]!
|
||||||
svc 0x13
|
svc 0x13
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcReleaseMutex
|
SVC_BEGIN svcReleaseMutex
|
||||||
.type svcReleaseMutex, %function
|
|
||||||
svcReleaseMutex:
|
|
||||||
svc 0x14
|
svc 0x14
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCreateSemaphore
|
SVC_BEGIN svcCreateSemaphore
|
||||||
.type svcCreateSemaphore, %function
|
|
||||||
svcCreateSemaphore:
|
|
||||||
push {r0}
|
push {r0}
|
||||||
svc 0x15
|
svc 0x15
|
||||||
pop {r3}
|
pop {r3}
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcReleaseSemaphore
|
SVC_BEGIN svcReleaseSemaphore
|
||||||
.type svcReleaseSemaphore, %function
|
|
||||||
svcReleaseSemaphore:
|
|
||||||
push {r0}
|
push {r0}
|
||||||
svc 0x16
|
svc 0x16
|
||||||
pop {r3}
|
pop {r3}
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCreateEvent
|
SVC_BEGIN svcCreateEvent
|
||||||
.type svcCreateEvent, %function
|
|
||||||
svcCreateEvent:
|
|
||||||
str r0, [sp, #-4]!
|
str r0, [sp, #-4]!
|
||||||
svc 0x17
|
svc 0x17
|
||||||
ldr r2, [sp], #4
|
ldr r2, [sp], #4
|
||||||
str r1, [r2]
|
str r1, [r2]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcSignalEvent
|
SVC_BEGIN svcSignalEvent
|
||||||
.type svcSignalEvent, %function
|
|
||||||
svcSignalEvent:
|
|
||||||
svc 0x18
|
svc 0x18
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcClearEvent
|
SVC_BEGIN svcClearEvent
|
||||||
.type svcClearEvent, %function
|
|
||||||
svcClearEvent:
|
|
||||||
svc 0x19
|
svc 0x19
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCreateTimer
|
SVC_BEGIN svcCreateTimer
|
||||||
.type svcCreateTimer, %function
|
|
||||||
svcCreateTimer:
|
|
||||||
str r0, [sp, #-4]!
|
str r0, [sp, #-4]!
|
||||||
svc 0x1A
|
svc 0x1A
|
||||||
ldr r2, [sp], #4
|
ldr r2, [sp], #4
|
||||||
str r1, [r2]
|
str r1, [r2]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcSetTimer
|
SVC_BEGIN svcSetTimer
|
||||||
.type svcSetTimer, %function
|
|
||||||
svcSetTimer:
|
|
||||||
svc 0x1B
|
svc 0x1B
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCancelTimer
|
SVC_BEGIN svcCancelTimer
|
||||||
.type svcCancelTimer, %function
|
|
||||||
svcCancelTimer:
|
|
||||||
svc 0x1C
|
svc 0x1C
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcClearTimer
|
SVC_BEGIN svcClearTimer
|
||||||
.type svcClearTimer, %function
|
|
||||||
svcClearTimer:
|
|
||||||
svc 0x1D
|
svc 0x1D
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCreateMemoryBlock
|
SVC_BEGIN svcCreateMemoryBlock
|
||||||
.type svcCreateMemoryBlock, %function
|
|
||||||
svcCreateMemoryBlock:
|
|
||||||
str r0, [sp, #-4]!
|
str r0, [sp, #-4]!
|
||||||
ldr r0, [sp, #4]
|
ldr r0, [sp, #4]
|
||||||
svc 0x1E
|
svc 0x1E
|
||||||
@ -198,30 +156,22 @@ svcCreateMemoryBlock:
|
|||||||
str r1, [r2]
|
str r1, [r2]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcMapMemoryBlock
|
SVC_BEGIN svcMapMemoryBlock
|
||||||
.type svcMapMemoryBlock, %function
|
|
||||||
svcMapMemoryBlock:
|
|
||||||
svc 0x1F
|
svc 0x1F
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcUnmapMemoryBlock
|
SVC_BEGIN svcUnmapMemoryBlock
|
||||||
.type svcUnmapMemoryBlock, %function
|
|
||||||
svcUnmapMemoryBlock:
|
|
||||||
svc 0x20
|
svc 0x20
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCreateAddressArbiter
|
SVC_BEGIN svcCreateAddressArbiter
|
||||||
.type svcCreateAddressArbiter, %function
|
|
||||||
svcCreateAddressArbiter:
|
|
||||||
push {r0}
|
push {r0}
|
||||||
svc 0x21
|
svc 0x21
|
||||||
pop {r2}
|
pop {r2}
|
||||||
str r1, [r2]
|
str r1, [r2]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcArbitrateAddress
|
SVC_BEGIN svcArbitrateAddress
|
||||||
.type svcArbitrateAddress, %function
|
|
||||||
svcArbitrateAddress:
|
|
||||||
push {r4, r5}
|
push {r4, r5}
|
||||||
add sp, #8
|
add sp, #8
|
||||||
ldr r5, [sp]
|
ldr r5, [sp]
|
||||||
@ -231,21 +181,15 @@ svcArbitrateAddress:
|
|||||||
pop {r4, r5}
|
pop {r4, r5}
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCloseHandle
|
SVC_BEGIN svcCloseHandle
|
||||||
.type svcCloseHandle, %function
|
|
||||||
svcCloseHandle:
|
|
||||||
svc 0x23
|
svc 0x23
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcWaitSynchronization
|
SVC_BEGIN svcWaitSynchronization
|
||||||
.type svcWaitSynchronization, %function
|
|
||||||
svcWaitSynchronization:
|
|
||||||
svc 0x24
|
svc 0x24
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcWaitSynchronizationN
|
SVC_BEGIN svcWaitSynchronizationN
|
||||||
.type svcWaitSynchronizationN, %function
|
|
||||||
svcWaitSynchronizationN:
|
|
||||||
str r5, [sp, #-4]!
|
str r5, [sp, #-4]!
|
||||||
str r4, [sp, #-4]!
|
str r4, [sp, #-4]!
|
||||||
mov r5, r0
|
mov r5, r0
|
||||||
@ -257,24 +201,18 @@ svcWaitSynchronizationN:
|
|||||||
ldr r5, [sp], #4
|
ldr r5, [sp], #4
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcDuplicateHandle
|
SVC_BEGIN svcDuplicateHandle
|
||||||
.type svcDuplicateHandle, %function
|
|
||||||
svcDuplicateHandle:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x27
|
svc 0x27
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetSystemTick
|
SVC_BEGIN svcGetSystemTick
|
||||||
.type svcGetSystemTick, %function
|
|
||||||
svcGetSystemTick:
|
|
||||||
svc 0x28
|
svc 0x28
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetSystemInfo
|
SVC_BEGIN svcGetSystemInfo
|
||||||
.type svcGetSystemInfo, %function
|
|
||||||
svcGetSystemInfo:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x2A
|
svc 0x2A
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
@ -282,9 +220,7 @@ svcGetSystemInfo:
|
|||||||
str r2, [r3,#4]
|
str r2, [r3,#4]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetProcessInfo
|
SVC_BEGIN svcGetProcessInfo
|
||||||
.type svcGetProcessInfo, %function
|
|
||||||
svcGetProcessInfo:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x2B
|
svc 0x2B
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
@ -292,9 +228,7 @@ svcGetProcessInfo:
|
|||||||
str r2, [r3,#4]
|
str r2, [r3,#4]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetThreadInfo
|
SVC_BEGIN svcGetThreadInfo
|
||||||
.type svcGetThreadInfo, %function
|
|
||||||
svcGetThreadInfo:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x2C
|
svc 0x2C
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
@ -302,81 +236,61 @@ svcGetThreadInfo:
|
|||||||
str r2, [r3,#4]
|
str r2, [r3,#4]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcConnectToPort
|
SVC_BEGIN svcConnectToPort
|
||||||
.type svcConnectToPort, %function
|
|
||||||
svcConnectToPort:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x2D
|
svc 0x2D
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcSendSyncRequest
|
SVC_BEGIN svcSendSyncRequest
|
||||||
.type svcSendSyncRequest, %function
|
|
||||||
svcSendSyncRequest:
|
|
||||||
svc 0x32
|
svc 0x32
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcOpenProcess
|
SVC_BEGIN svcOpenProcess
|
||||||
.type svcOpenProcess, %function
|
|
||||||
svcOpenProcess:
|
|
||||||
push {r0}
|
push {r0}
|
||||||
svc 0x33
|
svc 0x33
|
||||||
pop {r2}
|
pop {r2}
|
||||||
str r1, [r2]
|
str r1, [r2]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcOpenThread
|
SVC_BEGIN svcOpenThread
|
||||||
.type svcOpenThread, %function
|
|
||||||
svcOpenThread:
|
|
||||||
push {r0}
|
push {r0}
|
||||||
svc 0x34
|
svc 0x34
|
||||||
pop {r2}
|
pop {r2}
|
||||||
str r1, [r2]
|
str r1, [r2]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetProcessId
|
SVC_BEGIN svcGetProcessId
|
||||||
.type svcGetProcessId, %function
|
|
||||||
svcGetProcessId:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x35
|
svc 0x35
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetProcessIdOfThread
|
SVC_BEGIN svcGetProcessIdOfThread
|
||||||
.type svcGetProcessIdOfThread, %function
|
|
||||||
svcGetProcessIdOfThread:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x36
|
svc 0x36
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetThreadId
|
SVC_BEGIN svcGetThreadId
|
||||||
.type svcGetThreadId, %function
|
|
||||||
svcGetThreadId:
|
|
||||||
str r0, [sp, #-0x4]!
|
str r0, [sp, #-0x4]!
|
||||||
svc 0x37
|
svc 0x37
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcBreak
|
SVC_BEGIN svcBreak
|
||||||
.type svcBreak, %function
|
|
||||||
svcBreak:
|
|
||||||
svc 0x3C
|
svc 0x3C
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcOutputDebugString
|
SVC_BEGIN svcOutputDebugString
|
||||||
.type svcOutputDebugString, %function
|
|
||||||
svcOutputDebugString:
|
|
||||||
svc 0x3D
|
svc 0x3D
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcCreatePort
|
SVC_BEGIN svcCreatePort
|
||||||
.type svcCreatePort, %function
|
|
||||||
svcCreatePort:
|
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
svc 0x47
|
svc 0x47
|
||||||
ldr r3, [sp, #0]
|
ldr r3, [sp, #0]
|
||||||
@ -386,9 +300,7 @@ svcCreatePort:
|
|||||||
add sp, sp, #8
|
add sp, sp, #8
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcAcceptSession
|
SVC_BEGIN svcAcceptSession
|
||||||
.type svcAcceptSession, %function
|
|
||||||
svcAcceptSession:
|
|
||||||
str r0, [sp, #-4]!
|
str r0, [sp, #-4]!
|
||||||
svc 0x4A
|
svc 0x4A
|
||||||
ldr r2, [sp]
|
ldr r2, [sp]
|
||||||
@ -396,9 +308,7 @@ svcAcceptSession:
|
|||||||
add sp, sp, #4
|
add sp, sp, #4
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcReplyAndReceive
|
SVC_BEGIN svcReplyAndReceive
|
||||||
.type svcReplyAndReceive, %function
|
|
||||||
svcReplyAndReceive:
|
|
||||||
str r0, [sp, #-4]!
|
str r0, [sp, #-4]!
|
||||||
svc 0x4F
|
svc 0x4F
|
||||||
ldr r2, [sp]
|
ldr r2, [sp]
|
||||||
@ -406,21 +316,15 @@ svcReplyAndReceive:
|
|||||||
add sp, sp, #4
|
add sp, sp, #4
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcInvalidateProcessDataCache
|
SVC_BEGIN svcInvalidateProcessDataCache
|
||||||
.type svcInvalidateProcessDataCache, %function
|
|
||||||
svcInvalidateProcessDataCache:
|
|
||||||
svc 0x52
|
svc 0x52
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcFlushProcessDataCache
|
SVC_BEGIN svcFlushProcessDataCache
|
||||||
.type svcFlushProcessDataCache, %function
|
|
||||||
svcFlushProcessDataCache:
|
|
||||||
svc 0x54
|
svc 0x54
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcStartInterProcessDma
|
SVC_BEGIN svcStartInterProcessDma
|
||||||
.type svcStartInterProcessDma, %function
|
|
||||||
svcStartInterProcessDma:
|
|
||||||
stmfd sp!, {r0, r4, r5}
|
stmfd sp!, {r0, r4, r5}
|
||||||
ldr r0, [sp, #0xC]
|
ldr r0, [sp, #0xC]
|
||||||
ldr r4, [sp, #0x10]
|
ldr r4, [sp, #0x10]
|
||||||
@ -430,57 +334,41 @@ svcStartInterProcessDma:
|
|||||||
str r1, [r2]
|
str r1, [r2]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcStopDma
|
SVC_BEGIN svcStopDma
|
||||||
.type svcStopDma, %function
|
|
||||||
svcStopDma:
|
|
||||||
svc 0x56
|
svc 0x56
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetDmaState
|
SVC_BEGIN svcGetDmaState
|
||||||
.type svcGetDmaState, %function
|
|
||||||
svcGetDmaState:
|
|
||||||
str r0, [sp, #-4]!
|
str r0, [sp, #-4]!
|
||||||
svc 0x57
|
svc 0x57
|
||||||
ldr r3, [sp], #4
|
ldr r3, [sp], #4
|
||||||
str r1, [r3]
|
str r1, [r3]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcDebugActiveProcess
|
SVC_BEGIN svcDebugActiveProcess
|
||||||
.type svcDebugActiveProcess, %function
|
|
||||||
svcDebugActiveProcess:
|
|
||||||
push {r0}
|
push {r0}
|
||||||
svc 0x60
|
svc 0x60
|
||||||
pop {r2}
|
pop {r2}
|
||||||
str r1, [r2]
|
str r1, [r2]
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcBreakDebugProcess
|
SVC_BEGIN svcBreakDebugProcess
|
||||||
.type svcBreakDebugProcess, %function
|
|
||||||
svcBreakDebugProcess:
|
|
||||||
svc 0x61
|
svc 0x61
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcTerminateDebugProcess
|
SVC_BEGIN svcTerminateDebugProcess
|
||||||
.type svcTerminateDebugProcess, %function
|
|
||||||
svcTerminateDebugProcess:
|
|
||||||
svc 0x62
|
svc 0x62
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetProcessDebugEvent
|
SVC_BEGIN svcGetProcessDebugEvent
|
||||||
.type svcGetProcessDebugEvent, %function
|
|
||||||
svcGetProcessDebugEvent:
|
|
||||||
svc 0x63
|
svc 0x63
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcContinueDebugEvent
|
SVC_BEGIN svcContinueDebugEvent
|
||||||
.type svcContinueDebugEvent, %function
|
|
||||||
svcContinueDebugEvent:
|
|
||||||
svc 0x64
|
svc 0x64
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcGetProcessList
|
SVC_BEGIN svcGetProcessList
|
||||||
.type svcGetProcessList, %function
|
|
||||||
svcGetProcessList:
|
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
svc 0x65
|
svc 0x65
|
||||||
ldr r3, [sp, #0]
|
ldr r3, [sp, #0]
|
||||||
@ -490,21 +378,15 @@ svcGetProcessList:
|
|||||||
add sp, sp, #8
|
add sp, sp, #8
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcReadProcessMemory
|
SVC_BEGIN svcReadProcessMemory
|
||||||
.type svcReadProcessMemory, %function
|
|
||||||
svcReadProcessMemory:
|
|
||||||
svc 0x6A
|
svc 0x6A
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcWriteProcessMemory
|
SVC_BEGIN svcWriteProcessMemory
|
||||||
.type svcWriteProcessMemory, %function
|
|
||||||
svcWriteProcessMemory:
|
|
||||||
svc 0x6B
|
svc 0x6B
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcControlProcessMemory
|
SVC_BEGIN svcControlProcessMemory
|
||||||
.type svcControlProcessMemory, %function
|
|
||||||
svcControlProcessMemory:
|
|
||||||
push {r4-r5}
|
push {r4-r5}
|
||||||
ldr r4, [sp, #0x8]
|
ldr r4, [sp, #0x8]
|
||||||
ldr r5, [sp, #0xC]
|
ldr r5, [sp, #0xC]
|
||||||
@ -512,39 +394,27 @@ svcControlProcessMemory:
|
|||||||
pop {r4-r5}
|
pop {r4-r5}
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcMapProcessMemory
|
SVC_BEGIN svcMapProcessMemory
|
||||||
.type svcMapProcessMemory, %function
|
|
||||||
svcMapProcessMemory:
|
|
||||||
svc 0x71
|
svc 0x71
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcUnmapProcessMemory
|
SVC_BEGIN svcUnmapProcessMemory
|
||||||
.type svcUnmapProcessMemory, %function
|
|
||||||
svcUnmapProcessMemory:
|
|
||||||
svc 0x72
|
svc 0x72
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcTerminateProcess
|
SVC_BEGIN svcTerminateProcess
|
||||||
.type svcTerminateProcess, %function
|
|
||||||
svcTerminateProcess:
|
|
||||||
svc 0x76
|
svc 0x76
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcBackdoor
|
SVC_BEGIN svcBackdoor
|
||||||
.type svcBackdoor, %function
|
|
||||||
svcBackdoor:
|
|
||||||
svc 0x7B
|
svc 0x7B
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcKernelSetState
|
SVC_BEGIN svcKernelSetState
|
||||||
.type svcKernelSetState, %function
|
|
||||||
svcKernelSetState:
|
|
||||||
svc 0x7C
|
svc 0x7C
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
.global svcQueryProcessMemory
|
SVC_BEGIN svcQueryProcessMemory
|
||||||
.type svcQueryProcessMemory, %function
|
|
||||||
svcQueryProcessMemory:
|
|
||||||
push {r0, r1, r4-r6}
|
push {r0, r1, r4-r6}
|
||||||
svc 0x7D
|
svc 0x7D
|
||||||
ldr r6, [sp]
|
ldr r6, [sp]
|
||||||
|
Loading…
Reference in New Issue
Block a user