Changes

Jump to navigation Jump to search
110 bytes added ,  21:18, 15 March 2018
Official svc names through 4.0.0
Line 91: Line 91:  
| 0x2B || svcFlushDataCache || X0=addr, X1=size || W0=result
 
| 0x2B || svcFlushDataCache || X0=addr, X1=size || W0=result
 
|-
 
|-
| 0x2C || [3.0.0+] [[#svcAllocateHeapMemory]] || X0=addr, X1=size || W0=result
+
| 0x2C || [3.0.0+] [[#svcMapPhysicalMemory]] || X0=addr, X1=size || W0=result
 
|-
 
|-
| 0x2D || [3.0.0+] svcFreeHeapMemory || X0=addr, X1=size || W0=result
+
| 0x2D || [3.0.0+] svcUnmapPhysicalMemory || X0=addr, X1=size || W0=result
 
|-
 
|-
 
| 0x2E || [5.0.0+] svcGetNextThreadInfo || X3=timeout || W0=result, bunch of crap
 
| 0x2E || [5.0.0+] svcGetNextThreadInfo || X3=timeout || W0=result, bunch of crap
Line 107: Line 107:  
| 0x33 || svcGetThreadContext3 || W0=thread_handle, W1=[[#ThreadContext]]* || W0=result
 
| 0x33 || svcGetThreadContext3 || W0=thread_handle, W1=[[#ThreadContext]]* || W0=result
 
|-
 
|-
| 0x34 || [4.0.0+] || X0=ptr, W1=type, X2=? X3=timeout ||
+
| 0x34 || [4.0.0+] svcWaitForAddress || X0=ptr, W1=ArbitrationType, X2=? X3=timeout ||
 
|-
 
|-
| 0x35 || [4.0.0+] || X0=ptr, W1=type, X2=? W3=? ||
+
| 0x35 || [4.0.0+] svcSignalToAddress || X0=ptr, W1=SignalType, X2=? W3=? ||
 
|- style="border-top: double"
 
|- style="border-top: double"
 
| 0x3C || [[#svcDumpInfo]] || ||
 
| 0x3C || [[#svcDumpInfo]] || ||
Line 133: Line 133:  
| 0x4A || [5.0.0+] svcSetUserHeapMemoryAllocationMax || X0=size || W0=result
 
| 0x4A || [5.0.0+] svcSetUserHeapMemoryAllocationMax || X0=size || W0=result
 
|-
 
|-
| 0x4B || [4.0.0+] [[#svcCreateJitMemory]] || X1=addr, X2=size || W0=result, W1=jit_handle
+
| 0x4B || [4.0.0+] [[#svcCreateCodeMemory]] || X1=addr, X2=size || W0=result, W1=jit_handle
 
|-
 
|-
| 0x4C || [4.0.0+] [[#svcMapJitMemory]] || W0=jit_handle, W1=[[#MapJitOperation]], X2=dstaddr, X3=size, W4=perm || W0=result
+
| 0x4C || [4.0.0+] [[#svcControlCodeMemory]] || W0=jit_handle, W1=[[#CodeMemoryOperation]], X2=dstaddr, X3=size, W4=perm || W0=result
 
|-
 
|-
 
| 0x4D || svcSleepSystem || None || None
 
| 0x4D || svcSleepSystem || None || None
Line 786: Line 786:  
|}
 
|}
   −
== svcAllocateHeapMemory ==
+
== svcMapPhysicalMemory ==
 
This is like svcSetHeapSize except you can allocate heap at any address you'd like.
 
This is like svcSetHeapSize except you can allocate heap at any address you'd like.
   Line 863: Line 863:  
Same as [[#svcAllocateHeapMemory]] except it always uses pool partition 0.
 
Same as [[#svcAllocateHeapMemory]] except it always uses pool partition 0.
   −
== svcCreateJitMemory ==
+
== svcCreateCodeMemory ==
 
Takes an address range with backing memory to create the JIT memory object.
 
Takes an address range with backing memory to create the JIT memory object.
    
The memory is initially memset to 0xFF after being locked.
 
The memory is initially memset to 0xFF after being locked.
   −
== svcMapJitMemory ==
+
== svcControlMemory ==
Maps the backing memory for a JIT memory object into the current process.
+
Maps the backing memory for a Code memory object into the current process.
   −
For [[#MapJitOperation|MapJitOperation_MapOwner]], memory permission must be RW-.
+
For [[#CodeMemoryOperation|CodeMemoryOperation_MapOwner]], memory permission must be RW-.
   −
For [[#MapJitOperation|MapJitOperation_MapSlave]], memory permission must be R-- or R-X.
+
For [[#CodeMemoryOperation|CodeMemoryOperation_MapSlave]], memory permission must be R-- or R-X.
   −
Operations [[#MapJitOperation|MapJitOperation_UnmapOwner/MapJitOperation_UnmapSlave]] unmap memory that was previously mapped this way.
+
Operations [[#CodeMemoryOperation|CodeMemoryOperation_UnmapOwner/CodeMemoryOperation_UnmapSlave]] unmap memory that was previously mapped this way.
    
This allows one "secure JIT" process to map the memory as RW-, and the other "slave" process to map it R-X.
 
This allows one "secure JIT" process to map the memory as RW-, and the other "slave" process to map it R-X.
Line 1,697: Line 1,697:  
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].
 
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].
 
|-
 
|-
| 0x00402214 || [4.0.0+] MemoryType_JitReadOnly || Mapped in kernel during [[#svcMapJitMemory]].
+
| 0x00402214 || [4.0.0+] MemoryType_CodeReadOnly || Mapped in kernel during [[#svcControlCodeMemory]].
 
|-
 
|-
| 0x00402015 || [4.0.0+] MemoryType_JitWritable || Mapped in kernel during [[#svcMapJitMemory]].
+
| 0x00402015 || [4.0.0+] MemoryType_CodeWritable || Mapped in kernel during [[#svcControlCodeMemory]].
 
|}
 
|}
  

Navigation menu