Thread Local Region: Difference between revisions

Thog (talk | contribs)
mNo edit summary
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]].
|
|}
|}