Changes

694 bytes added ,  18:45, 2 December 2016
no edit summary
Line 33: Line 33:  
| u32[4]
 
| u32[4]
 
| SVC access control data copied from KThread's owner process
 
| SVC access control data copied from KThread's owner process
 +
|-
 +
| 0xF48 (page_end - 0xB8)
 +
| u8[4]
 +
| Debug info (read by the SVC handler):
 +
0: Bit0: reschedule.  Bit1: switch context. If non zero, and depending on <code>*((u8 *)currentThread + 0x36)</code>, send thread exit debug events after handling valid/authorized SVCs (except 0xFF). Cleared to zero after handling.
 +
 +
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).
 +
 +
2: ?
 +
 +
3: ID of the SVC being handled (reset to 0 when done).
 +
|-
 +
| 0xF4C (page_end - 0xB4)
 +
| u32
 +
| If non-zero, reloads <code>{r0-r7, r12, lr}</code> (otherwise skipped) from the stack after handling a SVC.
 
|-
 
|-
 
| 0xF50 (page_end - 0xB0)
 
| 0xF50 (page_end - 0xB0)