2014-01-18 23:18:03 +01:00
|
|
|
.arm
|
|
|
|
.align 4
|
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcControlMemory
|
|
|
|
.type svcControlMemory, %function
|
|
|
|
svcControlMemory:
|
2014-12-03 23:40:49 +01:00
|
|
|
push {r0, r4}
|
|
|
|
ldr r0, [sp, #0x8]
|
|
|
|
ldr r4, [sp, #0x8+0x4]
|
|
|
|
svc 0x01
|
|
|
|
ldr r2, [sp], #4
|
|
|
|
str r1, [r2]
|
|
|
|
ldr r4, [sp], #4
|
|
|
|
bx lr
|
2014-01-18 23:18:03 +01:00
|
|
|
|
2014-10-27 00:07:07 +01:00
|
|
|
.global svcQueryMemory
|
|
|
|
.type svcQueryMemory, %function
|
|
|
|
svcQueryMemory:
|
2014-12-03 23:40:49 +01:00
|
|
|
push {r0, r1, r4-r6}
|
|
|
|
svc 0x02
|
|
|
|
ldr r6, [sp]
|
|
|
|
str r1, [r6]
|
|
|
|
str r2, [r6, #4]
|
|
|
|
str r3, [r6, #8]
|
|
|
|
str r4, [r6, #0xc]
|
|
|
|
ldr r6, [sp, #4]
|
|
|
|
str r5, [r6]
|
|
|
|
add sp, sp, #8
|
|
|
|
pop {r4-r6}
|
|
|
|
bx lr
|
2014-10-27 00:07:07 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcExitProcess
|
|
|
|
.type svcExitProcess, %function
|
|
|
|
svcExitProcess:
|
2014-01-19 13:33:28 +01:00
|
|
|
svc 0x03
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-19 13:33:28 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcCreateThread
|
|
|
|
.type svcCreateThread, %function
|
|
|
|
svcCreateThread:
|
2014-12-03 23:40:49 +01:00
|
|
|
push {r0, r4}
|
|
|
|
ldr r0, [sp, #0x8]
|
|
|
|
ldr r4, [sp, #0x8+0x4]
|
|
|
|
svc 0x08
|
|
|
|
ldr r2, [sp], #4
|
|
|
|
str r1, [r2]
|
|
|
|
ldr r4, [sp], #4
|
|
|
|
bx lr
|
2014-02-01 00:23:59 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcExitThread
|
|
|
|
.type svcExitThread, %function
|
|
|
|
svcExitThread:
|
2014-02-01 00:23:59 +01:00
|
|
|
svc 0x09
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-02-01 00:23:59 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcSleepThread
|
|
|
|
.type svcSleepThread, %function
|
|
|
|
svcSleepThread:
|
2014-01-18 23:18:03 +01:00
|
|
|
svc 0x0A
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
|
|
|
|
|
|
|
.global svcSetThreadPriority
|
|
|
|
.type svcSetThreadPriority, %function
|
|
|
|
svcSetThreadPriority:
|
|
|
|
svc 0x0C
|
|
|
|
bx lr
|
2014-01-18 23:18:03 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcCreateMutex
|
|
|
|
.type svcCreateMutex, %function
|
|
|
|
svcCreateMutex:
|
2014-02-01 13:27:52 +01:00
|
|
|
str r0, [sp, #-4]!
|
|
|
|
svc 0x13
|
|
|
|
ldr r3, [sp], #4
|
|
|
|
str r1, [r3]
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-02-01 13:27:52 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcReleaseMutex
|
|
|
|
.type svcReleaseMutex, %function
|
|
|
|
svcReleaseMutex:
|
2014-01-20 20:57:54 +01:00
|
|
|
svc 0x14
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-20 20:57:54 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcCreateEvent
|
|
|
|
.type svcCreateEvent, %function
|
|
|
|
svcCreateEvent:
|
2014-12-03 23:40:49 +01:00
|
|
|
str r0, [sp, #-4]!
|
2014-01-18 23:18:03 +01:00
|
|
|
svc 0x17
|
|
|
|
ldr r2, [sp], #4
|
|
|
|
str r1, [r2]
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-18 23:18:03 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcSignalEvent
|
|
|
|
.type svcSignalEvent, %function
|
|
|
|
svcSignalEvent:
|
2014-04-28 03:28:48 +02:00
|
|
|
svc 0x18
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-04-28 03:28:48 +02:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcClearEvent
|
|
|
|
.type svcClearEvent, %function
|
|
|
|
svcClearEvent:
|
2014-01-20 20:57:54 +01:00
|
|
|
svc 0x19
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-10-31 01:17:43 +01:00
|
|
|
|
|
|
|
.global svcCreateTimer
|
|
|
|
.type svcCreateTimer, %function
|
|
|
|
svcCreateTimer:
|
2014-12-03 23:40:49 +01:00
|
|
|
str r0, [sp, #-4]!
|
2014-10-31 01:17:43 +01:00
|
|
|
svc 0x1A
|
|
|
|
ldr r2, [sp], #4
|
|
|
|
str r1, [r2]
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-10-31 01:17:43 +01:00
|
|
|
|
|
|
|
.global svcSetTimer
|
|
|
|
.type svcSetTimer, %function
|
|
|
|
svcSetTimer:
|
|
|
|
svc 0x1B
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-10-31 01:17:43 +01:00
|
|
|
|
|
|
|
.global svcCancelTimer
|
|
|
|
.type svcCancelTimer, %function
|
|
|
|
svcCancelTimer:
|
|
|
|
svc 0x1C
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-10-31 01:17:43 +01:00
|
|
|
|
|
|
|
.global svcClearTimer
|
|
|
|
.type svcClearTimer, %function
|
|
|
|
svcClearTimer:
|
|
|
|
svc 0x1D
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-20 20:57:54 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcCreateMemoryBlock
|
|
|
|
.type svcCreateMemoryBlock, %function
|
|
|
|
svcCreateMemoryBlock:
|
2014-01-28 23:50:51 +01:00
|
|
|
str r0, [sp, #-4]!
|
|
|
|
ldr r0, [sp, #4]
|
|
|
|
svc 0x1E
|
|
|
|
ldr r2, [sp], #4
|
|
|
|
str r1, [r2]
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-28 23:50:51 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcMapMemoryBlock
|
|
|
|
.type svcMapMemoryBlock, %function
|
|
|
|
svcMapMemoryBlock:
|
2014-01-18 23:18:03 +01:00
|
|
|
svc 0x1F
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-18 23:18:03 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcUnmapMemoryBlock
|
|
|
|
.type svcUnmapMemoryBlock, %function
|
|
|
|
svcUnmapMemoryBlock:
|
2014-02-03 18:06:58 +01:00
|
|
|
svc 0x20
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-02-03 18:06:58 +01:00
|
|
|
|
2014-11-20 22:33:21 +01:00
|
|
|
.global svcCreateAddressArbiter
|
|
|
|
.type svcCreateAddressArbiter, %function
|
|
|
|
svcCreateAddressArbiter:
|
|
|
|
svc 0x21
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-11-20 22:33:21 +01:00
|
|
|
|
|
|
|
.global svcArbitrateAddress
|
|
|
|
.type svcArbitrateAddress, %function
|
|
|
|
svcArbitrateAddress:
|
2014-12-03 23:40:49 +01:00
|
|
|
push {r4, r5}
|
2014-11-20 22:33:21 +01:00
|
|
|
add sp, #8
|
|
|
|
ldr r5, [sp]
|
|
|
|
ldr r4, [sp, #4]
|
|
|
|
sub sp, #8
|
|
|
|
svc 0x22
|
2014-12-03 23:40:49 +01:00
|
|
|
pop {r4, r5}
|
|
|
|
bx lr
|
2014-11-20 22:33:21 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcCloseHandle
|
|
|
|
.type svcCloseHandle, %function
|
|
|
|
svcCloseHandle:
|
2014-01-18 23:18:03 +01:00
|
|
|
svc 0x23
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-18 23:18:03 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcWaitSynchronization
|
|
|
|
.type svcWaitSynchronization, %function
|
|
|
|
svcWaitSynchronization:
|
2014-01-18 23:18:03 +01:00
|
|
|
svc 0x24
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-18 23:18:03 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcWaitSynchronizationN
|
|
|
|
.type svcWaitSynchronizationN, %function
|
|
|
|
svcWaitSynchronizationN:
|
2014-01-29 23:17:02 +01:00
|
|
|
str r5, [sp, #-4]!
|
2014-11-25 04:58:07 +01:00
|
|
|
str r4, [sp, #-4]!
|
2014-01-19 21:49:01 +01:00
|
|
|
mov r5, r0
|
2014-11-25 04:58:07 +01:00
|
|
|
ldr r0, [sp, #0x8]
|
|
|
|
ldr r4, [sp, #0x8+0x4]
|
2014-01-19 21:49:01 +01:00
|
|
|
svc 0x25
|
|
|
|
str r1, [r5]
|
2014-11-25 04:58:07 +01:00
|
|
|
ldr r4, [sp], #4
|
2014-01-29 23:17:02 +01:00
|
|
|
ldr r5, [sp], #4
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-19 21:49:01 +01:00
|
|
|
|
2014-08-17 22:37:49 +02:00
|
|
|
.global svcDuplicateHandle
|
|
|
|
.type svcDuplicateHandle, %function
|
|
|
|
svcDuplicateHandle:
|
2014-12-03 23:40:49 +01:00
|
|
|
str r0, [sp, #-0x4]!
|
2014-08-17 22:37:49 +02:00
|
|
|
svc 0x27
|
|
|
|
ldr r3, [sp], #4
|
|
|
|
str r1, [r3]
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-08-17 22:37:49 +02:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcGetSystemTick
|
|
|
|
.type svcGetSystemTick, %function
|
|
|
|
svcGetSystemTick:
|
2014-04-28 03:28:48 +02:00
|
|
|
svc 0x28
|
|
|
|
bx lr
|
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcGetSystemInfo
|
|
|
|
.type svcGetSystemInfo, %function
|
|
|
|
svcGetSystemInfo:
|
2014-12-03 23:40:49 +01:00
|
|
|
push {r0, r4}
|
|
|
|
svc 0x2A
|
|
|
|
ldr r4, [sp], #4
|
|
|
|
str r1, [r4]
|
|
|
|
str r2, [r4, #4]
|
|
|
|
str r3, [r4, #8]
|
|
|
|
ldr r4, [sp], #4
|
|
|
|
bx lr
|
2014-02-03 18:06:58 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcGetProcessInfo
|
|
|
|
.type svcGetProcessInfo, %function
|
|
|
|
svcGetProcessInfo:
|
2014-12-03 23:40:49 +01:00
|
|
|
push {r0,r4}
|
|
|
|
svc 0x2B
|
|
|
|
ldr r4, [sp], #4
|
|
|
|
str r1, [r4]
|
|
|
|
str r2, [r4, #4]
|
|
|
|
ldr r4, [sp], #4
|
|
|
|
bx lr
|
2014-07-23 07:23:20 +02:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcConnectToPort
|
|
|
|
.type svcConnectToPort, %function
|
|
|
|
svcConnectToPort:
|
2014-12-03 23:40:49 +01:00
|
|
|
str r0, [sp, #-0x4]!
|
2014-01-18 23:18:03 +01:00
|
|
|
svc 0x2D
|
|
|
|
ldr r3, [sp], #4
|
|
|
|
str r1, [r3]
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-01-18 23:18:03 +01:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcSendSyncRequest
|
|
|
|
.type svcSendSyncRequest, %function
|
|
|
|
svcSendSyncRequest:
|
2014-01-18 23:18:03 +01:00
|
|
|
svc 0x32
|
|
|
|
bx lr
|
2014-04-28 03:28:48 +02:00
|
|
|
|
2014-07-28 20:58:47 +02:00
|
|
|
.global svcGetProcessId
|
|
|
|
.type svcGetProcessId, %function
|
|
|
|
svcGetProcessId:
|
2014-12-03 23:40:49 +01:00
|
|
|
str r0, [sp, #-0x4]!
|
2014-04-28 03:28:48 +02:00
|
|
|
svc 0x35
|
|
|
|
ldr r3, [sp], #4
|
|
|
|
str r1, [r3]
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-11-29 21:40:59 +01:00
|
|
|
|
2014-09-20 14:45:45 +02:00
|
|
|
.global svcOutputDebugString
|
|
|
|
.type svcOutputDebugString, %function
|
|
|
|
svcOutputDebugString:
|
2014-12-03 23:40:49 +01:00
|
|
|
str r0, [sp, #-0x4]!
|
2014-11-29 21:40:59 +01:00
|
|
|
svc 0x3D
|
|
|
|
ldr r2, [sp], #4
|
|
|
|
str r1, [r2]
|
2014-12-03 23:40:49 +01:00
|
|
|
bx lr
|
2014-12-04 18:04:59 +01:00
|
|
|
|
|
|
|
.global svcCreateSemaphore
|
|
|
|
.type svcCreateSemaphore, %function
|
|
|
|
svcCreateSemaphore:
|
2014-12-09 00:15:04 +01:00
|
|
|
push {r0}
|
|
|
|
svc 0x15
|
|
|
|
pop {r3}
|
|
|
|
str r1, [r3]
|
|
|
|
bx lr
|
|
|
|
|
2014-12-04 18:04:59 +01:00
|
|
|
.global svcReleaseSemaphore
|
|
|
|
.type svcReleaseSemaphore, %function
|
|
|
|
svcReleaseSemaphore:
|
2014-12-09 00:15:04 +01:00
|
|
|
push {r0}
|
|
|
|
svc 0x16
|
|
|
|
pop {r3}
|
|
|
|
str r1, [r3]
|
|
|
|
bx lr
|
2014-12-04 03:15:38 +01:00
|
|
|
|
|
|
|
.global svcGetThreadId
|
|
|
|
.type svcGetThreadId, %function
|
|
|
|
svcGetThreadId:
|
2014-12-09 00:15:04 +01:00
|
|
|
str r0, [sp, #-0x4]!
|
|
|
|
svc 0x37
|
|
|
|
ldr r3, [sp], #4
|
|
|
|
str r1, [r3]
|
|
|
|
bx lr
|