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 || ||  
|}
|}