Changes

416 bytes added ,  23:08, 24 July 2020
better disable count/interrupt flag notes
Line 7: Line 7:  
! Size
 
! Size
 
! Description
 
! Description
 +
! Notes
 
|-
 
|-
 
| 0x0
 
| 0x0
 
| 0x100
 
| 0x100
 
| [[IPC_Marshalling|IPC]] command buffer.
 
| [[IPC_Marshalling|IPC]] command buffer.
 +
|
 
|-
 
|-
 
| [8.0.0+] 0x100
 
| [8.0.0+] 0x100
| 0x4
+
| 0x2
| Preemption State
+
| User Disable Count
 +
| If userland sets this to non-zero, kernel will pin the thread and disallow calls to almost all SVCs.
 +
|-
 +
| [8.0.0+] 0x102
 +
| 0x2
 +
| Interrupt Flag
 +
| If a context switch would have occurred when user disable count was non-zero, kernel will set this to 1. This signifies that the user must call [[SVC#SynchronizePreemptionState|SynchronizePreemptionState]] to unpin itself and regain access other SVCs.
 
|-
 
|-
 
| 0x104
 
| 0x104
 
| 0xF4
 
| 0xF4
 
| Unknown.
 
| Unknown.
 +
|
 
|-
 
|-
 
| 0x1F8
 
| 0x1F8
 
| 0x8
 
| 0x8
 
| Pointer to [[Thread_Local_Storage#Thread_context|thread context]].
 
| Pointer to [[Thread_Local_Storage#Thread_context|thread context]].
 +
|
 
|}
 
|}