Kernel ABI: Difference between revisions

From 3dbrew
Jump to navigation Jump to search
Neobrain (talk | contribs)
No edit summary
ElementW (talk | contribs)
Add ControlMemory
Line 3: Line 3:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Id
ID
!  Name
!  Name
!  Inputs
!  Inputs
!  Outputs
!  Outputs
|-
| 0x01
| ControlMemory
|
<code>r0</code>: <code>[[Memory Management#enum_MemoryOperation|MemoryOperation]] operation</code><br>
<code>r1</code>: <code>u32 addr0</code><br>
<code>r2</code>: <code>u32 addr1</code><br>
<code>r3</code>: <code>u32 size</code><br>
<code>r4</code>: <code>[[Memory Management#enum_MemoryPermission|MemoryPermission]] permissions</code>
|
<code>r0</code>: <code>Result</code><br>
<code>r1</code>: <code>u32 addr_out</code>
|-
|-
| 0x1B
| 0x1B

Revision as of 16:43, 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

r0: MemoryOperation operation
r1: u32 addr0
r2: u32 addr1
r3: u32 size
r4: MemoryPermission permissions

r0: Result
r1: u32 addr_out

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