Changes

2,561 bytes added ,  00:11, 14 October 2017
no edit summary
Line 227: Line 227:  
! Argument || Type || Name
 
! Argument || Type || Name
 
|-
 
|-
| (In) X0 || u64 || <code>Size</code>
+
| (In) W1 || u64 || <code>Size</code>
 
|-
 
|-
 
| (Out) W0 || [[#Result]] || <code>Ret</code>
 
| (Out) W0 || [[#Result]] || <code>Ret</code>
Line 242: Line 242:     
[2.0.0+] <code>Size</code> must be less than 0x18000000.
 
[2.0.0+] <code>Size</code> must be less than 0x18000000.
  −
      
== svcSetMemoryPermission ==
 
== svcSetMemoryPermission ==
Line 251: Line 249:     
This can be used to move back and forth between ---, r-- and rw-.
 
This can be used to move back and forth between ---, r-- and rw-.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X0 || u64 || <code>Addr</code>
 +
|-
 +
| (In) X1 || u64 || <code>Size</code>
 +
|-
 +
| (In) W2 || u64 || <code>Prot</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
    
== svcSetMemoryAttribute ==
 
== svcSetMemoryAttribute ==
Line 258: Line 271:     
What happens "under the hood" is the "Memory Attribute Indirection Register" index is changed from 2 to 3 in the MMU descriptor.
 
What happens "under the hood" is the "Memory Attribute Indirection Register" index is changed from 2 to 3 in the MMU descriptor.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X0 || u64 || <code>Addr</code>
 +
|-
 +
| (In) X1 || u64 || <code>Size</code>
 +
|-
 +
| (In) W2 || u64 || <code>State0</code>
 +
|-
 +
| (In) W3 || u64 || <code>State1</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
    
{| class=wikitable
 
{| class=wikitable
Line 285: Line 315:     
[2.0.0+] Support for the <code>0x482907</code> mappings outside the "MapRegion" were removed.
 
[2.0.0+] Support for the <code>0x482907</code> mappings outside the "MapRegion" were removed.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X0 || u64 || <code>Dst</code>
 +
|-
 +
| (In) X1 || u64 || <code>Src</code>
 +
|-
 +
| (In) X2 || u64 || <code>Size</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
    
== svcUnmapMemory ==
 
== svcUnmapMemory ==
Line 292: Line 337:     
The srcaddr/dstaddr must match what was given when the pages were originally mapped.
 
The srcaddr/dstaddr must match what was given when the pages were originally mapped.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X0 || u64 || <code>Dst</code>
 +
|-
 +
| (In) X1 || u64 || <code>Src</code>
 +
|-
 +
| (In) X2 || u64 || <code>Size</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|}
 +
</div>
    
== svcQueryMemory ==
 
== svcQueryMemory ==
Line 297: Line 357:     
Outputs a [[#MemoryInfo]] struct.
 
Outputs a [[#MemoryInfo]] struct.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X0 || MemoryInfo*|| <code>Mem Info</code>
 +
|-
 +
| (In) X2 || u64 || <code>Addr</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|-
 +
| (Out) W1 || PageInfo || <code>Page Info</code>
 +
|}
 +
</div>
    
== svcExitProcess ==
 
== svcExitProcess ==
 
'''Description:''' Exits the current process.
 
'''Description:''' Exits the current process.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) None || ||
 +
|-
 +
| (Out) None || ||
 +
|}
 +
</div>
    
== svcCreateThread ==
 
== svcCreateThread ==
Line 305: Line 391:     
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process.
 
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) X1 || u64 || <code>Entry</code>
 +
|-
 +
| (In) X2 || u64 || <code>Arg</code>
 +
|-
 +
| (In) X3 || u64 || <code>Stack Top</code>
 +
|-
 +
| (In) W4 || u64 || <code>Priority</code>
 +
|-
 +
| (In) W5 || u64 || <code>Processor ID</code>
 +
|-
 +
| (Out) W0 || [[#Result]] || <code>Ret</code>
 +
|-
 +
| (Out) W1 || Handle || <code>Handle</code>
 +
|}
 +
</div>
    
== svcStartThread ==
 
== svcStartThread ==
 
'''Description:''' Starts the thread for the provided handle.
 
'''Description:''' Starts the thread for the provided handle.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) W0|| u64 || <code>Handle</code>
 +
|-
 +
| (Out) None ||  ||
 +
|}
 +
</div>
    
== svcExitThread ==
 
== svcExitThread ==
 
'''Description:''' Exits the current thread.
 
'''Description:''' Exits the current thread.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) None || ||
 +
|-
 +
| (Out) None || ||
 +
|}
 +
</div>
    
== svcSleepThread ==
 
== svcSleepThread ==
Line 335: Line 464:     
Cpu-id is an integer in the range 0-3.
 
Cpu-id is an integer in the range 0-3.
 +
 +
<div style="display: inline-block;">
 +
{| class="wikitable" border="1"
 +
|-
 +
! Argument || Type || Name
 +
|-
 +
| (In) None || ||
 +
|-
 +
| (Out) W0/X0 || u64 || <code>CPU ID</code>
 +
|}
 +
</div>
    
== svcMapSharedMemory ==
 
== svcMapSharedMemory ==
48

edits