SVC: Difference between revisions
Aren't symbols amazing? Also complete SVC list. |
Fix broken table |
||
Line 53: | Line 53: | ||
| 0x19 || svcCancelSynchronization || W0=handle || W0=result | | 0x19 || svcCancelSynchronization || W0=handle || W0=result | ||
|- | |- | ||
| 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle || | | 0x1A || svcArbitrateLock || W0=cur_thread_handle, X1=ptr, W2=req_thread_handle || | ||
|- | |- | ||
| 0x1B || svcArbitrateUnlock || X0=ptr || | | 0x1B || svcArbitrateUnlock || X0=ptr || | ||
Line 61: | Line 61: | ||
| 0x1D || svc:SignalProcessWideKey || X0=ptr, W1=value || W0=result | | 0x1D || svc:SignalProcessWideKey || X0=ptr, W1=value || W0=result | ||
|- | |- | ||
| 0x1E || svcGetSystemTick || | | 0x1E || svcGetSystemTick || || | ||
|- | |- | ||
| 0x1F || svcConnectToPort || X1=port_name_str || W0=result, W1=handle | | 0x1F || svcConnectToPort || X1=port_name_str || W0=result, W1=handle | ||
|- | |- | ||
| 0x20 || svcSendSyncRequestLight || | | 0x20 || svcSendSyncRequestLight || || | ||
|- | |- | ||
| 0x21 || svcSendSyncRequest || X0=handle || W0=result | | 0x21 || svcSendSyncRequest || X0=handle || W0=result | ||
Line 71: | Line 71: | ||
| 0x22 || [[#svcSendSyncRequestWithUserBuffer]] || X0=cmdbufptr, X1=size, X2=handle || W0=result | | 0x22 || [[#svcSendSyncRequestWithUserBuffer]] || X0=cmdbufptr, X1=size, X2=handle || W0=result | ||
|- | |- | ||
| 0x23 || svcSendAsyncRequestWithUserBuffer || | | 0x23 || svcSendAsyncRequestWithUserBuffer || || | ||
|- | |- | ||
| 0x24 || svcGetProcessId || | | 0x24 || svcGetProcessId || || | ||
|- | |- | ||
| 0x25 || svcGetThreadId || W0=thread_handle || W0=result, X1=out | | 0x25 || svcGetThreadId || W0=thread_handle || W0=result, X1=out | ||
Line 79: | Line 79: | ||
| 0x26 || svcBreak || X0,X1,X2=info || ? | | 0x26 || svcBreak || X0,X1,X2=info || ? | ||
|- | |- | ||
| 0x27 || svcOutputDebugString || X0=str, X1=size || | | 0x27 || svcOutputDebugString || X0=str, X1=size || | ||
|- | |- | ||
| 0x28 || svcReturnFromException || X0=result || | | 0x28 || svcReturnFromException || X0=result || | ||
|- | |- | ||
| 0x29 || [[#svcGetInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out | | 0x29 || [[#svcGetInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out | ||
|- | |- | ||
| 0x2A || svcFlushEntireDataCache || | | 0x2A || svcFlushEntireDataCache || || | ||
|- | |- | ||
| 0x2B || svcFlushDataCache || | | 0x2B || svcFlushDataCache || || | ||
|- | |- | ||
| .... || ? || ? || ? | | .... || ? || ? || ? | ||
|- | |- | ||
| 0x2F || svcGetLastThreadInfo || | | 0x2F || svcGetLastThreadInfo || || | ||
|- | |- | ||
| 0x30 || svcGetResourceLimitLimitValue || | | 0x30 || svcGetResourceLimitLimitValue || || | ||
|- | |- | ||
| 0x31 || svcGetResourceLimitCurrentValue || | | 0x31 || svcGetResourceLimitCurrentValue || || | ||
|- | |- | ||
| 0x32 || svcSetThreadActivity || | | 0x32 || svcSetThreadActivity || || | ||
|- | |- | ||
| 0x33 || svcGetThreadContext3 || | | 0x33 || svcGetThreadContext3 || || | ||
|- | |- | ||
| .... || ? || ? || ? | | .... || ? || ? || ? | ||
|- | |- | ||
| 0x3C || svcDumpInfo || | | 0x3C || svcDumpInfo || || | ||
|- | |- | ||
| .... || ? || ? || ? | | .... || ? || ? || ? | ||
Line 111: | Line 111: | ||
| 0x41 || svcAcceptSession || W1=port_handle || W0=result, W1=session_handle | | 0x41 || svcAcceptSession || W1=port_handle || W0=result, W1=session_handle | ||
|- | |- | ||
| 0x42 || svcReplyAndReceiveLight || | | 0x42 || svcReplyAndReceiveLight || || | ||
|- | |- | ||
| 0x43 || svcReplyAndReceive || X1=ptr_handles, W2=num_handles, X3=?, X4=timeout || W0=result, W1=handle_idx | | 0x43 || svcReplyAndReceive || X1=ptr_handles, W2=num_handles, X3=?, X4=timeout || W0=result, W1=handle_idx | ||
Line 121: | Line 121: | ||
| .... || ? || ? || ? | | .... || ? || ? || ? | ||
|- | |- | ||
| 0x4D || svcSleepSystem || | | 0x4D || svcSleepSystem || || | ||
|- | |- | ||
| 0x4E || svcReadWriteRegister || | | 0x4E || svcReadWriteRegister || || | ||
|- | |- | ||
| 0x4F || svcSetProcessActivity || | | 0x4F || svcSetProcessActivity || || | ||
|- | |- | ||
| 0x50 || svcCreateSharedMemory || W1=size?, W2=perm0, W3=perm1 || W0=result, W1=handle | | 0x50 || svcCreateSharedMemory || W1=size?, W2=perm0, W3=perm1 || W0=result, W1=handle | ||
Line 133: | Line 133: | ||
| 0x52 || [[#svcUnmapTransferMemory]] || W0=mirror_handle, X1=addr, X2=size || W0=result | | 0x52 || [[#svcUnmapTransferMemory]] || W0=mirror_handle, X1=addr, X2=size || W0=result | ||
|- | |- | ||
| 0x53 || svcCreateInterruptEvent || | | 0x53 || svcCreateInterruptEvent || || | ||
|- | |- | ||
| 0x54 || svcQueryPhysicalAddress || | | 0x54 || svcQueryPhysicalAddress || || | ||
|- | |- | ||
| 0x55 || svcQueryToMapping || | | 0x55 || svcQueryToMapping || || | ||
|- | |- | ||
| 0x56 || svcCreateDeviceAddressSpace || | | 0x56 || svcCreateDeviceAddressSpace || || | ||
|- | |- | ||
| 0x57 || svcAttachDeviceAddressSpace || | | 0x57 || svcAttachDeviceAddressSpace || || | ||
|- | |- | ||
| 0x58 || svcDetachDeviceAddressSpace || | | 0x58 || svcDetachDeviceAddressSpace || || | ||
|- | |- | ||
| 0x59 || svcMapDeviceAddressSpaceByForce || | | 0x59 || svcMapDeviceAddressSpaceByForce || || | ||
|- | |- | ||
| 0x5A || svcMapDeviceAddressSpaceAligned || | | 0x5A || svcMapDeviceAddressSpaceAligned || || | ||
|- | |- | ||
| 0x5B || svcMapDeviceAddressSpace || | | 0x5B || svcMapDeviceAddressSpace || || | ||
|- | |- | ||
| 0x5C || svcUnmapDeviceAddressSpace || | | 0x5C || svcUnmapDeviceAddressSpace || || | ||
|- | |- | ||
| 0x5D || svcInvalidateProcessDataCache || | | 0x5D || svcInvalidateProcessDataCache || || | ||
|- | |- | ||
| 0x5E || svcStoreProcessDataCache || | | 0x5E || svcStoreProcessDataCache || || | ||
|- | |- | ||
| 0x5F || svcFlushProcessDataCache || | | 0x5F || svcFlushProcessDataCache || || | ||
|- | |- | ||
| 0x60 || svcDebugActiveProcess || | | 0x60 || svcDebugActiveProcess || || | ||
|- | |- | ||
| 0x61 || svcBreakDebugProcess || | | 0x61 || svcBreakDebugProcess || || | ||
|- | |- | ||
| 0x62 || svcTerminateDebugProcess || | | 0x62 || svcTerminateDebugProcess || || | ||
|- | |- | ||
| 0x63 || svcGetDebugEvent || | | 0x63 || svcGetDebugEvent || || | ||
|- | |- | ||
| 0x64 || svcContinueDebugEvent || | | 0x64 || svcContinueDebugEvent || || | ||
|- | |- | ||
| 0x65 || svcGetProcessList || | | 0x65 || svcGetProcessList || || | ||
|- | |- | ||
| 0x66 || svcGetThreadList || | | 0x66 || svcGetThreadList || || | ||
|- | |- | ||
| 0x67 || svcGetDebugThreadContext || | | 0x67 || svcGetDebugThreadContext || || | ||
|- | |- | ||
| 0x68 || svcSetDebugThreadContext || | | 0x68 || svcSetDebugThreadContext || || | ||
|- | |- | ||
| 0x69 || svcQueryDebugProcessMemory || | | 0x69 || svcQueryDebugProcessMemory || || | ||
|- | |- | ||
| 0x6A || svcReadDebugProcessMemory || | | 0x6A || svcReadDebugProcessMemory || || | ||
|- | |- | ||
| 0x6B || svcWriteDebugProcessMemory || | | 0x6B || svcWriteDebugProcessMemory || || | ||
|- | |- | ||
| 0x6C || svcSetHardwareBreakPoint || | | 0x6C || svcSetHardwareBreakPoint || || | ||
|- | |- | ||
| 0x6D || svcGetDebugThreadParam || | | 0x6D || svcGetDebugThreadParam || || | ||
|- | |- | ||
| .... || ? || ? || ? | | .... || ? || ? || ? | ||
|- | |- | ||
| 0x70 || svcCreatePort || | | 0x70 || svcCreatePort || || | ||
|- | |- | ||
| 0x71 || svcManageNamedPort || | | 0x71 || svcManageNamedPort || || | ||
|- | |- | ||
| 0x72 || svcConnectToPort || | | 0x72 || svcConnectToPort || || | ||
|- | |- | ||
| 0x73 || svcSetProcessMemoryPermission || | | 0x73 || svcSetProcessMemoryPermission || || | ||
|- | |- | ||
| 0x74 || svcMapProcessMemory || | | 0x74 || svcMapProcessMemory || || | ||
|- | |- | ||
| 0x75 || svcUnmapProcessMemory || | | 0x75 || svcUnmapProcessMemory || || | ||
|- | |- | ||
| 0x76 || svcQueryProcessMemory || | | 0x76 || svcQueryProcessMemory || || | ||
|- | |- | ||
| 0x77 || svcMapProcessCodeMemory || | | 0x77 || svcMapProcessCodeMemory || || | ||
|- | |- | ||
| 0x78 || svcUnmapProcessCodeMemory || | | 0x78 || svcUnmapProcessCodeMemory || || | ||
|- | |- | ||
| 0x79 || svcCreateProcess || | | 0x79 || svcCreateProcess || || | ||
|- | |- | ||
| 0x7A || svcStartProcess || | | 0x7A || svcStartProcess || || | ||
|- | |- | ||
| 0x7B || svcTerminateProcess || | | 0x7B || svcTerminateProcess || || | ||
|- | |- | ||
| 0x7C || svcGetProcessInfo || | | 0x7C || svcGetProcessInfo || || | ||
|- | |- | ||
| 0x7D || svcCreateResourceLimit || | | 0x7D || svcCreateResourceLimit || || | ||
|- | |- | ||
| 0x7E || svcSetResourceLimitLimitValue || | | 0x7E || svcSetResourceLimitLimitValue || || | ||
|- | |- | ||
| 0x7F || svcCallSecureMonitor || | | 0x7F || svcCallSecureMonitor || || | ||
|} | |} | ||