Kernel ABI: Difference between revisions
		
		
		
		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 |