Difference between revisions of "Thread Local Storage"
Jump to navigation
Jump to search
(Created page with "Each thread is given a 0x200-byte thread-local-storage block by the kernel. It is used during IPC communications. {| class="wikitable" border="1" |- ! ...") |
|||
Line 1: | Line 1: | ||
Each thread is given a 0x200-byte thread-local-storage block by the kernel. It is used during [[IPC_Command_Structure|IPC communications]]. | Each thread is given a 0x200-byte thread-local-storage block by the kernel. It is used during [[IPC_Command_Structure|IPC communications]]. | ||
+ | A pointer to the thread-local-storage can be read using the ARM instruction: | ||
+ | mrc 15, 0, rX, cr13, cr0, 3 | ||
+ | |||
+ | Every application has RW access to its thread-local-storage. | ||
+ | |||
+ | The kernel requires the application to put IPC parameters and IPC static buffers inside the thread-local-storage: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- |
Revision as of 22:35, 3 September 2014
Each thread is given a 0x200-byte thread-local-storage block by the kernel. It is used during IPC communications.
A pointer to the thread-local-storage can be read using the ARM instruction:
mrc 15, 0, rX, cr13, cr0, 3
Every application has RW access to its thread-local-storage.
The kernel requires the application to put IPC parameters and IPC static buffers inside the thread-local-storage:
Offset | Size | Description |
---|---|---|
0 | 0x80 | Undefined, can be used by application for any purpose. |
0x80 | 0x100 | IPC command with parameters |
0x180 | 0x80 | IPC static buffers |