Line 12:
Line 12:
|
|
<code>r0</code>: <code>[[Memory Management#enum_MemoryOperation|MemoryOperation]] operation</code><br>
<code>r0</code>: <code>[[Memory Management#enum_MemoryOperation|MemoryOperation]] operation</code><br>
−
<code>r1</code>: <code>u32 addr0</code><br>
+
<code>r1</code>: <code>u32/void* addr0</code><br>
−
<code>r2</code>: <code>u32 addr1</code><br>
+
<code>r2</code>: <code>u32/void* addr1</code><br>
<code>r3</code>: <code>u32 size</code><br>
<code>r3</code>: <code>u32 size</code><br>
<code>r4</code>: <code>[[Memory Management#enum_MemoryPermission|MemoryPermission]] permissions</code>
<code>r4</code>: <code>[[Memory Management#enum_MemoryPermission|MemoryPermission]] permissions</code>
|
|
<code>r0</code>: <code>Result</code><br>
<code>r0</code>: <code>Result</code><br>
−
<code>r1</code>: <code>u32 addr_out</code>
+
<code>r1</code>: <code>u32/void* addr_out</code>
+
|-
+
| 0x02
+
| QueryMemory
+
|
+
<code>r2</code>?: <code>u32/void* addr</code>
+
|
+
<code>r0</code>: <code>Result</code><br>
+
<code>r1</code>: <code>u32 base_process_virtual_address</code><br>
+
<code>r2</code>: <code>u32 size</code><br>
+
<code>r3</code>: <code>[[Memory Management#enum_MemoryPermission|MemoryPermission]] permission</code><br>
+
<code>r4</code>: <code>[[Memory_Management#enum_MemoryState|MemoryState]] state</code><br>
+
<code>r5</code>: <code>[[Memory_Management#enum_PageFlags|PageFlags]] page_flags</code>
+
|-
+
| 0x03
+
| ExitProcess
+
| None
+
| None, doesn't return
+
|-
+
| 0x04
+
| GetProcessAffinityMask
+
|
+
<code>r0</code>: <code>[out] u8* affinitymask</code><br>
+
<code>r1</code>: <code>Handle<[[KProcess]]> process</code><br>
+
<code>r2</code>: <code>s32 processorcount</code>
+
|
+
<code>r0</code>: <code>Result</code>
+
|-
+
| 0x05
+
| SetProcessAffinityMask
+
|
+
<code>r0</code>: <code>Handle<[[KProcess]]> process</code><br>
+
<code>r1</code>: <code>[in] const u8* affinitymask</code><br>
+
<code>r2</code>: <code>s32 processorcount</code>
+
|
+
<code>r0</code>: <code>Result</code>
+
|-
+
| 0x06
+
| GetProcessIdealProcessor
+
|
+
<code>r1</code>?: <code>Handle<[[KProcess]]> process</code>
+
|
+
<code>r0</code>: <code>Result</code><br>
+
<code>r1</code>: <code>s32 processorid</code><br>
+
<code>r2</code>: Clobbered?
+
|-
+
| 0x07
+
| SetProcessIdealProcessor
+
|
+
<code>r0</code>: <code>Handle<[[KProcess]]> process</code><br>
+
<code>r1</code>: <code>s32 processorid</code>
+
|
+
<code>r0</code>: <code>Result</code><br>
+
|-
+
| 0x08
+
| CreateThread
+
|
+
<code>r0</code>: <code>s32 thread_priority</code><br>
+
<code>r1</code>: <code>ThreadFunc entrypoint</code><br>
+
<code>r2</code>: <code>u32 arg</code><br>
+
<code>r3</code>: <code>u32/void* stack_top</code><br>
+
<code>r4</code>: <code>s32 processor_id</code>
+
|
+
<code>r0</code>: <code>Result</code><br>
+
<code>r1</code>: <code>Handle<[[KThread]]> thread_handle</code>
+
|-
+
| 0x09
+
| ExitThread
+
| None
+
| None, doesn't return
+
|-
+
| 0x0A
+
| SleepThread
+
|
+
<code>r0-r1</code>: <code>s64 nanoseconds</code>
+
| None
+
|-
+
| 0x0B
+
| GetThreadPriority
+
|
+
<code>r0</code>: Ignored?<br>
+
<code>r1</code>: <code>Handle thread_handle</code>
+
|
+
<code>r0</code>: <code>Result</code><br>
+
<code>r1</code>: <code>s32 thread_priority</code><br>
+
<code>r2</code>: Clobbered?
+
|-
+
| 0x0C
+
| SetThreadPriority
+
|
+
<code>r0</code>: <code>Handle<[[KThread]]> thread_handle</code><br>
+
<code>r1</code>: <code>s32 thread_priority</code>
+
|
+
<code>r0</code>: <code>Result</code>
+
|-
+
| 0x0D
+
| GetThreadAffinityMask
+
|
+
<code>r0</code>: <code>[out] u8* affinitymask</code><br>
+
<code>r1</code>: <code>Handle<[[KThread]]> thread_handle</code><br>
+
<code>r2</code>: <code>s32 processorcount</code>
+
|
+
<code>r0</code>: <code>Result</code>
+
|-
+
| 0x0E
+
| SetThreadAffinityMask
+
|
+
<code>r0</code>: <code>Handle<[[KThread]]> thread_handle</code><br>
+
<code>r1</code>: <code>[in] const u8* affinitymask</code><br>
+
<code>r2</code>: <code>s32 processorcount</code>
+
|
+
<code>r0</code>: <code>Result</code>
+
|-
+
| 0x0F
+
| GetThreadIdealProcessor
+
|
+
<code>r0</code>: Ignored?<br>
+
<code>r1</code>: <code>Handle<[[KThread]]> thread_handle</code>
+
|
+
<code>r0</code>: <code>Result</code><br>
+
<code>r1</code>: <code>s32 processorid</code>
+
|-
+
| 0x10
+
| SetThreadIdealProcessor
+
|
+
<code>r0</code>: <code>Handle<[[KThread]]> thread_handle</code><br>
+
<code>r1</code>: <code>s32 processorid</code>
+
|
+
<code>r0</code>: <code>Result</code>
+
|-
+
| 0x11
+
| GetProcessorID
+
|
+
None
+
|
+
<code>r0</code>: <code>s32 processorid</code>
+
|-
+
| 0x24
+
| WaitSynchronization1
+
|
+
<code>r0</code>: <code>Handle<[[KSynchronizationObject]]> handle</code><br>
+
<code>r2-r3</code>: <code>s64 timeout</code>
+
|
+
<code>r0</code>: <code>Result</code>
|-
|-
| 0x1B
| 0x1B
Line 24:
Line 167:
| Timer handle, initial_low, interval_low, initial_high, interval_high
| Timer handle, initial_low, interval_low, initial_high, interval_high
| Result
| Result
+
|-
+
| 0x28
+
| GetSystemTick
+
| None
+
|
+
<code>r0</code>: <code>Low 32 bits of the tick count</code>
+
<br><code>r1</code>: <code>High 32 bits of the tick count</code>
|-
|-
| 0x2D
| 0x2D
| ConnectToPort
| ConnectToPort
−
| ??, pointer to port name
+
| ??<br><code>r1</code>: <code>pointer to port name</code>
−
| Result, handle to [[KClientSession]]
+
| <code>r0</code>: <code>Result</code><br><code>r1</code>: <code>handle to [[KClientSession]]</code>
|-
|-
| 0x32
| 0x32
| SendSyncRequest
| SendSyncRequest
−
| handle to [[KClientSession]]
+
| <code>r0</code>: <code>handle to [[KClientSession]]</code>
−
| Result
+
| <code>r0</code>: <code>Result<code>
|}
|}