SVC: Difference between revisions

TuxSH (talk | contribs)
No edit summary
TuxSH (talk | contribs)
No edit summary
Line 79: Line 79:
| 0x25 || svcGetThreadId || W1=thread_handle || W0=result, X1=out
| 0x25 || svcGetThreadId || W1=thread_handle || W0=result, X1=out
|-
|-
| 0x26 || [[#svcBreak]] || X0=break_reason,X1,X2=info || ?
| 0x26 || [[#svcBreak]] || X0=break_reason,X1,X2=info || W0=result = 0
|-
|-
| 0x27 || svcOutputDebugString || X0=str, X1=size || W0=result
| 0x27 || svcOutputDebugString || X0=str, X1=size || W0=result
Line 713: Line 713:
| (In) X2 || u64 || Info
| (In) X2 || u64 || Info
|-
|-
| (Out) ? || ? || ?
| (Out) W0 || Result || 0 (Success)
|}
|}
</div>
</div>


When used on retail where inx0 bit31 is clear, the system will throw a [[Error_codes|fatal-error]]. Otherwise when bit31 is set, it will return 0 and notify the debugger?
[1.0.0] When used on retail where inx0 bit31 is clear, the system will throw a [[Error_codes|fatal-error]]. Otherwise when bit31 is set, it will return 0 and notify the debugger?
 
[Maybe 2.0.0+] If the process is attached, report the Break event. Otherwise, if bit31 in reason isn't set, perform crash reporting (see Exception Handling section below). When Break returns, it returns 0 and TPIDR_EL0 is set to 1.


== svcGetInfo ==
== svcGetInfo ==