Kernel ABI: Difference between revisions

ElementW (talk | contribs)
m [in] & [out] qualifiers on some pointers
Peachy (talk | contribs)
Specify GetSystemTick ABI
 
(3 intermediate revisions by 2 users not shown)
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>
|
|
Line 49: Line 49:
| SetProcessAffinityMask
| SetProcessAffinityMask
|
|
<code>r0</code>: <code>Handle process</code><br>
<code>r0</code>: <code>Handle<[[KProcess]]> process</code><br>
<code>r1</code>: <code>[in] const 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>
Line 58: Line 58:
| 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>
Line 67: Line 67:
| SetProcessIdealProcessor
| SetProcessIdealProcessor
|
|
<code>r0</code>: <code>Handle process</code><br>
<code>r0</code>: <code>Handle<[[KProcess]]> process</code><br>
<code>r1</code>: <code>s32 processorid</code>
<code>r1</code>: <code>s32 processorid</code>
|
|
Line 82: Line 82:
|
|
<code>r0</code>: <code>Result</code><br>
<code>r0</code>: <code>Result</code><br>
<code>r1</code>: <code>Handle thread_handle</code>
<code>r1</code>: <code>Handle<[[KThread]]> thread_handle</code>
|-
|-
| 0x09
| 0x09
Line 108: Line 108:
| SetThreadPriority
| SetThreadPriority
|
|
<code>r0</code>: <code>Handle thread_handle</code><br>
<code>r0</code>: <code>Handle<[[KThread]]> thread_handle</code><br>
<code>r1</code>: <code>s32 thread_priority</code>
<code>r1</code>: <code>s32 thread_priority</code>
|
|
Line 117: Line 117:
|
|
<code>r0</code>: <code>[out] u8* affinitymask</code><br>
<code>r0</code>: <code>[out] u8* affinitymask</code><br>
<code>r1</code>: <code>Handle thread_handle</code><br>
<code>r1</code>: <code>Handle<[[KThread]]> thread_handle</code><br>
<code>r2</code>: <code>s32 processorcount</code>
<code>r2</code>: <code>s32 processorcount</code>
|
|
Line 125: Line 125:
| SetThreadAffinityMask
| SetThreadAffinityMask
|
|
<code>r0</code>: <code>Handle thread_handle</code><br>
<code>r0</code>: <code>Handle<[[KThread]]> thread_handle</code><br>
<code>r1</code>: <code>[in] const 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>
|-
| 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
| 0x24
| WaitSynchronization1
| WaitSynchronization1
|
|
<code>r0</code>: <code>Handle handle</code><br>
<code>r0</code>: <code>Handle<[[KSynchronizationObject]]> handle</code><br>
<code>r2-r3</code>: <code>s64 timeout</code>
<code>r2-r3</code>: <code>s64 timeout</code>
|
|
Line 143: 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>
|}
|}