Changes

581 bytes added ,  18:30, 7 August 2018
lol wat
Line 183: Line 183:  
| 0x63 || svcGetDebugEvent || X0=[[#DebugEventInfo]]*, W1=debug_handle || W0=result
 
| 0x63 || svcGetDebugEvent || X0=[[#DebugEventInfo]]*, W1=debug_handle || W0=result
 
|-
 
|-
| 0x64 || svcContinueDebugEvent || W0=debug_handle, W1=[[#ContinueDebugFlags]], X2=thread_id || W0=result
+
| 0x64 || svcContinueDebugEvent || [Until 3.0.0] W0=debug_handle, W1=[[#ContinueDebugFlagsOld]], X2=thread_id
 +
[3.0.0 +] W0=debug_handle, W1=[[#ContinueDebugFlags]], X2=thread_id_list(u64 *), W3=num_tids (max 64, 0 means "all threads")
 +
|| W0=result
 
|-
 
|-
 
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out  
 
| 0x65 || svcGetProcessList || X1=pids_out_ptr, W2=max_out || W0=result, W1=num_out  
Line 1,801: Line 1,803:  
| 0x2 || SignalAndModifyBasedOnWaitingThreadCountIfEqual
 
| 0x2 || SignalAndModifyBasedOnWaitingThreadCountIfEqual
 
|-
 
|-
 +
|}
 +
 +
== ContinueDebugFlagsOld ==
 +
Until [[3.0.0]]:
 +
 +
{| class=wikitable
 +
! Bit || Bitmask || Description
 +
|-
 +
| 0 || 1 || CancelSynchronization (cancels with error 0x6C01)
 +
|-
 +
| 1 || 2 || SwallowException
 +
|-
 +
| 2 || 4 || ResumeAllThreads
 
|}
 
|}
    
== ContinueDebugFlags ==
 
== ContinueDebugFlags ==
 +
Starting from [[3.0.0]]:
 +
 
{| class=wikitable
 
{| class=wikitable
 
! Bit || Bitmask || Description
 
! Bit || Bitmask || Description
 
|-
 
|-
| 0 || 1 || CancelSynchronization (only if ResumeAllThreads is set; cancels with error 0x6C01)
+
| 0 || 1 || CancelSynchronization (cancels with error 0x6C01)
 
|-
 
|-
 
| 1 || 2 || SwallowException
 
| 1 || 2 || SwallowException
 
|-
 
|-
| 2 || 4 || ResumeAllThreads
+
| 2 || 4 || Resume
 +
|-
 +
| 3 || 8 || CancelSynchronizationInverted
 
|}
 
|}
 +
 +
CancelSynchronizationInverted is like CancelSynchronization but acts on all threads that aren't in the input list.
 +
 +
If the input number of threads is 0, this means "all threads".
    
== DebugEventInfo ==
 
== DebugEventInfo ==
88

edits