Changes

587 bytes added ,  18:33, 15 December 2016
no edit summary
Line 55: Line 55:  
| [[SVC|DebugEventType]]
 
| [[SVC|DebugEventType]]
 
| Type of the latest debug event
 
| Type of the latest debug event
 +
|-
 +
| 0x24
 +
| u32
 +
| Unknown, probably unused
 
|-
 
|-
 
| 0x28
 
| 0x28
Line 63: Line 67:  
| u32
 
| u32
 
| Debug event flags set by svcContinueDebugEvents
 
| Debug event flags set by svcContinueDebugEvents
Bit0: debugger is attached, bit1: report "EXCEPTION" events (this flag is bypassed for svc 0xFF), bit2 : ?, bit3: ?, bit4: ?
+
Bit0: no exception dumps are made if this is set.
 +
Bit1 and following: report EXCEPTION (this flag is bypassed for svc 0xFF), SCHEDULE, SYSCALL, MAP debug events, respectively.
 
|-
 
|-
 
| 0x30
 
| 0x30
Line 135: Line 140:  
|-
 
|-
 
| 0x74
 
| 0x74
| [[KRecursiveLock]] *
+
| [[KRecursiveLock]]
 
| Recursive lock
 
| Recursive lock
 
|-
 
|-
Line 141: Line 146:  
| [[KThread]]*
 
| [[KThread]]*
 
| Current KThread- used in svcBreak
 
| Current KThread- used in svcBreak
 +
|-
 +
| 0x80
 +
| u8
 +
| Cleared when an EXCEPTION debug event was (attempted to be) signaled (i.e. even when bit2 of the debug flag is clear)
 +
|-
 +
| 0x81
 +
| u8
 +
| Indicates that an EXCEPTION debug event was signaled
 +
|-
 +
| 0x82
 +
| u8
 +
| Indicates that all threads should be unlocked from debug features
 
|-
 
|-
 
| 0x83
 
| 0x83
Line 152: Line 169:  
| 0x85
 
| 0x85
 
| u8
 
| u8
| Set to 1 to indicate the KProcess it belongs to has been terminated
+
| Indicates that the KProcess instance it belongs to has exited (normally ?)
 +
|-
 +
| 0x86
 +
| u8
 +
| Indicates that the KProcess instance it belongs to has been terminated
 
|-
 
|-
 
| 0x87
 
| 0x87
 
| u8
 
| u8
| Unknown (bool?)
+
| Indicates that svcBreak was used and not yet handled by svcContinueDebugEvent
 
|-
 
|-
 
| 0x88
 
| 0x88
Line 191: Line 212:  
|}
 
|}
   −
Exception fields are set for the latest notified exception that occured in userland.
+
"Locked from debug features": this is done by setting bit7 of the thread's scheduling mask, which is checked by debug SVCs afterwards