Inputs are read from registers starting from r0 and outputs are written back to the same registers (also starting with r0).
ID
|
Name
|
Inputs
|
Outputs
|
0x01
|
ControlMemory
|
r0 : MemoryOperation operation
r1 : u32/void* addr0
r2 : u32/void* addr1
r3 : u32 size
r4 : MemoryPermission permissions
|
r0 : Result
r1 : u32/void* addr_out
|
0x02
|
QueryMemory
|
r2 ?: u32/void* addr
|
r0 : Result
r1 : u32 base_process_virtual_address
r2 : u32 size
r3 : MemoryPermission permission
r4 : MemoryState state
r5 : PageFlags page_flags
|
0x03
|
ExitProcess
|
None
|
None, doesn't return
|
0x04
|
GetProcessAffinityMask
|
r0 : [out] u8* affinitymask
r1 : Handle<KProcess> process
r2 : s32 processorcount
|
r0 : Result
|
0x05
|
SetProcessAffinityMask
|
r0 : Handle<KProcess> process
r1 : [in] const u8* affinitymask
r2 : s32 processorcount
|
r0 : Result
|
0x06
|
GetProcessIdealProcessor
|
r1 ?: Handle<KProcess> process
|
r0 : Result
r1 : s32 processorid
r2 : Clobbered?
|
0x07
|
SetProcessIdealProcessor
|
r0 : Handle<KProcess> process
r1 : s32 processorid
|
r0 : Result
|
0x08
|
CreateThread
|
r0 : s32 thread_priority
r1 : ThreadFunc entrypoint
r2 : u32 arg
r3 : u32/void* stack_top
r4 : s32 processor_id
|
r0 : Result
r1 : Handle<KThread> thread_handle
|
0x09
|
ExitThread
|
None
|
None, doesn't return
|
0x0A
|
SleepThread
|
r0-r1 : s64 nanoseconds
|
None
|
0x0B
|
GetThreadPriority
|
r0 : Ignored?
r1 : Handle thread_handle
|
r0 : Result
r1 : s32 thread_priority
r2 : Clobbered?
|
0x0C
|
SetThreadPriority
|
r0 : Handle<KThread> thread_handle
r1 : s32 thread_priority
|
r0 : Result
|
0x0D
|
GetThreadAffinityMask
|
r0 : [out] u8* affinitymask
r1 : Handle<KThread> thread_handle
r2 : s32 processorcount
|
r0 : Result
|
0x0E
|
SetThreadAffinityMask
|
r0 : Handle<KThread> thread_handle
r1 : [in] const u8* affinitymask
r2 : s32 processorcount
|
r0 : Result
|
0x0F
|
GetThreadIdealProcessor
|
r0 : Ignored?
r1 : Handle<KThread> thread_handle
|
r0 : Result
r1 : s32 processorid
|
0x10
|
SetThreadIdealProcessor
|
r0 : Handle<KThread> thread_handle
r1 : s32 processorid
|
r0 : Result
|
0x11
|
GetProcessorID
|
None
|
r0 : s32 processorid
|
0x24
|
WaitSynchronization1
|
r0 : Handle<KSynchronizationObject> handle
r2-r3 : s64 timeout
|
r0 : Result
|
0x1B
|
SetTimer
|
Timer handle, initial_low, interval_low, initial_high, interval_high
|
Result
|
0x2D
|
ConnectToPort
|
??
r1 : pointer to port name
|
r0 : Result
r1 : handle to KClientSession
|
0x32
|
SendSyncRequest
|
r0 : handle to KClientSession
|
r0 : Result
|