Kernel ABI: Difference between revisions

Phijor (talk | contribs)
No edit summary
ElementW (talk | contribs)
Add up to SetThreadAffinityMask
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>
Line 35: Line 35:
| ExitProcess
| ExitProcess
| None
| None
| None
| None, doesn't return
|-
|-
| 0x04
| 0x04
Line 46: Line 46:
<code>r0</code>: <code>Result</code>
<code>r0</code>: <code>Result</code>
|-
|-
| 0x04
| 0x05
| SetProcessAffinityMask
| SetProcessAffinityMask
|
|
Line 55: Line 55:
<code>r0</code>: <code>Result</code>
<code>r0</code>: <code>Result</code>
|-
|-
| 0x05
| 0x06
| GetProcessIdealProcessor
| GetProcessIdealProcessor
|
|
Line 61: Line 61:
|
|
<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 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 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 thread_handle</code><br>
<code>r1</code>: <code>s32 thread_priority</code>
|
<code>r0</code>: <code>Result</code>
|-
| 0x0D
| GetThreadAffinityMask
|
<code>r0</code>: <code>u8* affinitymask</code><br>
<code>r1</code>: <code>Handle thread_handle</code><br>
<code>r2</code>: <code>s32 processorcount</code>
|
<code>r0</code>: <code>Result</code>
|-
| 0x0E
| SetThreadAffinityMask
|
<code>r0</code>: <code>Handle thread_handle</code><br>
<code>r1</code>: <code>const u8* affinitymask</code><br>
<code>r2</code>: <code>s32 processorcount</code>
|
<code>r0</code>: <code>Result</code>
|-
|-
| 0x24
| 0x24