Changes

964 bytes added ,  20:34, 5 April 2017
no edit summary
Line 79: Line 79:  
| 0x28 || svcPanic || X0=error? ||
 
| 0x28 || svcPanic || X0=error? ||
 
|-
 
|-
| 0x29 || svcGetHandleInfo || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out
+
| 0x29 || [[#svcGetHandleInfo]] || X1=info_id, X2=handle, X3=info_sub_id || W0=result, X1=out
 
|-
 
|-
 
| .... || ? || ? || ?
 
| .... || ? || ? || ?
Line 143: Line 143:     
Does not accept 0xFFFF8001 or 0xFFFF8000 as handles.
 
Does not accept 0xFFFF8001 or 0xFFFF8000 as handles.
 +
 +
== svcGetHandleInfo ==
 +
{| class=wikitable
 +
! Handle type || Id0 || Id1 || Description
 +
|-
 +
| Process || 0 || 0 || Code available mask. Always 0xF meaning all 4 cores available.
 +
|-
 +
| Process || 1 || 0 || Always 0xfffffffff0000000.
 +
|-
 +
| Process || 2 || 0 || Randomized unknown base-address.
 +
|-
 +
| Process || 3 || 0 || Always 0x1000000000.
 +
|-
 +
| Process || 4 || 0 || Randomized heap base-address.
 +
|-
 +
| Process || 5 || 0 || Always 0x180000000.
 +
|-
 +
| Process || 6 || 0 || Total memory usage?
 +
|-
 +
| Process || 7 || 0 || Process heap size.
 +
|-
 +
| Zero    || 8 || 0 || Always 0.
 +
|-
 +
| Zero    || 9 || 0 || This creates and returns an unknown handle.
 +
|-
 +
| Zero    || 10 || -1, 0 || ?
 +
|-
 +
| Zero    || 11 || 0-3 || Returns random from TRNG. Used to seed usermode PRNGs.
 +
|-
 +
| Process || 12 || 0 || Always 0x8000000.
 +
|-
 +
| Process || 13 || 0 || Always 0x7ff8000000.
 +
|-
 +
| Process || 14 || 0 || Start of stack mirror region.
 +
|-
 +
| Process || 15 || 0 || Size of stack mirror region.
 +
|}
    
== svcMapMemoryMirror ==
 
== svcMapMemoryMirror ==