Changes

139 bytes added ,  14:56, 24 December 2016
no edit summary
Line 37: Line 37:  
| u8[4]
 
| u8[4]
 
| Debug info (read by the SVC handler):  
 
| Debug info (read by the SVC handler):  
0: Bit0: reschedule.  Bit1: switch context. If non zero, and depending on <code>currentThread->shallTerminate</code>, send thread exit debug events after handling valid/authorized SVCs (except 0xFF). Cleared to zero after handling.  
+
0: Bit0: reschedule.  Bit1: switch context. If non zero, and depending on <code>currentThread->shallTerminate</code>, send thread exit debug events after handling valid/authorized SVCs (except 0xFF). Cleared to zero after handling. Bit2: lock debug features
   −
1: "Allow debug" flag from the process's exheader. If set, <code>{r0-r7, r12, lr}</code> will be pushed (they'll always be when handling invalid/unauthorized SVCs/SVC 0xFF).  
+
1: "Allow debug" flag from the process's exheader. If set, <code>{r0-r7, r12, lr}</code> will be pushed (they'll always be when handling invalid/unauthorized SVCs/SVC 0xFF). Needed for svcGetThreadContext and svcSetThreadContext to work properly in contexts other than exception handling.
    
2: ?
 
2: ?