Changes

Jump to navigation Jump to search
1,031 bytes added ,  00:59, 24 December 2017
no edit summary
Line 125: Line 125:  
| 0x45 || svcCreateEvent || None || W0=result, W1=client_handle ?, W2=server_handle ?
 
| 0x45 || svcCreateEvent || None || W0=result, W1=client_handle ?, W2=server_handle ?
 
|- style="border-top: double"
 
|- style="border-top: double"
| 0x4B || [4.0.0+] svcCreateUnknownMemory || ||
+
| 0x4B || [4.0.0+] svcCreateJitMemory || X1=addr, X2=size || W0=result, W1=jit_handle
 
|-
 
|-
| 0x4C || [4.0.0+] || ||
+
| 0x4C || [4.0.0+] [[#svcMapJitMemory]] || W0=jit_handle, W1=[[#MapJitOperation]], X2=dstaddr, X3=size, W4=perm || W0=result
 
|-
 
|-
 
| 0x4D || svcSleepSystem || None || None
 
| 0x4D || svcSleepSystem || None || None
Line 818: Line 818:     
'''0xf601:''' Port remote dead. One of the sessions has been closed. HandleIndex is set appropriately.
 
'''0xf601:''' Port remote dead. One of the sessions has been closed. HandleIndex is set appropriately.
 +
 +
== svcCreateJitMemory ==
 +
Takes an address range with backing memory to create the JIT memory object.
 +
 +
The memory is initially memset to 0xFF after being locked.
 +
 +
== svcMapJitMemory ==
 +
Maps the backing memory for a JIT memory object into the current process.
 +
 +
If operation is JitMapOperation_MapOwner, permission must be RW-.
 +
 +
If operation is JitMapOperation_MapSlave, permission must be R-- or R-X.
 +
 +
This allows one "secure JIT" process to map the memory as RW-, and the other "slave" process to map it R-X.
    
== svcReadWriteRegister ==
 
== svcReadWriteRegister ==
Line 1,349: Line 1,363:  
| 38 || DeviceName_NVDEC1
 
| 38 || DeviceName_NVDEC1
 
|}
 
|}
 +
 +
== MapJitOperation ==
 +
{| class=wikitable
 +
! Value || Name
 +
|-
 +
| 0 || MapJitOperation_MapOwner
 +
|-
 +
| 1 || MapJitOperation_MapSlave
 +
|-
 +
| 2 || MapJitOperation_UnmapOwner
 +
|-
 +
| 3 || MapJitOperation_UnmapSlave
 +
|}
 +
    
== LimitableResource ==
 
== LimitableResource ==
Line 1,517: Line 1,545:  
| 24 || [[#svcSetMemoryAttribute|AttributeChangeAllowed]]
 
| 24 || [[#svcSetMemoryAttribute|AttributeChangeAllowed]]
 
|-
 
|-
| 25 || [4.0.0+] UnknownMemoryAllowed
+
| 25 || [4.0.0+] JitMemoryAllowed
 
|}
 
|}
   Line 1,582: Line 1,610:  
|-
 
|-
 
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].
 
| 0x00002013 || MemoryType_KernelStack || Mapped in kernel during [[#svcCreateThread]].
 +
|-
 +
| 0x00402214 || MemoryType_JitReadOnly || Mapped in kernel during [[#svcMapJitMemory]].
 +
|-
 +
| 0x00402015 || MemoryType_JitWritable || Mapped in kernel during [[#svcMapJitMemory]].
 
|}
 
|}
  

Navigation menu