Difference between revisions of "Kernel ABI"
Jump to navigation
Jump to search
(Add ControlMemory) |
(Add up to GetProcessIdealProcessor) |
||
Line 19: | Line 19: | ||
<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 addr_out</code> | ||
+ | |- | ||
+ | | 0x02 | ||
+ | | QueryMemory | ||
+ | | | ||
+ | <code>r2</code>?: <code>u32 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>u32 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 | ||
+ | |- | ||
+ | | 0x04 | ||
+ | | GetProcessAffinityMask | ||
+ | | | ||
+ | <code>r0</code>: <code>[out] u8* affinitymask</code><br> | ||
+ | <code>r1</code>: <code>Handle process</code><br> | ||
+ | <code>r2</code>: <code>s32 processorcount</code> | ||
+ | | | ||
+ | <code>r0</code>: <code>Result</code> | ||
+ | |- | ||
+ | | 0x04 | ||
+ | | SetProcessAffinityMask | ||
+ | | | ||
+ | <code>r0</code>: <code>Handle process</code><br> | ||
+ | <code>r1</code>: <code>[in] u8* affinitymask</code><br> | ||
+ | <code>r2</code>: <code>s32 processorcount</code> | ||
+ | | | ||
+ | <code>r0</code>: <code>Result</code> | ||
+ | |- | ||
+ | | 0x05 | ||
+ | | GetProcessIdealProcessor | ||
+ | | | ||
+ | <code>r1</code>?: <code>Handle process</code> | ||
+ | | | ||
+ | <code>r0</code>: <code>Result</code><br> | ||
+ | <code>r1</code>: <code>s32 processorid</code> | ||
|- | |- | ||
| 0x1B | | 0x1B |
Revision as of 19:33, 4 January 2018
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 |
|
|
0x02 | QueryMemory |
|
|
0x03 | ExitProcess | None | None |
0x04 | GetProcessAffinityMask |
|
|
0x04 | SetProcessAffinityMask |
|
|
0x05 | GetProcessIdealProcessor |
|
|
0x1B | SetTimer | Timer handle, initial_low, interval_low, initial_high, interval_high | Result |
0x2D | ConnectToPort | ??, pointer to port name | Result, handle to KClientSession |
0x32 | SendSyncRequest | handle to KClientSession | Result |