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 | | | 0x02 |
| | QueryMemory | | | QueryMemory |
| | | | | |
− | <code>r2</code>?: <code>u32 addr</code> | + | <code>r2</code>?: <code>u32/void* addr</code> |
| | | | | |
| <code>r0</code>: <code>Result</code><br> | | <code>r0</code>: <code>Result</code><br> |
| <code>r1</code>: <code>u32 base_process_virtual_address</code><br> | | <code>r1</code>: <code>u32 base_process_virtual_address</code><br> |
| <code>r2</code>: <code>u32 size</code><br> | | <code>r2</code>: <code>u32 size</code><br> |
− | <code>r3</code>: <code>u32 permission</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>r4</code>: <code>[[Memory_Management#enum_MemoryState|MemoryState]] state</code><br> |
| <code>r5</code>: <code>[[Memory_Management#enum_PageFlags|PageFlags]] page_flags</code> | | <code>r5</code>: <code>[[Memory_Management#enum_PageFlags|PageFlags]] page_flags</code> |
Line 35: |
Line 35: |
| | ExitProcess | | | ExitProcess |
| | None | | | None |
− | | None | + | | None, doesn't return |
| |- | | |- |
| | 0x04 | | | 0x04 |
Line 41: |
Line 41: |
| | | | | |
| <code>r0</code>: <code>[out] u8* affinitymask</code><br> | | <code>r0</code>: <code>[out] u8* affinitymask</code><br> |
− | <code>r1</code>: <code>Handle process</code><br> | + | <code>r1</code>: <code>Handle<[[KProcess]]> process</code><br> |
| <code>r2</code>: <code>s32 processorcount</code> | | <code>r2</code>: <code>s32 processorcount</code> |
| | | | | |
| <code>r0</code>: <code>Result</code> | | <code>r0</code>: <code>Result</code> |
| |- | | |- |
− | | 0x04 | + | | 0x05 |
| | SetProcessAffinityMask | | | SetProcessAffinityMask |
| | | | | |
− | <code>r0</code>: <code>Handle process</code><br> | + | <code>r0</code>: <code>Handle<[[KProcess]]> process</code><br> |
− | <code>r1</code>: <code>[in] u8* affinitymask</code><br> | + | <code>r1</code>: <code>[in] const u8* affinitymask</code><br> |
| <code>r2</code>: <code>s32 processorcount</code> | | <code>r2</code>: <code>s32 processorcount</code> |
| | | | | |
| <code>r0</code>: <code>Result</code> | | <code>r0</code>: <code>Result</code> |
| |- | | |- |
− | | 0x05 | + | | 0x06 |
| | GetProcessIdealProcessor | | | GetProcessIdealProcessor |
| | | | | |
− | <code>r1</code>?: <code>Handle process</code> | + | <code>r1</code>?: <code>Handle<[[KProcess]]> process</code> |
| | | | | |
| <code>r0</code>: <code>Result</code><br> | | <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>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 67: |
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> |
| |} | | |} |