Changes

Jump to navigation Jump to search
3,724 bytes added ,  11:49, 14 October 2017
no edit summary
Line 933: Line 933:     
== svcMapDeviceAddressSpaceByForce ==
 
== svcMapDeviceAddressSpaceByForce ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0 || u64 || <code>Device as Handle</code>
 +
|-
 +
| (In) W1 || u64 || <code>Process Handle</code>
 +
|-
 +
| (In) X2 || u64 || <code>Device Map Addr</code>
 +
|-
 +
| (In) X3 || u64 || <code>Device as Size</code>
 +
|-
 +
| (In) X4 || u64 || <code>Device as Addr</code>
 +
|-
 +
| (In) W5 || u64 || <code>Permissions</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
 +
 
'''Description:''' Maps an attached device address space to an userspace address.
 
'''Description:''' Maps an attached device address space to an userspace address.
   Line 940: Line 962:     
== svcMapDeviceAddressSpaceAligned ==
 
== svcMapDeviceAddressSpaceAligned ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0 || u64 || <code>Device as Handle</code>
 +
|-
 +
| (In) W1 || u64 || <code>Process Handle</code>
 +
|-
 +
| (In) X2 || u64 || <code>Device Map Addr</code>
 +
|-
 +
| (In) X3 || u64 || <code>Device as Size</code>
 +
|-
 +
| (In) X4 || u64 || <code>Device as Addr</code>
 +
|-
 +
| (In) W5 || u64 || <code>Permissions</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
 +
 
'''Description:''' Maps an attached device address space to an userspace address.
 
'''Description:''' Maps an attached device address space to an userspace address.
   Line 945: Line 989:     
== svcUnmapDeviceAddressSpace ==
 
== svcUnmapDeviceAddressSpace ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0 || u64 || <code>Device as Handle</code>
 +
|-
 +
| (In) W1 || u64 || <code>Process Handle</code>
 +
|-
 +
| (In) X2 || u64 || <code>Device Map Addr</code>
 +
|-
 +
| (In) X3 || u64 || <code>Device as Size</code>
 +
|-
 +
| (In) X4 || u64 || <code>Device as Addr</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
 +
 
'''Description:''' Unmaps an attached device address space from an userspace address.
 
'''Description:''' Unmaps an attached device address space from an userspace address.
    
== svcMapProcessMemory ==
 
== svcMapProcessMemory ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X0 || u64 || <code>Src Addr</code>
 +
|-
 +
| (In) W1 || u64 || <code>Process Handle</code>
 +
|-
 +
| (In) X2 || u64 || <code>Dest Addr</code>
 +
|-
 +
| (In) X3 || u64 || <code>Size</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
 +
 
Maps the src address from the supplied process handle into the current process.
 
Maps the src address from the supplied process handle into the current process.
   Line 953: Line 1,035:     
== svcUnmapProcessMemory ==
 
== svcUnmapProcessMemory ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0 || u64 || <code>Process Handle</code>
 +
|-
 +
| (In) X1 || u64 || <code>Dest Addr</code>
 +
|-
 +
| (In) X2 || u64 || <code>Src Addr</code>
 +
|-
 +
| (In) X3 || u64 || <code>Size</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
 +
 
Unmaps what was mapped by [[#svcMapProcessMemory]].
 
Unmaps what was mapped by [[#svcMapProcessMemory]].
    
== svcQueryProcessMemory ==
 
== svcQueryProcessMemory ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X0 || u64 || <code>Meminfo Pointer</code>
 +
|-
 +
| (In) W2 || u64 || <code>Process Handle</code>
 +
|-
 +
| (In) X3 || u64 || <code>Addr</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|-
 +
| (Out) W1 || PageInfo || <code>Page Info</code>
 +
|}
 +
</div>
 +
 
Equivalent to [[#svcQueryMemory]] except takes a process handle.
 
Equivalent to [[#svcQueryMemory]] except takes a process handle.
    
== svcMapProcessCodeMemory ==
 
== svcMapProcessCodeMemory ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0 || u64 || <code>Process Handle</code>
 +
|-
 +
| (In) X1 || u64 || <code>Dest Addr</code>
 +
|-
 +
| (In) X2 || u64 || <code>Src Addr</code>
 +
|-
 +
| (In) X3 || u64 || <code>Size</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
 +
 
Takes a process handle, and maps normal heap in that process as executable code in that process. Used when loading NROs.
 
Takes a process handle, and maps normal heap in that process as executable code in that process. Used when loading NROs.
    
== svcUnmapProcessCodeMemory ==
 
== svcUnmapProcessCodeMemory ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0 || u64 || <code>Process Handle</code>
 +
|-
 +
| (In) X1 || u64 || <code>Dest Addr</code>
 +
|-
 +
| (In) X2 || u64 || <code>Src Addr</code>
 +
|-
 +
| (In) X3 || u64 || <code>Size</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
 +
 
Unmaps what was mapped by [[#svcMapProcessCodeMemory]].
 
Unmaps what was mapped by [[#svcMapProcessCodeMemory]].
    
== svcCreateProcess ==
 
== svcCreateProcess ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X1 || u64 || <code>ProcInfo Pointer</code>
 +
|-
 +
| (In) X2 || u64 || <code>Capabilities Pointer</code>
 +
|-
 +
| (In) X3 || u64 || <code>Capibility Num</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|-
 +
| (Out) W1 || u64 || <code>Process Handle</code>
 +
|}
 +
</div>
 +
 
Takes a [[#CreateProcessInfo]] as input.
 
Takes a [[#CreateProcessInfo]] as input.
    
== svcGetProcessInfo ==
 
== svcGetProcessInfo ==
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0 || u64 || <code>Process Handle</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|-
 +
| (Out) W1 || [[#ProcessState|| <code>Process State</code>
 +
|}
 +
</div>
 +
 
Returns an enum with value 0-7.
 
Returns an enum with value 0-7.
  
48

edits

Navigation menu