SVC: Difference between revisions
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 == |